+ // Audio menu
+ JMenu audioMenu = new JMenu(I18nManager.getText("menu.audio"));
+ setAltKey(audioMenu, "altkey.menu.audio");
+ addAudioMenuItem = makeMenuItem(FunctionLibrary.FUNCTION_LOAD_AUDIO);
+ audioMenu.add(addAudioMenuItem);
+ _selectNoAudioItem = new JMenuItem(I18nManager.getText("menu.range.none"));
+ _selectNoAudioItem.setEnabled(false);
+ _selectNoAudioItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ _app.getTrackInfo().selectAudio(-1);
+ }
+ });
+ audioMenu.add(_selectNoAudioItem);
+ audioMenu.addSeparator();
+ // connect audio
+ _connectAudioItem = makeMenuItem(FunctionLibrary.FUNCTION_CONNECT_TO_POINT, false);
+ audioMenu.add(_connectAudioItem);
+ // Disconnect current audio clip
+ _disconnectAudioItem = makeMenuItem(FunctionLibrary.FUNCTION_DISCONNECT_AUDIO, false);
+ audioMenu.add(_disconnectAudioItem);
+ // Remove current audio clip
+ _removeAudioItem = makeMenuItem(FunctionLibrary.FUNCTION_REMOVE_AUDIO, false);
+ audioMenu.add(_removeAudioItem);
+ audioMenu.addSeparator();
+ // Correlate audio clips
+ _correlateAudiosItem = makeMenuItem(FunctionLibrary.FUNCTION_CORRELATE_AUDIOS, false);
+ audioMenu.add(_correlateAudiosItem);
+ menubar.add(audioMenu);
+
+ // Settings menu
+ JMenu settingsMenu = new JMenu(I18nManager.getText("menu.settings"));
+ setAltKey(settingsMenu, "altkey.menu.settings");
+ // Set the map background
+ JMenuItem mapBgItem = makeMenuItem(FunctionLibrary.FUNCTION_SET_MAP_BG);
+ settingsMenu.add(mapBgItem);
+ _onlineCheckbox = new JCheckBoxMenuItem(I18nManager.getText("menu.settings.onlinemode"));
+ _onlineCheckbox.setSelected(Config.getConfigBoolean(Config.KEY_ONLINE_MODE));
+ _onlineCheckbox.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ boolean isOnline = _onlineCheckbox.isSelected();
+ Config.setConfigBoolean(Config.KEY_ONLINE_MODE, isOnline);
+ if (isOnline) {UpdateMessageBroker.informSubscribers();}
+ }
+ });
+ settingsMenu.add(_onlineCheckbox);
+ settingsMenu.add(makeMenuItem(FunctionLibrary.FUNCTION_SET_DISK_CACHE));
+ settingsMenu.addSeparator();
+ // Set program paths
+ settingsMenu.add(makeMenuItem(FunctionLibrary.FUNCTION_SET_PATHS));
+ // Set colours
+ settingsMenu.add(makeMenuItem(FunctionLibrary.FUNCTION_SET_COLOURS));
+ // Set line width used for drawing
+ settingsMenu.add(makeMenuItem(new ChooseSingleParameter(_app, FunctionLibrary.FUNCTION_SET_LINE_WIDTH)));
+ // Set language
+ settingsMenu.add(makeMenuItem(FunctionLibrary.FUNCTION_SET_LANGUAGE));
+ // Set altitude tolerance
+ settingsMenu.add(makeMenuItem(new ChooseSingleParameter(_app, FunctionLibrary.FUNCTION_SET_ALTITUDE_TOLERANCE)));
+ settingsMenu.addSeparator();
+ // Save configuration
+ settingsMenu.add(makeMenuItem(FunctionLibrary.FUNCTION_SAVECONFIG));
+ _autosaveSettingsCheckbox = new JCheckBoxMenuItem(
+ I18nManager.getText("menu.settings.autosave"), false);
+ _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());
+ }
+ });
+ settingsMenu.add(_autosaveSettingsCheckbox);
+ menubar.add(settingsMenu);
+