--- jsampler/trunk/src/org/jsampler/view/classic/MainFrame.java 2008/02/14 14:59:30 1687 +++ jsampler/trunk/src/org/jsampler/view/classic/MainFrame.java 2008/02/14 16:52:36 1688 @@ -66,11 +66,13 @@ import org.jsampler.LSConsoleModel; import org.jsampler.OrchestraModel; import org.jsampler.Prefs; +import org.jsampler.Server; import org.jsampler.view.JSChannel; import org.jsampler.view.JSChannelsPane; import org.jsampler.view.LscpFileFilter; +import org.jsampler.view.std.JSConnectDlg; import org.jsampler.view.std.JSDetailedErrorDlg; import org.jsampler.view.std.JSQuitDlg; import org.jsampler.view.std.JSamplerHomeChooser; @@ -206,7 +208,8 @@ /** Invoked when this window is about to close. */ protected void onWindowClose() { - if(CC.getSamplerModel().isModified()) { + boolean b = preferences().getBoolProperty(CONFIRM_APP_QUIT); + if(b && CC.getSamplerModel().isModified()) { JSQuitDlg dlg = new JSQuitDlg(Res.iconQuestion32); dlg.setVisible(true); if(dlg.isCancelled()) return; @@ -324,21 +327,16 @@ m = new JMenu(i18n.getMenuLabel("actions")); menuBar.add(m); - mi = new JMenuItem(a4n.connect); - mi.setIcon(null); - //mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_MASK)); - m.add(mi); - mi = new JMenuItem(a4n.refresh); mi.setIcon(null); mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0)); m.add(mi); - mi = new JMenuItem(a4n.resetSampler); + mi = new JMenuItem(A4n.samplerInfo); mi.setIcon(null); m.add(mi); - mi = new JMenuItem(A4n.samplerInfo); + mi = new JMenuItem(a4n.resetSampler); mi.setIcon(null); m.add(mi); @@ -374,6 +372,7 @@ m.addSeparator(); mi = new JMenuItem(A4n.loadScript); + mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_MASK)); mi.setIcon(null); m.add(mi); @@ -386,6 +385,13 @@ m.addSeparator(); + mi = new JMenuItem(a4n.changeBackend); + mi.setIcon(null); + mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, KeyEvent.CTRL_MASK)); + m.add(mi); + + m.addSeparator(); + mi = new JMenuItem(i18n.getMenuLabel("actions.exit")); m.add(mi); mi.addActionListener(new ActionListener() { @@ -1209,4 +1215,35 @@ ); dlg.setVisible(true); } + + /** + * Gets the server address to which to connect. If the server should be + * manually selected, a dialog asking the user to choose a server is displayed. + */ + public Server + getServer() { + boolean b = preferences().getBoolProperty(MANUAL_SERVER_SELECT_ON_STARTUP); + return getServer(b); + } + + /** + * Gets the server address to which to connect. If the server should be + * manually selected, a dialog asking the user to choose a server is displayed. + * @param manualSelect Determines whether the server should be manually selected. + */ + public Server + getServer(boolean manualSelect) { + if(manualSelect) { + JSConnectDlg dlg = new JSConnectDlg(); + dlg.setVisible(true); + return dlg.getSelectedServer(); + } + + int i = preferences().getIntProperty(SERVER_INDEX); + int size = CC.getServerList().getServerCount(); + if(size == 0) return null; + if(i >= size) return CC.getServerList().getServer(0); + + return CC.getServerList().getServer(i); + } }