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

Contents of /jsampler/trunk/src/org/jsampler/view/classic/PrefsDlg.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1567 - (show annotations) (download)
Thu Dec 6 19:37:41 2007 UTC (16 years, 4 months ago) by iliev
File size: 19644 byte(s)
* added confirmation dialog on exit
* some minor gui enhancements
* preparations for release 0.8a

1 /*
2 * JSampler - a java front-end for LinuxSampler
3 *
4 * Copyright (C) 2005-2007 Grigor Iliev <grigor@grigoriliev.com>
5 *
6 * This file is part of JSampler.
7 *
8 * JSampler is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2
10 * as published by the Free Software Foundation.
11 *
12 * JSampler is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with JSampler; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20 * MA 02111-1307 USA
21 */
22
23 package org.jsampler.view.classic;
24
25 import java.awt.BorderLayout;
26 import java.awt.Color;
27 import java.awt.Container;
28 import java.awt.Dimension;
29 import java.awt.GraphicsEnvironment;
30 import java.awt.Font;
31 import java.awt.Frame;
32 import java.awt.GridBagConstraints;
33 import java.awt.GridBagLayout;
34 import java.awt.Insets;
35
36 import java.awt.event.ActionEvent;
37 import java.awt.event.ActionListener;
38 import java.awt.event.ItemEvent;
39 import java.awt.event.ItemListener;
40
41 import java.util.Locale;
42
43 import javax.swing.BorderFactory;
44 import javax.swing.Box;
45 import javax.swing.BoxLayout;
46 import javax.swing.DefaultButtonModel;
47 import javax.swing.JButton;
48 import javax.swing.JCheckBox;
49 import javax.swing.JComboBox;
50 import javax.swing.JLabel;
51 import javax.swing.JOptionPane;
52 import javax.swing.JPanel;
53 import javax.swing.JTabbedPane;
54 import javax.swing.JTextField;
55
56 import net.sf.juife.EnhancedDialog;
57 import net.sf.juife.JuifeUtils;
58 import net.sf.juife.LinkButton;
59
60 import org.jsampler.CC;
61 import org.jsampler.HF;
62 import org.jsampler.JSI18n;
63 import org.jsampler.JSampler;
64 import org.jsampler.LSConsoleModel;
65 import org.jsampler.Prefs;
66
67 import org.jsampler.view.std.JSColorButton;
68 import org.jsampler.view.std.JSConnectionPropsPane;
69 import org.jsampler.view.std.JSDefaultsPropsPane;
70 import org.jsampler.view.std.JSGeneralProps;
71 import org.jsampler.view.std.JSLSConsolePropsPane;
72
73 import static org.jsampler.view.classic.ClassicI18n.i18n;
74 import static org.jsampler.view.classic.ClassicPrefs.preferences;
75 import static org.jsampler.view.std.StdPrefs.*;
76
77
78 /**
79 *
80 * @author Grigor Iliev
81 */
82 public class PrefsDlg extends EnhancedDialog {
83 private final GeneralPane genPane = new GeneralPane();
84 private final ViewPane viewPane = new ViewPane();
85 private final ConsolePane consolePane = new ConsolePane();
86 private final JSConnectionPropsPane connectionPane = new JSConnectionPropsPane();
87 private final JSDefaultsPropsPane defaultsPane;
88
89 private final JButton btnApply = new JButton(i18n.getButtonLabel("apply"));
90 private final JButton btnClose = new JButton(i18n.getButtonLabel("close"));
91
92
93 public
94 PrefsDlg(Frame frm) {
95 super(frm, i18n.getLabel("PrefsDlg"), true);
96
97 defaultsPane = new JSDefaultsPropsPane(this, Res.iconEdit16);
98
99 initPrefsDlg();
100 installListeners();
101
102 setLocation(JuifeUtils.centerLocation(this, frm));
103
104 connectionPane.setLSAddress(Prefs.getLSAddress());
105 connectionPane.setLSPort(String.valueOf(Prefs.getLSPort()));
106 }
107
108 private void
109 initPrefsDlg() {
110 JTabbedPane tp = new JTabbedPane();
111 tp.addTab(i18n.getLabel("PrefsDlg.tabGeneral"), genPane);
112 tp.addTab(i18n.getLabel("PrefsDlg.tabView"), viewPane);
113 tp.addTab(i18n.getLabel("PrefsDlg.tabConsole"), consolePane);
114
115 JPanel p = new JPanel();
116 p.setLayout(new BorderLayout());
117 p.setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6));
118 p.add(connectionPane, BorderLayout.NORTH);
119 tp.addTab(i18n.getLabel("PrefsDlg.tabConnection"), p);
120 tp.addTab(i18n.getLabel("PrefsDlg.tabDefaults"), defaultsPane);
121
122 tp.setAlignmentX(RIGHT_ALIGNMENT);
123
124 // Set preferred size for Apply & Exit buttons
125 Dimension d = JuifeUtils.getUnionSize(btnApply, btnClose);
126 btnApply.setPreferredSize(d);
127 btnClose.setPreferredSize(d);
128
129 JPanel btnPane = new JPanel();
130 btnPane.setLayout(new BoxLayout(btnPane, BoxLayout.X_AXIS));
131 btnPane.add(btnApply);
132 btnPane.add(Box.createRigidArea(new Dimension(5, 0)));
133 btnPane.add(btnClose);
134 btnPane.setAlignmentX(RIGHT_ALIGNMENT);
135
136 JPanel mainPane = new JPanel();
137 mainPane.setLayout(new BoxLayout(mainPane, BoxLayout.Y_AXIS));
138 mainPane.add(tp);
139 mainPane.add(Box.createRigidArea(new Dimension(0, 12)));
140 mainPane.add(btnPane);
141 mainPane.setBorder(BorderFactory.createEmptyBorder(11, 12, 12, 12));
142
143 getContentPane().add(mainPane);
144
145 pack();
146 setResizable(false);
147 }
148
149 private void
150 installListeners() {
151 btnApply.addActionListener(new ActionListener() {
152 public void
153 actionPerformed(ActionEvent e) { onApply(); }
154 });
155
156 btnClose.addActionListener(new ActionListener() {
157 public void
158 actionPerformed(ActionEvent e) { onExit(); }
159 });
160 }
161
162 protected void
163 onOk() { onApply(); }
164
165 protected void
166 onCancel() { onExit(); }
167
168 private void
169 onApply() {
170 genPane.apply();
171 viewPane.apply();
172 consolePane.apply();
173 connectionPane.apply();
174 defaultsPane.apply();
175
176 setVisible(false);
177 }
178
179 private void
180 onExit() { setVisible(false); }
181 }
182
183 class GeneralPane extends JPanel {
184 private final JCheckBox checkWindowSizeAndLocation =
185 new JCheckBox(i18n.getLabel("GeneralPane.checkWindowSizeAndLocation"));
186
187 private final JCheckBox checkLeftPaneState =
188 new JCheckBox(i18n.getLabel("GeneralPane.checkLeftPaneState"));
189
190 private final JCheckBox checkShowLSConsoleWhenRunScript =
191 new JCheckBox(i18n.getLabel("GeneralPane.checkShowLSConsoleWhenRunScript"));
192
193 private final JCheckBox checkShowVolumesInDecibels =
194 new JCheckBox(i18n.getLabel("GeneralPane.checkShowVolumesInDecibels"));
195
196 private final JSGeneralProps.MaxVolumePane maxVolPane = new JSGeneralProps.MaxVolumePane();
197
198 private final JSGeneralProps.JSamplerHomePane jSamplerHomePane =
199 new JSGeneralProps.JSamplerHomePane();
200
201 private final RecentScriptsPane recentScriptsPane = new RecentScriptsPane();
202
203
204 public
205 GeneralPane() {
206 setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
207
208 checkWindowSizeAndLocation.setAlignmentX(JPanel.LEFT_ALIGNMENT);
209
210 checkWindowSizeAndLocation.setSelected(ClassicPrefs.getSaveWindowProperties());
211 checkWindowSizeAndLocation.addItemListener(new ItemListener() {
212 public void
213 itemStateChanged(ItemEvent e) {
214 boolean b = e.getStateChange() == e.SELECTED;
215 //checkWindowSizeAndLocation.setEnabled(b);
216 }
217 });
218
219 add(checkWindowSizeAndLocation);
220
221 checkLeftPaneState.setAlignmentX(JPanel.LEFT_ALIGNMENT);
222 checkLeftPaneState.setSelected(ClassicPrefs.getSaveLeftPaneState());
223 add(checkLeftPaneState);
224
225 checkShowLSConsoleWhenRunScript.setAlignmentX(JPanel.LEFT_ALIGNMENT);
226
227 boolean b = preferences().getBoolProperty(SHOW_LS_CONSOLE_WHEN_RUN_SCRIPT);
228 checkShowLSConsoleWhenRunScript.setSelected(b);
229
230 add(checkShowLSConsoleWhenRunScript);
231
232 b = preferences().getBoolProperty(VOL_MEASUREMENT_UNIT_DECIBEL);
233 checkShowVolumesInDecibels.setSelected(b);
234
235 add(checkShowVolumesInDecibels);
236
237 add(Box.createRigidArea(new Dimension(0, 6)));
238
239 add(maxVolPane);
240
241 add(Box.createRigidArea(new Dimension(0, 6)));
242
243 add(jSamplerHomePane);
244
245 add(Box.createRigidArea(new Dimension(0, 6)));
246
247 add(recentScriptsPane);
248 add(Box.createGlue());
249
250 setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6));
251 }
252
253 protected void
254 apply() {
255 maxVolPane.apply();
256
257 ClassicPrefs.setSaveWindowProperties(checkWindowSizeAndLocation.isSelected());
258 ClassicPrefs.setSaveLeftPaneState(checkLeftPaneState.isSelected());
259
260 boolean b = checkShowLSConsoleWhenRunScript.isSelected();
261 preferences().setBoolProperty(SHOW_LS_CONSOLE_WHEN_RUN_SCRIPT, b);
262
263 b = checkShowVolumesInDecibels.isSelected();
264 preferences().setBoolProperty(VOL_MEASUREMENT_UNIT_DECIBEL, b);
265
266 int size = recentScriptsPane.getRecentScriptsSize();
267 preferences().setIntProperty(RECENT_LSCP_SCRIPTS_SIZE, size);
268 ((MainFrame)CC.getMainFrame()).updateRecentScriptsMenu();
269
270 String s = jSamplerHomePane.getJSamplerHome();
271 if(s.length() > 0 && !s.equals(CC.getJSamplerHome())) {
272 CC.changeJSamplerHome(s);
273 }
274 }
275
276 private class RecentScriptsPane extends JSGeneralProps.RecentScriptsPane {
277 protected void
278 clearRecentScripts() {
279 ((MainFrame)CC.getMainFrame()).clearRecentScripts();
280 }
281 }
282 }
283
284 class ViewPane extends JPanel {
285 private final JLabel lIfaceLanguage =
286 new JLabel(i18n.getLabel("ViewPane.lIfaceLanguage"));
287 private final JComboBox cbIfaceLanguage = new JComboBox();
288
289 private final JLabel lIfaceFont =
290 new JLabel(i18n.getLabel("ViewPane.lIfaceFont"));
291 private final JComboBox cbIfaceFont = new JComboBox();
292
293 private final JCheckBox checkBorderColor =
294 new JCheckBox(i18n.getLabel("ViewPane.channelBorderColor"));
295 private final JSColorButton btnBorderColor = new JSColorButton(Color.WHITE);
296
297 private final JCheckBox checkHlChnBorderColor =
298 new JCheckBox(i18n.getLabel("ViewPane.checkHlChnBorderColor"));
299 private final JSColorButton btnHlChnBorderColor = new JSColorButton(Color.WHITE);
300
301 private final JCheckBox checkSelChnBgColor =
302 new JCheckBox(i18n.getLabel("ViewPane.checkSelChnBgColor"));
303 private final JSColorButton btnSelChnBgColor = new JSColorButton(Color.WHITE);
304
305 private final JCheckBox checkHlChnBgColor =
306 new JCheckBox(i18n.getLabel("ViewPane.checkHlChnBgColor"));
307 private final JSColorButton btnHlChnBgColor = new JSColorButton(Color.WHITE);
308
309 public
310 ViewPane() { initViewPane(); }
311
312 private void
313 initViewPane() {
314 cbIfaceLanguage.setMaximumSize (
315 new Dimension(Short.MAX_VALUE, cbIfaceLanguage.getPreferredSize().height)
316 );
317
318 for(Locale l : JSI18n.getAvailableLocales()) {
319 LocaleBox box = new LocaleBox(l);
320 cbIfaceLanguage.addItem(box);
321 if ( l.getLanguage().equals(Prefs.getInterfaceLanguage()) &&
322 l.getCountry().equals(Prefs.getInterfaceCountry())
323 ) cbIfaceLanguage.setSelectedItem(box);
324 }
325
326 cbIfaceFont.setMaximumSize (
327 new Dimension(Short.MAX_VALUE, cbIfaceFont.getPreferredSize().height)
328 );
329
330 cbIfaceFont.addItem("[Default]");
331
332 String[] fontS =
333 GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
334
335 for(String f : fontS) cbIfaceFont.addItem(f);
336
337 if(Prefs.getInterfaceFont() == null) cbIfaceFont.setSelectedItem("[Default]");
338 else cbIfaceFont.setSelectedItem(Prefs.getInterfaceFont());
339
340 setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
341
342 JPanel ifacePane = new JPanel();
343 ifacePane.setLayout(new BoxLayout(ifacePane, BoxLayout.X_AXIS));
344 ifacePane.add(lIfaceLanguage);
345 ifacePane.add(Box.createRigidArea(new Dimension(5, 0)));
346 ifacePane.add(cbIfaceLanguage);
347
348 add(ifacePane);
349
350 add(Box.createRigidArea(new Dimension(0, 6)));
351
352 JPanel fontPane = new JPanel();
353 fontPane.setLayout(new BoxLayout(fontPane, BoxLayout.X_AXIS));
354 fontPane.add(lIfaceFont);
355 fontPane.add(Box.createRigidArea(new Dimension(5, 0)));
356 fontPane.add(cbIfaceFont);
357
358 add(fontPane);
359 add(Box.createRigidArea(new Dimension(0, 6)));
360 add(createCustomColorsPane());
361
362 setBorder(BorderFactory.createEmptyBorder(6, 6, 6, 6));
363 }
364
365 private JPanel
366 createCustomColorsPane() {
367 btnBorderColor.setColor(ClassicPrefs.getChannelBorderColor());
368 btnBorderColor.setEnabled(ClassicPrefs.getCustomChannelBorderColor());
369
370 checkBorderColor.setSelected(ClassicPrefs.getCustomChannelBorderColor());
371
372 checkBorderColor.addItemListener(new ItemListener() {
373 public void
374 itemStateChanged(ItemEvent e) {
375 boolean b = e.getStateChange() == e.SELECTED;
376 btnBorderColor.setEnabled(b);
377 }
378 });
379
380 btnHlChnBorderColor.setColor(ClassicPrefs.getChannelBorderHlColor());
381 btnHlChnBorderColor.setEnabled(ClassicPrefs.getCustomChannelBorderHlColor());
382
383 checkHlChnBorderColor.setSelected(ClassicPrefs.getCustomChannelBorderHlColor());
384
385 checkHlChnBorderColor.addItemListener(new ItemListener() {
386 public void
387 itemStateChanged(ItemEvent e) {
388 boolean b = e.getStateChange() == e.SELECTED;
389 btnHlChnBorderColor.setEnabled(b);
390 }
391 });
392
393 Color color = ClassicPrefs.getSelectedChannelBgColor();
394 if(color == null) color = new Color(getBackground().getRGB());
395 btnSelChnBgColor.setColor(color);
396 btnSelChnBgColor.setEnabled(ClassicPrefs.getCustomSelectedChannelBgColor());
397
398 checkSelChnBgColor.setSelected(ClassicPrefs.getCustomSelectedChannelBgColor());
399
400 checkSelChnBgColor.addItemListener(new ItemListener() {
401 public void
402 itemStateChanged(ItemEvent e) {
403 boolean b = e.getStateChange() == e.SELECTED;
404 btnSelChnBgColor.setEnabled(b);
405 }
406 });
407
408 color = ClassicPrefs.getHighlightedChannelBgColor();
409 if(color == null) color = new Color(getBackground().getRGB());
410 btnHlChnBgColor.setColor(color);
411 btnHlChnBgColor.setEnabled(ClassicPrefs.getCustomHighlightedChannelBgColor());
412
413 checkHlChnBgColor.setSelected(ClassicPrefs.getCustomHighlightedChannelBgColor());
414
415 checkHlChnBgColor.addItemListener(new ItemListener() {
416 public void
417 itemStateChanged(ItemEvent e) {
418 boolean b = e.getStateChange() == e.SELECTED;
419 btnHlChnBgColor.setEnabled(b);
420 }
421 });
422
423 JButton btnDefaults = new JButton("Reset to defaults");
424 btnDefaults.addActionListener(new ActionListener() {
425 public void
426 actionPerformed(ActionEvent e) {
427 ClassicPrefs.setChannelBorderColor(null);
428 btnBorderColor.setColor(ClassicPrefs.getChannelBorderColor());
429
430 ClassicPrefs.setChannelBorderHlColor(null);
431 btnHlChnBorderColor.setColor(ClassicPrefs.getChannelBorderHlColor());
432
433 ClassicPrefs.setSelectedChannelBgColor(null);
434 btnSelChnBgColor.setColor(ClassicPrefs.getSelectedChannelBgColor());
435
436 ClassicPrefs.setHighlightedChannelBgColor(null);
437 btnHlChnBgColor.setColor(ClassicPrefs.getHighlightedChannelBgColor());
438 }
439 });
440
441 GridBagLayout gridbag = new GridBagLayout();
442 GridBagConstraints c = new GridBagConstraints();
443
444 JPanel ccp = new JPanel();
445 ccp.setLayout(gridbag);
446
447 c.fill = GridBagConstraints.NONE;
448
449 c.gridx = 0;
450 c.gridy = 0;
451 c.anchor = GridBagConstraints.WEST;
452 c.insets = new Insets(0, 3, 3, 3);
453 gridbag.setConstraints(checkBorderColor, c);
454 ccp.add(checkBorderColor);
455
456
457 c.gridx = 1;
458 c.gridy = 0;
459 gridbag.setConstraints(btnBorderColor, c);
460 ccp.add(btnBorderColor);
461
462 c.gridx = 0;
463 c.gridy = 1;
464 gridbag.setConstraints(checkHlChnBorderColor, c);
465 ccp.add(checkHlChnBorderColor);
466
467 c.gridx = 1;
468 c.gridy = 1;
469 gridbag.setConstraints(btnHlChnBorderColor, c);
470 ccp.add(btnHlChnBorderColor);
471
472 c.gridx = 0;
473 c.gridy = 2;
474 gridbag.setConstraints(checkSelChnBgColor, c);
475 ccp.add(checkSelChnBgColor);
476
477 c.gridx = 1;
478 c.gridy = 2;
479 gridbag.setConstraints(btnSelChnBgColor, c);
480 ccp.add(btnSelChnBgColor);
481
482 c.gridx = 0;
483 c.gridy = 3;
484 gridbag.setConstraints(checkHlChnBgColor, c);
485 ccp.add(checkHlChnBgColor);
486
487 c.gridx = 1;
488 c.gridy = 3;
489 gridbag.setConstraints(btnHlChnBgColor, c);
490 ccp.add(btnHlChnBgColor);
491
492 JPanel p = new JPanel();
493 p.setAlignmentX(LEFT_ALIGNMENT);
494 p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
495 p.setBorder(BorderFactory.createEmptyBorder(6, 0, 6, 6));
496 p.setMaximumSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE));
497
498 p.add(Box.createGlue());
499 p.add(btnDefaults);
500 p.add(Box.createGlue());
501
502 c.fill = GridBagConstraints.HORIZONTAL;
503 c.gridx = 0;
504 c.gridy = 4;
505 c.gridwidth = 2;
506 c.weightx = 1.0;
507 c.anchor = GridBagConstraints.CENTER;
508 gridbag.setConstraints(p, c);
509 ccp.add(p);
510
511 ccp.setBorder (
512 BorderFactory.createTitledBorder(i18n.getLabel("ViewPane.CustomColorsPane"))
513 );
514
515 ccp.setMaximumSize(new Dimension(Short.MAX_VALUE, ccp.getPreferredSize().height));
516
517 return ccp;
518 }
519
520 private String
521 getInterfaceLanguage() {
522 LocaleBox box = (LocaleBox)cbIfaceLanguage.getSelectedItem();
523 if(box == null) return null;
524 return box.getLocale().getLanguage();
525 }
526
527 private String
528 getInterfaceCountry() {
529 LocaleBox box = (LocaleBox)cbIfaceLanguage.getSelectedItem();
530 if(box == null) return null;
531 return box.getLocale().getCountry();
532 }
533
534 private String
535 getInterfaceFontName() { return cbIfaceFont.getSelectedItem().toString(); }
536
537 protected void
538 apply() {
539 boolean b = Prefs.setInterfaceLanguage(getInterfaceLanguage());
540 boolean b2 = Prefs.setInterfaceCountry(getInterfaceCountry());
541 if (b || b2) JOptionPane.showMessageDialog (
542 this,
543 i18n.getMessage("PrefsDlg.ifaceChangeInfo", "JS Classic"),
544 null,
545 JOptionPane.INFORMATION_MESSAGE
546 );
547
548 b = false;
549 String fontName = getInterfaceFontName();
550 if(fontName.equals("[Default]")) {
551 b = Prefs.setInterfaceFont(null);
552 } else if(Prefs.setInterfaceFont(fontName)) {
553 HF.setUIDefaultFont(fontName);
554 b = true;
555 }
556
557 if(b) JOptionPane.showMessageDialog (
558 this,
559 i18n.getMessage("PrefsDlg.ifaceFontChangeInfo", "JS Classic"),
560 null,
561 JOptionPane.INFORMATION_MESSAGE
562 );
563
564 ///***///
565
566 b = checkBorderColor.isSelected();
567 ClassicPrefs.setCustomChannelBorderColor(b);
568 if(b) ClassicPrefs.setChannelBorderColor(btnBorderColor.getColor());
569
570 Color c;
571 if(b) c = ClassicPrefs.getChannelBorderColor();
572 else c = ClassicPrefs.getDefaultChannelBorderColor();
573 Channel.setBorderColor(c);
574
575 b = checkHlChnBorderColor.isSelected();
576 ClassicPrefs.setCustomChannelBorderHlColor(b);
577 if(b) ClassicPrefs.setChannelBorderHlColor(btnHlChnBorderColor.getColor());
578
579 if(b) c = ClassicPrefs.getChannelBorderHlColor();
580 else c = ClassicPrefs.getDefaultChannelBorderHlColor();
581 Channel.setBorderHighlightedColor(c);
582
583 b = checkSelChnBgColor.isSelected();
584 ClassicPrefs.setCustomSelectedChannelBgColor(b);
585 if(b) ClassicPrefs.setSelectedChannelBgColor(btnSelChnBgColor.getColor());
586
587 if(b) c = ClassicPrefs.getSelectedChannelBgColor();
588 else c = new Color(getBackground().getRGB());
589 if(c == null) c = new Color(getBackground().getRGB());
590 Channel.setSelectedChannelBgColor(c);
591
592 b = checkHlChnBgColor.isSelected();
593 ClassicPrefs.setCustomHighlightedChannelBgColor(b);
594 if(b) ClassicPrefs.setHighlightedChannelBgColor(btnHlChnBgColor.getColor());
595
596 if(b) c = ClassicPrefs.getHighlightedChannelBgColor();
597 else c = new Color(getBackground().getRGB());
598 if(c == null) c = new Color(getBackground().getRGB());
599 Channel.setHighlightedChannelBgColor(c);
600 }
601
602 class LocaleBox {
603 private Locale locale;
604
605 LocaleBox(Locale locale) { this.locale = locale; }
606
607 public Locale
608 getLocale() { return locale; }
609
610 public String
611 toString() { return locale.getDisplayLanguage(JSI18n.i18n.getCurrentLocale()); }
612 }
613 }
614
615 class ConsolePane extends JSLSConsolePropsPane {
616 protected void
617 clearConsoleHistory() {
618 MainFrame mainFrame = (MainFrame)CC.getMainFrame();
619 mainFrame.getLSConsoleModel().clearCommandHistory();
620 }
621
622 protected void
623 apply() {
624 super.apply();
625
626 MainFrame mainFrame = (MainFrame)CC.getMainFrame();
627
628 LSConsoleModel model = mainFrame.getLSConsoleModel();
629 model.setCommandHistorySize(preferences().getIntProperty(LS_CONSOLE_HISTSIZE));
630
631 int c = preferences().getIntProperty(LS_CONSOLE_TEXT_COLOR);
632 mainFrame.setLSConsoleTextColor(new Color(c));
633
634 c = preferences().getIntProperty(LS_CONSOLE_BACKGROUND_COLOR);
635 mainFrame.setLSConsoleBackgroundColor(new Color(c));
636
637 c = preferences().getIntProperty(LS_CONSOLE_NOTIFY_COLOR);
638 mainFrame.setLSConsoleNotifyColor(new Color(c));
639
640 c = preferences().getIntProperty(LS_CONSOLE_WARNING_COLOR);
641 mainFrame.setLSConsoleWarningColor(new Color(c));
642
643 c = preferences().getIntProperty(LS_CONSOLE_ERROR_COLOR);
644 mainFrame.setLSConsoleErrorColor(new Color(c));
645 }
646 }

  ViewVC Help
Powered by ViewVC