+ private JMenuItem _sendGpsItem = null;
+ private JMenuItem _saveItem = null;
+ private JMenuItem _exportKmlItem = null;
+ private JMenuItem _exportGpxItem = null;
+ private JMenuItem _exportPovItem = null;
+ private JMenuItem _exportImageItem = null;
+ private JMenu _recentFileMenu = null;
+ private JMenuItem _undoItem = null;
+ private JMenuItem _clearUndoItem = null;
+ private JMenuItem _editPointItem = null;
+ private JMenuItem _editWaypointNameItem = null;
+ private JMenuItem _deletePointItem = null;
+ private JMenuItem _deleteRangeItem = null;
+ private JMenuItem _cropTrackItem = null;
+ private JMenuItem _compressItem = null;
+ private JMenuItem _markRectangleItem = null;
+ private JMenuItem _markUphillLiftsItem = null;
+ private JMenuItem _deleteMarkedPointsItem = null;
+ private JMenuItem _deleteByDateItem = null;
+ private JMenuItem _interpolateItem = null;
+ private JMenuItem _averageItem = null;
+ private JMenuItem _selectAllItem = null;
+ private JMenuItem _selectNoneItem = null;
+ private JMenuItem _selectSegmentItem = null;
+ private JMenuItem _selectStartItem = null;
+ private JMenuItem _selectEndItem = null;
+ private JMenuItem _findWaypointItem = null;
+ private JMenuItem _duplicatePointItem = null;
+ private JMenuItem _reverseItem = null;
+ private JMenuItem _addTimeOffsetItem = null;
+ private JMenuItem _addAltitudeOffsetItem = null;
+ private JMenuItem _mergeSegmentsItem = null;
+ private JMenuItem _rearrangeWaypointsItem = null;
+ private JMenuItem _splitSegmentsItem = null;
+ private JMenuItem _sewSegmentsItem = null;
+ private JMenuItem _createMarkerWaypointsItem = null;
+ private JMenuItem _cutAndMoveItem = null;
+ private JMenuItem _convertNamesToTimesItem = null;
+ private JMenuItem _deleteFieldValuesItem = null;
+ private JCheckBoxMenuItem _mapCheckbox = null;
+ private JMenuItem _show3dItem = null;
+ 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 JMenuItem _downloadSrtmItem = null;
+ private JMenuItem _nearbyWikipediaItem = null;
+ private JMenuItem _nearbyOsmPoiItem = null;
+ private JMenuItem _showPeakfinderItem = null;
+ private JMenuItem _showGeohackItem = null;
+ private JMenuItem _searchOpencachingDeItem = null;
+ private JMenuItem _searchMapillaryItem = null;
+ private JMenuItem _downloadOsmItem = null;
+ private JMenuItem _getWeatherItem = null;
+ private JMenuItem _distanceItem = null;
+ private JMenuItem _fullRangeDetailsItem = null;
+ private JMenuItem _estimateTimeItem = null;
+ private JMenuItem _learnEstimationParams = null;
+ private JMenuItem _autoplayTrack = null;
+ private JMenuItem _saveExifItem = null;
+ private JMenuItem _photoPopupItem = null;
+ private JMenuItem _selectNoPhotoItem = null;
+ private JMenuItem _connectPhotoItem = null;
+ private JMenuItem _removePhotoItem = null;
+ private JMenuItem _disconnectPhotoItem = null;
+ private JMenuItem _correlatePhotosItem = null;
+ private JMenuItem _rearrangePhotosItem = null;
+ private JMenuItem _rotatePhotoLeft = null;
+ private JMenuItem _rotatePhotoRight = null;
+ private JMenuItem _ignoreExifThumb = null;
+ private JMenuItem _connectAudioItem = null;
+ private JMenuItem _disconnectAudioItem = null;
+ private JMenuItem _removeAudioItem = null;
+ private JMenuItem _correlateAudiosItem = null;
+ private JMenuItem _selectNoAudioItem = null;
+ private JCheckBoxMenuItem _onlineCheckbox = null;
+ private JCheckBoxMenuItem _autosaveSettingsCheckbox = null;
+
+ // ActionListeners for reuse by menu and toolbar
+ private ActionListener _openFileAction = null;
+ private ActionListener _addPhotoAction = null;
+ private ActionListener _saveAction = null;
+ private ActionListener _undoAction = null;
+ private ActionListener _editPointAction = null;
+ private ActionListener _deletePointAction = null;
+ private ActionListener _selectStartAction = null;
+ private ActionListener _selectEndAction = null;
+
+ // Toolbar buttons which need enabling/disabling
+ private JButton _saveButton = null;
+ private JButton _undoButton = null;
+ private JButton _editPointButton = null;
+ private JButton _deletePointButton = null;
+ private JButton _deleteRangeButton = null;
+ private JButton _cutAndMoveButton = null;
+ private JButton _selectStartButton = null;
+ private JButton _selectEndButton = null;
+ private JButton _connectButton = null;
+
+ /** Array of key events */
+ private static final int[] KEY_EVENTS = {
+ KeyEvent.VK_A, KeyEvent.VK_B, KeyEvent.VK_C, KeyEvent.VK_D, KeyEvent.VK_E,
+ KeyEvent.VK_F, KeyEvent.VK_G, KeyEvent.VK_H, KeyEvent.VK_I, KeyEvent.VK_J,
+ KeyEvent.VK_K, KeyEvent.VK_L, KeyEvent.VK_M, KeyEvent.VK_N, KeyEvent.VK_O,
+ KeyEvent.VK_P, KeyEvent.VK_Q, KeyEvent.VK_R, KeyEvent.VK_S, KeyEvent.VK_T,
+ KeyEvent.VK_U, KeyEvent.VK_V, KeyEvent.VK_W, KeyEvent.VK_X, KeyEvent.VK_Y, KeyEvent.VK_Z};