71 |
import org.jsampler.CC; |
import org.jsampler.CC; |
72 |
import org.jsampler.HF; |
import org.jsampler.HF; |
73 |
import org.jsampler.LSConsoleModel; |
import org.jsampler.LSConsoleModel; |
74 |
|
import org.jsampler.Server; |
75 |
|
|
76 |
import org.jsampler.view.JSChannel; |
import org.jsampler.view.JSChannel; |
77 |
import org.jsampler.view.JSChannelsPane; |
import org.jsampler.view.JSChannelsPane; |
78 |
import org.jsampler.view.JSMainFrame; |
import org.jsampler.view.JSMainFrame; |
79 |
import org.jsampler.view.LscpFileFilter; |
import org.jsampler.view.LscpFileFilter; |
80 |
|
|
81 |
|
import org.jsampler.view.std.JSConnectDlg; |
82 |
import org.jsampler.view.std.JSDetailedErrorDlg; |
import org.jsampler.view.std.JSDetailedErrorDlg; |
83 |
import org.jsampler.view.std.JSQuitDlg; |
import org.jsampler.view.std.JSQuitDlg; |
84 |
import org.jsampler.view.std.JSamplerHomeChooser; |
import org.jsampler.view.std.JSamplerHomeChooser; |
238 |
/** Invoked when this window is about to close. */ |
/** Invoked when this window is about to close. */ |
239 |
protected void |
protected void |
240 |
onWindowClose() { |
onWindowClose() { |
241 |
if(CC.getSamplerModel().isModified()) { |
boolean b = preferences().getBoolProperty(CONFIRM_APP_QUIT); |
242 |
|
if(b && CC.getSamplerModel().isModified()) { |
243 |
JSQuitDlg dlg = new JSQuitDlg(Res.iconQuestion32); |
JSQuitDlg dlg = new JSQuitDlg(Res.iconQuestion32); |
244 |
dlg.setVisible(true); |
dlg.setVisible(true); |
245 |
if(dlg.isCancelled()) return; |
if(dlg.isCancelled()) return; |
287 |
// Actions |
// Actions |
288 |
m = new FantasiaMenu(i18n.getMenuLabel("actions")); |
m = new FantasiaMenu(i18n.getMenuLabel("actions")); |
289 |
|
|
290 |
mi = new JMenuItem(a4n.connect); |
mi = new JMenuItem(a4n.refresh); |
291 |
mi.setIcon(null); |
mi.setIcon(null); |
292 |
//mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_MASK)); |
mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0)); |
293 |
m.add(mi); |
m.add(mi); |
294 |
|
|
295 |
mi = new JMenuItem(a4n.samplerInfo); |
mi = new JMenuItem(a4n.samplerInfo); |
296 |
mi.setIcon(null); |
mi.setIcon(null); |
297 |
m.add(mi); |
m.add(mi); |
298 |
|
|
299 |
|
mi = new JMenuItem(a4n.resetSampler); |
300 |
|
mi.setIcon(null); |
301 |
|
m.add(mi); |
302 |
|
|
303 |
m.addSeparator(); |
m.addSeparator(); |
304 |
|
|
305 |
JMenu exportMenu = new JMenu(i18n.getMenuLabel("actions.export")); |
JMenu exportMenu = new JMenu(i18n.getMenuLabel("actions.export")); |
318 |
|
|
319 |
mi = new JMenuItem(a4n.loadScript); |
mi = new JMenuItem(a4n.loadScript); |
320 |
mi.setIcon(null); |
mi.setIcon(null); |
321 |
|
mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_MASK)); |
322 |
m.add(mi); |
m.add(mi); |
323 |
|
|
324 |
String[] list = preferences().getStringListProperty(RECENT_LSCP_SCRIPTS); |
String[] list = preferences().getStringListProperty(RECENT_LSCP_SCRIPTS); |
330 |
|
|
331 |
m.addSeparator(); |
m.addSeparator(); |
332 |
|
|
333 |
|
mi = new JMenuItem(a4n.changeBackend); |
334 |
|
mi.setIcon(null); |
335 |
|
mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, KeyEvent.CTRL_MASK)); |
336 |
|
m.add(mi); |
337 |
|
|
338 |
|
m.addSeparator(); |
339 |
|
|
340 |
mi = new JMenuItem(i18n.getMenuLabel("actions.exit")); |
mi = new JMenuItem(i18n.getMenuLabel("actions.exit")); |
341 |
m.add(mi); |
m.add(mi); |
342 |
mi.addActionListener(new ActionListener() { |
mi.addActionListener(new ActionListener() { |
507 |
dlg.setVisible(true); |
dlg.setVisible(true); |
508 |
} |
} |
509 |
|
|
510 |
|
/** |
511 |
|
* Gets the server address to which to connect. If the server should be |
512 |
|
* manually selected, a dialog asking the user to choose a server is displayed. |
513 |
|
*/ |
514 |
|
public Server |
515 |
|
getServer() { |
516 |
|
boolean b = preferences().getBoolProperty(MANUAL_SERVER_SELECT_ON_STARTUP); |
517 |
|
return getServer(b); |
518 |
|
} |
519 |
|
|
520 |
|
/** |
521 |
|
* Gets the server address to which to connect. If the server should be |
522 |
|
* manually selected, a dialog asking the user to choose a server is displayed. |
523 |
|
* @param manualSelect Determines whether the server should be manually selected. |
524 |
|
*/ |
525 |
|
public Server |
526 |
|
getServer(boolean manualSelect) { |
527 |
|
if(manualSelect) { |
528 |
|
JSConnectDlg dlg = new JSConnectDlg(); |
529 |
|
dlg.setVisible(true); |
530 |
|
return dlg.getSelectedServer(); |
531 |
|
} |
532 |
|
|
533 |
|
int i = preferences().getIntProperty(SERVER_INDEX); |
534 |
|
int size = CC.getServerList().getServerCount(); |
535 |
|
if(size == 0) return null; |
536 |
|
if(i >= size) return CC.getServerList().getServer(0); |
537 |
|
|
538 |
|
return CC.getServerList().getServer(i); |
539 |
|
} |
540 |
|
|
541 |
protected LSConsoleModel |
protected LSConsoleModel |
542 |
getLSConsoleModel() { return getLSConsolePane().getModel(); } |
getLSConsoleModel() { return getLSConsolePane().getModel(); } |
543 |
|
|
549 |
protected LSConsoleFrame |
protected LSConsoleFrame |
550 |
getLSConsoleFrame() { return lsConsoleFrame; } |
getLSConsoleFrame() { return lsConsoleFrame; } |
551 |
|
|
552 |
protected void |
protected boolean |
553 |
runScript() { |
runScript() { |
554 |
String s = preferences().getStringProperty("lastScriptLocation"); |
String s = preferences().getStringProperty("lastScriptLocation"); |
555 |
JFileChooser fc = new JFileChooser(s); |
JFileChooser fc = new JFileChooser(s); |
556 |
fc.setFileFilter(new LscpFileFilter()); |
fc.setFileFilter(new LscpFileFilter()); |
557 |
int result = fc.showOpenDialog(this); |
int result = fc.showOpenDialog(this); |
558 |
if(result != JFileChooser.APPROVE_OPTION) return; |
if(result != JFileChooser.APPROVE_OPTION) return false; |
559 |
|
|
560 |
String path = fc.getCurrentDirectory().getAbsolutePath(); |
String path = fc.getCurrentDirectory().getAbsolutePath(); |
561 |
preferences().setStringProperty("lastScriptLocation", path); |
preferences().setStringProperty("lastScriptLocation", path); |
562 |
|
|
563 |
runScript(fc.getSelectedFile()); |
runScript(fc.getSelectedFile()); |
564 |
|
|
565 |
|
return true; |
566 |
} |
} |
567 |
|
|
568 |
private void |
private void |