/[svn]/jsampler/trunk/src/org/jsampler/view/classic/MainFrame.java
ViewVC logotype

Diff of /jsampler/trunk/src/org/jsampler/view/classic/MainFrame.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1143 by iliev, Mon Apr 2 21:18:31 2007 UTC revision 1785 by iliev, Tue Oct 7 00:07:14 2008 UTC
# Line 1  Line 1 
1  /*  /*
2   *   JSampler - a java front-end for LinuxSampler   *   JSampler - a java front-end for LinuxSampler
3   *   *
4   *   Copyright (C) 2005-2006 Grigor Iliev <grigor@grigoriliev.com>   *   Copyright (C) 2005-2008 Grigor Iliev <grigor@grigoriliev.com>
5   *   *
6   *   This file is part of JSampler.   *   This file is part of JSampler.
7   *   *
# Line 24  package org.jsampler.view.classic; Line 24  package org.jsampler.view.classic;
24    
25  import java.awt.BorderLayout;  import java.awt.BorderLayout;
26  import java.awt.Color;  import java.awt.Color;
27    import java.awt.Dialog;
28  import java.awt.Dimension;  import java.awt.Dimension;
29    import java.awt.Frame;
30    
31  import java.awt.event.ActionEvent;  import java.awt.event.ActionEvent;
32  import java.awt.event.ActionListener;  import java.awt.event.ActionListener;
# Line 34  import java.io.BufferedReader; Line 36  import java.io.BufferedReader;
36  import java.io.File;  import java.io.File;
37  import java.io.FileNotFoundException;  import java.io.FileNotFoundException;
38  import java.io.FileReader;  import java.io.FileReader;
 import java.io.StringReader;  
39    
40  import java.util.logging.Level;  import java.util.logging.Level;
41  import java.util.Vector;  import java.util.Vector;
# Line 57  import javax.swing.event.ListSelectionEv Line 58  import javax.swing.event.ListSelectionEv
58  import javax.swing.event.ListSelectionListener;  import javax.swing.event.ListSelectionListener;
59    
60  import net.sf.juife.NavigationPage;  import net.sf.juife.NavigationPage;
 import net.sf.juife.NavigationPane;  
61    
62  import org.jsampler.CC;  import org.jsampler.CC;
63  import org.jsampler.HF;  import org.jsampler.HF;
64  import org.jsampler.LSConsoleModel;  import org.jsampler.LSConsoleModel;
65  import org.jsampler.OrchestraModel;  import org.jsampler.OrchestraModel;
66  import org.jsampler.Prefs;  import org.jsampler.Server;
67    
68  import org.jsampler.view.JSChannel;  import org.jsampler.view.JSChannel;
69  import org.jsampler.view.JSChannelsPane;  import org.jsampler.view.JSChannelsPane;
70  import org.jsampler.view.LscpFileFilter;  import org.jsampler.view.LscpFileFilter;
71    
72    import org.jsampler.view.std.JSConnectDlg;
73    import org.jsampler.view.std.JSDetailedErrorDlg;
74    import org.jsampler.view.std.JSQuitDlg;
75    import org.jsampler.view.std.JSamplerHomeChooser;
76    
77    import static org.jsampler.view.classic.A4n.a4n;
78  import static org.jsampler.view.classic.ClassicI18n.i18n;  import static org.jsampler.view.classic.ClassicI18n.i18n;
79    import static org.jsampler.view.classic.ClassicPrefs.preferences;
80  import static org.jsampler.view.classic.LeftPane.getLeftPane;  import static org.jsampler.view.classic.LeftPane.getLeftPane;
81    import static org.jsampler.view.std.StdPrefs.*;
82    
83  /**  /**
84   *   *
# Line 79  import static org.jsampler.view.classic. Line 86  import static org.jsampler.view.classic.
86   */   */
87  public class  public class
88  MainFrame extends org.jsampler.view.JSMainFrame implements ChangeListener, ListSelectionListener {  MainFrame extends org.jsampler.view.JSMainFrame implements ChangeListener, ListSelectionListener {
89          public static ImageIcon applicationIcon = null;          public static ImageIcon applicationIcon = Res.appIcon;
           
         static {  
                 String s = "org/jsampler/view/classic/res/icons/app-icon.png";  
                 java.net.URL url = ClassLoader.getSystemClassLoader().getResource(s);  
                 if(url != null) applicationIcon = new ImageIcon(url);  
         }  
90                    
91          private final ChannelsBar channelsBar = new ChannelsBar();          private final ChannelsBar channelsBar = new ChannelsBar();
92          private final Statusbar statusbar = new Statusbar();          private final Statusbar statusbar = new Statusbar();
# Line 197  MainFrame extends org.jsampler.view.JSMa Line 198  MainFrame extends org.jsampler.view.JSMa
198                                  getLeftPane().getOrchestrasPage().setSelectedOrchestra(om);                                  getLeftPane().getOrchestrasPage().setSelectedOrchestra(om);
199                          }                          }
200                  }                  }
201                    
202                    //CC.getInstrumentsDbTreeModel(); // used to initialize the db tree model
203          }          }
204                    
205          /** Invoked when this window is about to close. */          /** Invoked when this window is about to close. */
206            @Override
207          protected void          protected void
208          onWindowClose() {          onWindowClose() {
209                    boolean b = preferences().getBoolProperty(CONFIRM_APP_QUIT);
210                    if(b && CC.getSamplerModel().isModified()) {
211                            JSQuitDlg dlg = new JSQuitDlg(Res.iconQuestion32);
212                            dlg.setVisible(true);
213                            if(dlg.isCancelled()) return;
214                    }
215                    
216                  if(ClassicPrefs.getSaveWindowProperties()) {                  if(ClassicPrefs.getSaveWindowProperties()) {
217                          ClassicPrefs.setWindowMaximized (                          ClassicPrefs.setWindowMaximized (
218                                  (getExtendedState() & MAXIMIZED_BOTH) == MAXIMIZED_BOTH                                  "Mainframe", (getExtendedState() & MAXIMIZED_BOTH) == MAXIMIZED_BOTH
219                          );                          );
220                                                    
221                          setVisible(false);                          setVisible(false);
222                          if(ClassicPrefs.getWindowMaximized()) {                          if(ClassicPrefs.getWindowMaximized("Mainframe")) {
223                                  //setExtendedState(getExtendedState() & ~MAXIMIZED_BOTH);                                  //setExtendedState(getExtendedState() & ~MAXIMIZED_BOTH);
224                                  CC.cleanExit();                                  CC.cleanExit();
225                                  return;                                  return;
# Line 219  MainFrame extends org.jsampler.view.JSMa Line 230  MainFrame extends org.jsampler.view.JSMa
230                          StringBuffer sb = new StringBuffer();                          StringBuffer sb = new StringBuffer();
231                          sb.append(p.x).append(',').append(p.y).append(',');                          sb.append(p.x).append(',').append(p.y).append(',');
232                          sb.append(d.width).append(',').append(d.height);                          sb.append(d.width).append(',').append(d.height);
233                          ClassicPrefs.setWindowSizeAndLocation(sb.toString());                          ClassicPrefs.setWindowSizeAndLocation("Mainframe", sb.toString());
234                                                    
235                          ClassicPrefs.setHSplitDividerLocation(hSplitPane.getDividerLocation());                          ClassicPrefs.setHSplitDividerLocation(hSplitPane.getDividerLocation());
236                  }                  }
# Line 241  MainFrame extends org.jsampler.view.JSMa Line 252  MainFrame extends org.jsampler.view.JSMa
252                                  ClassicPrefs.setCurrentOrchestraIndex(idx);                                  ClassicPrefs.setCurrentOrchestraIndex(idx);
253                  }                  }
254                                    
255                  StringBuffer sb = new StringBuffer();                  String[] list = recentScripts.toArray(new String[recentScripts.size()]);
256                  for(String s : recentScripts) sb.append(s).append("\n");                  preferences().setStringListProperty(RECENT_LSCP_SCRIPTS, list);
                 ClassicPrefs.setRecentScripts(sb.toString());  
257                                    
258                  if(ClassicPrefs.getSaveConsoleHistory()) lsConsolePane.saveConsoleHistory();                  if(preferences().getBoolProperty(SAVE_LS_CONSOLE_HISTORY)) {
259                            lsConsolePane.saveConsoleHistory();
260                    }
261                                    
262                  ClassicPrefs.setShowLSConsole(isLSConsoleShown());                  ClassicPrefs.setShowLSConsole(isLSConsoleShown());
263                  ClassicPrefs.setLSConsolePopOut(isLSConsolePopOut());                  ClassicPrefs.setLSConsolePopOut(isLSConsolePopOut());
# Line 270  MainFrame extends org.jsampler.view.JSMa Line 282  MainFrame extends org.jsampler.view.JSMa
282                    
283          private void          private void
284          setSavedSize() {          setSavedSize() {
285                  String s = ClassicPrefs.getWindowSizeAndLocation();                  String s = ClassicPrefs.getWindowSizeAndLocation("Mainframe");
286                  if(s == null) {                  if(s == null) {
287                          setDefaultSize();                          setDefaultSize();
288                          return;                          return;
# Line 298  MainFrame extends org.jsampler.view.JSMa Line 310  MainFrame extends org.jsampler.view.JSMa
310                          setDefaultSize();                          setDefaultSize();
311                  }                  }
312                                    
313                  if(ClassicPrefs.getWindowMaximized())                  if(ClassicPrefs.getWindowMaximized("Mainframe"))
314                          setExtendedState(getExtendedState() | MAXIMIZED_BOTH);                          setExtendedState(getExtendedState() | MAXIMIZED_BOTH);
315          }          }
316                    
# Line 313  MainFrame extends org.jsampler.view.JSMa Line 325  MainFrame extends org.jsampler.view.JSMa
325                  m = new JMenu(i18n.getMenuLabel("actions"));                  m = new JMenu(i18n.getMenuLabel("actions"));
326                  menuBar.add(m);                  menuBar.add(m);
327                                    
328                  mi = new JMenuItem(A4n.connect);                  mi = new JMenuItem(a4n.refresh);
                 mi.setIcon(null);  
                 //mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_MASK));  
                 m.add(mi);  
                   
                 mi = new JMenuItem(A4n.refresh);  
329                  mi.setIcon(null);                  mi.setIcon(null);
330                  mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0));                  mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0));
331                  m.add(mi);                  m.add(mi);
332                                    
333                  mi = new JMenuItem(A4n.resetSampler);                  mi = new JMenuItem(A4n.samplerInfo);
334                  mi.setIcon(null);                  mi.setIcon(null);
335                  m.add(mi);                  m.add(mi);
336                                    
337                  mi = new JMenuItem(A4n.samplerInfo);                  mi = new JMenuItem(a4n.resetSampler);
338                  mi.setIcon(null);                  mi.setIcon(null);
339                  m.add(mi);                  m.add(mi);
340                                    
# Line 351  MainFrame extends org.jsampler.view.JSMa Line 358  MainFrame extends org.jsampler.view.JSMa
358                  JMenu exportMenu = new JMenu(i18n.getMenuLabel("actions.export"));                  JMenu exportMenu = new JMenu(i18n.getMenuLabel("actions.export"));
359                  m.add(exportMenu);                  m.add(exportMenu);
360                                    
361                  mi = new JMenuItem(A4n.exportSamplerConfig);                  mi = new JMenuItem(a4n.exportSamplerConfig);
362                  mi.setIcon(null);                  mi.setIcon(null);
363                  mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_MASK));                  mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, KeyEvent.CTRL_MASK));
364                  exportMenu.add(mi);                  exportMenu.add(mi);
365                                    
366                  mi = new JMenuItem(A4n.exportMidiInstrumentMaps);                  mi = new JMenuItem(a4n.exportMidiInstrumentMaps);
367                  mi.setIcon(null);                  mi.setIcon(null);
368                  exportMenu.add(mi);                  exportMenu.add(mi);
369                                    
370                  m.addSeparator();                  m.addSeparator();
371                                    
372                  mi = new JMenuItem(A4n.loadScript);                  mi = new JMenuItem(A4n.loadScript);
373                    mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_MASK));
374                  mi.setIcon(null);                  mi.setIcon(null);
375                  m.add(mi);                  m.add(mi);
376                                    
377                  String s = ClassicPrefs.getRecentScripts();                  String[] list = preferences().getStringListProperty(RECENT_LSCP_SCRIPTS);
378                  BufferedReader br = new BufferedReader(new StringReader(s));                  for(String s : list) recentScripts.add(s);
                   
                 try {  
                         s = br.readLine();  
                         while(s != null) {  
                                 recentScripts.add(s);  
                                 s = br.readLine();  
                         }  
                 } catch(Exception x) {  
                         CC.getLogger().log(Level.INFO, HF.getErrorMessage(x), x);  
                 }  
379                                    
380                  updateRecentScriptsMenu();                  updateRecentScriptsMenu();
381                                    
# Line 385  MainFrame extends org.jsampler.view.JSMa Line 383  MainFrame extends org.jsampler.view.JSMa
383                                    
384                  m.addSeparator();                  m.addSeparator();
385                                    
386                    mi = new JMenuItem(a4n.changeBackend);
387                    mi.setIcon(null);
388                    mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, KeyEvent.CTRL_MASK));
389                    m.add(mi);
390                    
391                    m.addSeparator();
392                    
393                  mi = new JMenuItem(i18n.getMenuLabel("actions.exit"));                  mi = new JMenuItem(i18n.getMenuLabel("actions.exit"));
394                  m.add(mi);                  m.add(mi);
395                  mi.addActionListener(new ActionListener() {                  mi.addActionListener(new ActionListener() {
396                          public void                          public void
397                          actionPerformed(ActionEvent e) { CC.cleanExit(); }                          actionPerformed(ActionEvent e) { onWindowClose(); }
398                  });                  });
399                                    
400                  // Edit                  // Edit
# Line 626  MainFrame extends org.jsampler.view.JSMa Line 631  MainFrame extends org.jsampler.view.JSMa
631                  m.add(mi);                  m.add(mi);
632                                    
633                                    
634                    // Window
635                    m = new JMenu(i18n.getMenuLabel("window"));
636                    menuBar.add(m);
637                    
638                    mi = new JMenuItem(A4n.windowInstrumentsDb);
639                    mi.setIcon(null);
640                    m.add(mi);
641                    
642                    
643                  // Help                  // Help
644                  m = new JMenu(i18n.getMenuLabel("help"));                  m = new JMenu(i18n.getMenuLabel("help"));
                 menuBar.add(m);  
645                                    
646                  mi = new JMenuItem(A4n.helpAbout);                  mi = new JMenuItem(A4n.helpAbout);
647                  mi.setIcon(null);                  mi.setIcon(null);
648                  m.add(mi);                  m.add(mi);
649                    
650                    m.addSeparator();
651                    
652                    mi = new JMenuItem(a4n.browseOnlineTutorial);
653                    mi.setIcon(null);
654                    m.add(mi);
655                    
656                    menuBar.add(m);
657          }          }
658                    
659          private class RecentScriptHandler implements ActionListener {          private class RecentScriptHandler implements ActionListener {
# Line 640  MainFrame extends org.jsampler.view.JSMa Line 661  MainFrame extends org.jsampler.view.JSMa
661                                    
662                  RecentScriptHandler(String script) { this.script = script; }                  RecentScriptHandler(String script) { this.script = script; }
663                                    
664                    @Override
665                  public void                  public void
666                  actionPerformed(ActionEvent e) {  runScript(script); }                  actionPerformed(ActionEvent e) {  runScript(script); }
667          }          }
# Line 821  MainFrame extends org.jsampler.view.JSMa Line 843  MainFrame extends org.jsampler.view.JSMa
843           * Adds the specified <code>JSChannelsPane</code> to the view.           * Adds the specified <code>JSChannelsPane</code> to the view.
844           * @param chnPane The <code>JSChannelsPane</code> to be added.           * @param chnPane The <code>JSChannelsPane</code> to be added.
845           */           */
846            @Override
847          public void          public void
848          addChannelsPane(JSChannelsPane chnPane) {          addChannelsPane(JSChannelsPane chnPane) {
849                  insertChannelsPane(chnPane, getChannelsPaneCount());                  insertChannelsPane(chnPane, getChannelsPaneCount());
850          }          }
851                    
852            @Override
853          public void          public void
854          insertChannelsPane(JSChannelsPane chnPane, int idx) {          insertChannelsPane(JSChannelsPane chnPane, int idx) {
855                  chnPane.addListSelectionListener(this);                  chnPane.addListSelectionListener(this);
# Line 850  MainFrame extends org.jsampler.view.JSMa Line 874  MainFrame extends org.jsampler.view.JSMa
874           * Gets the <code>JSChannelsPane</code> that is currently shown.           * Gets the <code>JSChannelsPane</code> that is currently shown.
875           * @return The currently shown <code>JSChannelsPane</code>.           * @return The currently shown <code>JSChannelsPane</code>.
876           */           */
877            @Override
878          public JSChannelsPane          public JSChannelsPane
879          getSelectedChannelsPane() {          getSelectedChannelsPane() {
880                  if(getChannelsPaneList().size() == 1) return getChannelsPane(0);                  if(getChannelsPaneList().size() == 1) return getChannelsPane(0);
# Line 860  MainFrame extends org.jsampler.view.JSMa Line 885  MainFrame extends org.jsampler.view.JSMa
885           * Sets the <code>JSChannelsPane</code> to be selected.           * Sets the <code>JSChannelsPane</code> to be selected.
886           * @param pane The <code>JSChannelsPane</code> to be shown.           * @param pane The <code>JSChannelsPane</code> to be shown.
887           */           */
888            @Override
889          public void          public void
890          setSelectedChannelsPane(JSChannelsPane pane) {          setSelectedChannelsPane(JSChannelsPane pane) {
891                  if(getChannelsPaneList().size() == 1) return;                  if(getChannelsPaneList().size() == 1) return;
892                  tabbedPane.setSelectedComponent(pane);                  tabbedPane.setSelectedComponent(pane);
893                    fireChannelsPaneSelectionChanged();
894          }          }
895                    
896          /**          /**
# Line 872  MainFrame extends org.jsampler.view.JSMa Line 899  MainFrame extends org.jsampler.view.JSMa
899           * @return <code>true</code> if the specified code>JSChannelsPane</code>           * @return <code>true</code> if the specified code>JSChannelsPane</code>
900           * is actually removed from the view, <code>false</code> otherwise.           * is actually removed from the view, <code>false</code> otherwise.
901           */           */
902            @Override
903          public boolean          public boolean
904          removeChannelsPane(JSChannelsPane chnPane) {          removeChannelsPane(JSChannelsPane chnPane) {
905                  chnPane.removeListSelectionListener(this);                  chnPane.removeListSelectionListener(this);
# Line 1013  MainFrame extends org.jsampler.view.JSMa Line 1041  MainFrame extends org.jsampler.view.JSMa
1041          public JMenu          public JMenu
1042          getTabsMenu() { return tabsMenu; }          getTabsMenu() { return tabsMenu; }
1043                    
1044            @Override
1045          public void          public void
1046          stateChanged(ChangeEvent e) {          stateChanged(ChangeEvent e) {
1047                  updateTabsMenu();                  updateTabsMenu();
# Line 1020  MainFrame extends org.jsampler.view.JSMa Line 1049  MainFrame extends org.jsampler.view.JSMa
1049                  checkTabSelection();                  checkTabSelection();
1050          }          }
1051                    
1052            @Override
1053          public void          public void
1054          valueChanged(ListSelectionEvent e) {          valueChanged(ListSelectionEvent e) {
1055                  if(e.getValueIsAdjusting()) return;                  if(e.getValueIsAdjusting()) return;
# Line 1095  MainFrame extends org.jsampler.view.JSMa Line 1125  MainFrame extends org.jsampler.view.JSMa
1125                    
1126          protected void          protected void
1127          runScript() {          runScript() {
1128                  JFileChooser fc = new JFileChooser(ClassicPrefs.getLastScriptLocation());                  String s = preferences().getStringProperty("lastScriptLocation");
1129                    JFileChooser fc = new JFileChooser(s);
1130                  fc.setFileFilter(new LscpFileFilter());                  fc.setFileFilter(new LscpFileFilter());
1131                  int result = fc.showOpenDialog(this);                  int result = fc.showOpenDialog(this);
1132                  if(result != JFileChooser.APPROVE_OPTION) return;                  if(result != JFileChooser.APPROVE_OPTION) return;
1133                                    
1134                  String path = fc.getCurrentDirectory().getAbsolutePath();                  String path = fc.getCurrentDirectory().getAbsolutePath();
1135                  ClassicPrefs.setLastScriptLocation(path);                  preferences().setStringProperty("lastScriptLocation", path);
1136                                                                                    
1137                  runScript(fc.getSelectedFile());                  runScript(fc.getSelectedFile());
1138          }          }
# Line 1132  MainFrame extends org.jsampler.view.JSMa Line 1163  MainFrame extends org.jsampler.view.JSMa
1163                          return;                          return;
1164                  }                  }
1165                                    
1166                  if(!cbmiLSConsoleShown.isSelected()) cbmiLSConsoleShown.doClick(0);                  if(preferences().getBoolProperty(SHOW_LS_CONSOLE_WHEN_RUN_SCRIPT)) {
1167                            if(!cbmiLSConsoleShown.isSelected()) cbmiLSConsoleShown.doClick(0);
1168                    }
1169                                    
1170                  String s = script.getAbsolutePath();                  String s = script.getAbsolutePath();
1171                  recentScripts.remove(s);                  recentScripts.remove(s);
1172                  recentScripts.insertElementAt(s, 0);                  recentScripts.insertElementAt(s, 0);
1173                                    
                 while(recentScripts.size() > ClassicPrefs.getRecentScriptsSize()) {  
                         recentScripts.removeElementAt(recentScripts.size() - 1);  
                 }  
                   
1174                  updateRecentScriptsMenu();                  updateRecentScriptsMenu();
1175          }          }
1176                    
# Line 1153  MainFrame extends org.jsampler.view.JSMa Line 1182  MainFrame extends org.jsampler.view.JSMa
1182                    
1183          protected void          protected void
1184          updateRecentScriptsMenu() {          updateRecentScriptsMenu() {
1185                  while(recentScripts.size() > ClassicPrefs.getRecentScriptsSize()) {                  int size = preferences().getIntProperty(RECENT_LSCP_SCRIPTS_SIZE);
1186                    while(recentScripts.size() > size) {
1187                          recentScripts.removeElementAt(recentScripts.size() - 1);                          recentScripts.removeElementAt(recentScripts.size() - 1);
1188                  }                  }
1189                                    
# Line 1168  MainFrame extends org.jsampler.view.JSMa Line 1198  MainFrame extends org.jsampler.view.JSMa
1198                  recentScriptsMenu.setEnabled(recentScripts.size() != 0);                  recentScriptsMenu.setEnabled(recentScripts.size() != 0);
1199          }          }
1200                    
1201            @Override
1202          public void          public void
1203          installJSamplerHome() {          installJSamplerHome() {
1204                  JSamplerHomeChooser chooser = new JSamplerHomeChooser(this);                  JSamplerHomeChooser chooser = new JSamplerHomeChooser(this);
# Line 1176  MainFrame extends org.jsampler.view.JSMa Line 1207  MainFrame extends org.jsampler.view.JSMa
1207                                    
1208                  CC.changeJSamplerHome(chooser.getJSamplerHome());                  CC.changeJSamplerHome(chooser.getJSamplerHome());
1209          }          }
1210            
1211            @Override
1212            public void
1213            showDetailedErrorMessage(Frame owner, String err, String details) {
1214                    JSDetailedErrorDlg dlg = new JSDetailedErrorDlg (
1215                            owner, Res.iconWarning32, i18n.getError("error"), err, details
1216                    );
1217                    dlg.setVisible(true);
1218            }
1219            
1220            @Override
1221            public void
1222            showDetailedErrorMessage(Dialog owner, String err, String details) {
1223                    JSDetailedErrorDlg dlg = new JSDetailedErrorDlg (
1224                            owner, Res.iconWarning32, i18n.getError("error"), err, details
1225                    );
1226                    dlg.setVisible(true);
1227            }
1228            
1229            /**
1230             * Gets the server address to which to connect. If the server should be
1231             * manually selected, a dialog asking the user to choose a server is displayed.
1232             */
1233            @Override
1234            public Server
1235            getServer() {
1236                    boolean b = preferences().getBoolProperty(MANUAL_SERVER_SELECT_ON_STARTUP);
1237                    return getServer(b);
1238            }
1239            
1240            /**
1241             * Gets the server address to which to connect. If the server should be
1242             * manually selected, a dialog asking the user to choose a server is displayed.
1243             * @param manualSelect Determines whether the server should be manually selected.
1244             */
1245            @Override
1246            public Server
1247            getServer(boolean manualSelect) {
1248                    if(manualSelect) {
1249                            JSConnectDlg dlg = new JSConnectDlg();
1250                            dlg.setVisible(true);
1251                            return dlg.getSelectedServer();
1252                    }
1253                    
1254                    int i = preferences().getIntProperty(SERVER_INDEX);
1255                    int size = CC.getServerList().getServerCount();
1256                    if(size == 0) return null;
1257                    if(i >= size) return CC.getServerList().getServer(0);
1258                    
1259                    return CC.getServerList().getServer(i);
1260            }
1261  }  }

Legend:
Removed from v.1143  
changed lines
  Added in v.1785

  ViewVC Help
Powered by ViewVC