X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=src%2Ftim%2Fprune%2Fgui%2FMenuManager.java;fp=src%2Ftim%2Fprune%2Fgui%2FMenuManager.java;h=ed8474ca9b1d41978e9154e9d057c1f72aa20b44;hb=bb34b41a59b7f5fd8c045ed83f1813c730c7fc1e;hp=d3386fe9d61acd073f7e3402fdf0976db18bdaee;hpb=679fd08a78a70745b2890bd53ea942d9bd31d643;p=GpsPrune.git diff --git a/src/tim/prune/gui/MenuManager.java b/src/tim/prune/gui/MenuManager.java index d3386fe..ed8474c 100644 --- a/src/tim/prune/gui/MenuManager.java +++ b/src/tim/prune/gui/MenuManager.java @@ -30,6 +30,9 @@ import tim.prune.data.Selection; import tim.prune.data.Track; import tim.prune.data.TrackInfo; import tim.prune.function.ChooseSingleParameter; +import tim.prune.function.PasteCoordinateList; +import tim.prune.function.PasteCoordinates; +import tim.prune.function.PlusCodeFunction; import tim.prune.function.SearchOpenCachingDeFunction; import tim.prune.function.browser.UrlGenerator; import tim.prune.function.browser.WebMapFunction; @@ -38,6 +41,7 @@ import tim.prune.function.srtm.DownloadSrtmFunction; import tim.prune.function.srtm.SrtmGl1Source; import tim.prune.function.srtm.Srtm3Source; import tim.prune.function.srtm.SrtmViewfinderSource; +import tim.prune.function.settings.SaveConfig; /** * Class to manage the menu bar and tool bar, @@ -78,6 +82,7 @@ public class MenuManager implements DataSubscriber private JMenuItem _selectEndItem = null; private JMenuItem _findWaypointItem = null; private JMenuItem _duplicatePointItem = null; + private JMenuItem _projectPointItem = null; private JMenuItem _reverseItem = null; private JMenuItem _addTimeOffsetItem = null; private JMenuItem _addAltitudeOffsetItem = null; @@ -95,8 +100,6 @@ public class MenuManager implements DataSubscriber private JMenu _browserMapMenu = null; private JMenuItem _routingGraphHopperItem = null; private JMenuItem _chartItem = null; - private JMenuItem _getGpsiesItem = null; - private JMenuItem _uploadGpsiesItem = null; private JMenuItem _lookupSrtmItem = null; private JMenu _downloadSrtmMenu = null; private JMenuItem _nearbyWikipediaItem = null; @@ -108,7 +111,7 @@ public class MenuManager implements DataSubscriber private JMenuItem _downloadOsmItem = null; private JMenuItem _getWeatherItem = null; private JMenuItem _distanceItem = null; - private JMenuItem _fullRangeDetailsItem = null; + private JMenuItem _viewFullDetailsItem = null; private JMenuItem _estimateTimeItem = null; private JMenuItem _learnEstimationParams = null; private JMenuItem _autoplayTrack = null; @@ -273,13 +276,6 @@ public class MenuManager implements DataSubscriber _downloadSrtmMenu.add(downloadStrm3Item); onlineMenu.add(_downloadSrtmMenu); - // Get gpsies tracks - _getGpsiesItem = makeMenuItem(FunctionLibrary.FUNCTION_GET_GPSIES, false); - onlineMenu.add(_getGpsiesItem); - // Upload to gpsies - _uploadGpsiesItem = makeMenuItem(FunctionLibrary.FUNCTION_UPLOAD_GPSIES, false); - onlineMenu.add(_uploadGpsiesItem); - onlineMenu.addSeparator(); // browser submenu _browserMapMenu = new JMenu(I18nManager.getText("menu.view.browser")); @@ -507,9 +503,17 @@ public class MenuManager implements DataSubscriber // duplicate current point _duplicatePointItem = makeMenuItem(FunctionLibrary.FUNCTION_DUPLICATE_POINT, false); pointMenu.add(_duplicatePointItem); + // project current point + _projectPointItem = makeMenuItem(FunctionLibrary.FUNCTION_PROJECT_POINT, false); + pointMenu.add(_projectPointItem); // paste coordinates function - JMenuItem pasteCoordsItem = makeMenuItem(FunctionLibrary.FUNCTION_PASTE_COORDINATES); + JMenuItem pasteCoordsItem = makeMenuItem(new PasteCoordinates(_app)); pointMenu.add(pasteCoordsItem); + JMenuItem pasteCoordsListItem = makeMenuItem(new PasteCoordinateList(_app)); + pointMenu.add(pasteCoordsListItem); + // pluscodes function + JMenuItem plusCodeItem = makeMenuItem(new PlusCodeFunction(_app)); + pointMenu.add(plusCodeItem); menubar.add(pointMenu); // Add view menu @@ -546,8 +550,8 @@ public class MenuManager implements DataSubscriber _distanceItem = makeMenuItem(FunctionLibrary.FUNCTION_DISTANCES, false); viewMenu.add(_distanceItem); // full range details - _fullRangeDetailsItem = makeMenuItem(FunctionLibrary.FUNCTION_FULL_RANGE_DETAILS, false); - viewMenu.add(_fullRangeDetailsItem); + _viewFullDetailsItem = makeMenuItem(FunctionLibrary.FUNCTION_FULL_DETAILS, false); + viewMenu.add(_viewFullDetailsItem); // estimate time _estimateTimeItem = makeMenuItem(FunctionLibrary.FUNCTION_ESTIMATE_TIME, false); viewMenu.add(_estimateTimeItem); @@ -677,7 +681,10 @@ public class MenuManager implements DataSubscriber _autosaveSettingsCheckbox.setSelected(Config.getConfigBoolean(Config.KEY_AUTOSAVE_SETTINGS)); _autosaveSettingsCheckbox.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - Config.setConfigBoolean(Config.KEY_AUTOSAVE_SETTINGS, _autosaveSettingsCheckbox.isSelected()); + final boolean autosaveOn = _autosaveSettingsCheckbox.isSelected(); + Config.setConfigBoolean(Config.KEY_AUTOSAVE_SETTINGS, autosaveOn); + // Maybe want to save config? + new SaveConfig(_app).autosaveSwitched(autosaveOn); } }); settingsMenu.add(_autosaveSettingsCheckbox); @@ -886,7 +893,7 @@ public class MenuManager implements DataSubscriber _markRectangleItem.setEnabled(hasData); _markUphillLiftsItem.setEnabled(hasData && _track.hasAltitudeData()); _deleteMarkedPointsItem.setEnabled(hasData && _track.hasMarkedPoints()); - _rearrangeWaypointsItem.setEnabled(hasData && _track.hasTrackPoints() && _track.hasWaypoints()); + _rearrangeWaypointsItem.setEnabled(hasData && _track.hasWaypoints() && _track.getNumPoints() > 1); final boolean hasSeveralTrackPoints = hasData && _track.hasTrackPoints() && _track.getNumPoints() > 3; _splitSegmentsItem.setEnabled(hasSeveralTrackPoints); _sewSegmentsItem.setEnabled(hasSeveralTrackPoints); @@ -898,8 +905,6 @@ public class MenuManager implements DataSubscriber _browserMapMenu.setEnabled(hasData); _distanceItem.setEnabled(hasData); _autoplayTrack.setEnabled(hasData && _track.getNumPoints() > 3); - _getGpsiesItem.setEnabled(hasData); - _uploadGpsiesItem.setEnabled(hasData && _track.hasTrackPoints()); _lookupSrtmItem.setEnabled(hasData); _nearbyWikipediaItem.setEnabled(hasData); _nearbyOsmPoiItem.setEnabled(hasData); @@ -929,6 +934,7 @@ public class MenuManager implements DataSubscriber _selectEndItem.setEnabled(hasPoint); _selectEndButton.setEnabled(hasPoint); _duplicatePointItem.setEnabled(hasPoint); + _projectPointItem.setEnabled(hasPoint); _showPeakfinderItem.setEnabled(hasPoint); _showGeohackItem.setEnabled(hasPoint); _searchOpencachingDeItem.setEnabled(hasPoint); @@ -977,7 +983,7 @@ public class MenuManager implements DataSubscriber _removeAltitudesItem.setEnabled(hasRange); _convertNamesToTimesItem.setEnabled(hasRange && _track.hasWaypoints()); _deleteFieldValuesItem.setEnabled(hasRange); - _fullRangeDetailsItem.setEnabled(hasRange); + _viewFullDetailsItem.setEnabled(hasRange || hasPoint); _estimateTimeItem.setEnabled(hasRange); _learnEstimationParams.setEnabled(hasData && _track.hasTrackPoints() && _track.hasData(Field.TIMESTAMP) && _track.hasAltitudeData());