/jEdit/tags/jedit-4-0-pre3/org/gjt/sp/jedit/options/BrowserOptionPane.java

# · Java · 157 lines · 105 code · 15 blank · 37 comment · 7 complexity · fa8e0647bcc3e738654d4c6a370fa1ca MD5 · raw file

  1. /*
  2. * BrowserOptionPane.java - Browser options panel
  3. * :tabSize=8:indentSize=8:noTabs=false:
  4. * :folding=explicit:collapseFolds=1:
  5. *
  6. * Copyright (C) 2000, 2001 Slava Pestov
  7. *
  8. * This program is free software; you can redistribute it and/or
  9. * modify it under the terms of the GNU General Public License
  10. * as published by the Free Software Foundation; either version 2
  11. * of the License, or any later version.
  12. *
  13. * This program is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  16. * GNU General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU General Public License
  19. * along with this program; if not, write to the Free Software
  20. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  21. */
  22. package org.gjt.sp.jedit.options;
  23. //{{{ Imports
  24. import javax.swing.table.*;
  25. import javax.swing.*;
  26. import java.awt.*;
  27. import java.util.Vector;
  28. import org.gjt.sp.jedit.*;
  29. //}}}
  30. public class BrowserOptionPane extends AbstractOptionPane
  31. {
  32. //{{{ BrowserOptionPane constructor
  33. public BrowserOptionPane()
  34. {
  35. super("browser.general");
  36. } //}}}
  37. //{{{ _init() method
  38. public void _init()
  39. {
  40. /* Default directory */
  41. String[] dirs = {
  42. jEdit.getProperty("options.browser.general.defaultPath.buffer"),
  43. jEdit.getProperty("options.browser.general.defaultPath.home"),
  44. jEdit.getProperty("options.browser.general.defaultPath.favorites"),
  45. jEdit.getProperty("options.browser.general.defaultPath.last")
  46. };
  47. defaultDirectory = new JComboBox(dirs);
  48. String defaultDir = jEdit.getProperty("vfs.browser.defaultPath");
  49. if("buffer".equals(defaultDir))
  50. defaultDirectory.setSelectedIndex(0);
  51. else if("home".equals(defaultDir))
  52. defaultDirectory.setSelectedIndex(1);
  53. else if("favorites".equals(defaultDir))
  54. defaultDirectory.setSelectedIndex(2);
  55. else if("last".equals(defaultDir))
  56. defaultDirectory.setSelectedIndex(3);
  57. addComponent(jEdit.getProperty("options.browser.general.defaultPath"),
  58. defaultDirectory);
  59. /* Show tool bar */
  60. showToolbar = new JCheckBox(jEdit.getProperty("options.browser"
  61. + ".general.showToolbar"));
  62. showToolbar.setSelected(jEdit.getBooleanProperty("vfs.browser"
  63. + ".showToolbar"));
  64. addComponent(showToolbar);
  65. /* Show icons */
  66. showIcons = new JCheckBox(jEdit.getProperty("options.browser"
  67. + ".general.showIcons"));
  68. showIcons.setSelected(jEdit.getBooleanProperty("vfs.browser"
  69. + ".showIcons"));
  70. addComponent(showIcons);
  71. /* Show hidden files */
  72. showHiddenFiles = new JCheckBox(jEdit.getProperty("options.browser"
  73. + ".general.showHiddenFiles"));
  74. showHiddenFiles.setSelected(jEdit.getBooleanProperty("vfs.browser"
  75. + ".showHiddenFiles"));
  76. addComponent(showHiddenFiles);
  77. /* Sort file list */
  78. sortFiles = new JCheckBox(jEdit.getProperty("options.browser"
  79. + ".general.sortFiles"));
  80. sortFiles.setSelected(jEdit.getBooleanProperty("vfs.browser"
  81. + ".sortFiles"));
  82. addComponent(sortFiles);
  83. /* Ignore case when sorting */
  84. sortIgnoreCase = new JCheckBox(jEdit.getProperty("options.browser"
  85. + ".general.sortIgnoreCase"));
  86. sortIgnoreCase.setSelected(jEdit.getBooleanProperty("vfs.browser"
  87. + ".sortIgnoreCase"));
  88. addComponent(sortIgnoreCase);
  89. /* Mix files and directories */
  90. sortMixFilesAndDirs = new JCheckBox(jEdit.getProperty("options.browser"
  91. + ".general.sortMixFilesAndDirs"));
  92. sortMixFilesAndDirs.setSelected(jEdit.getBooleanProperty("vfs.browser"
  93. + ".sortMixFilesAndDirs"));
  94. addComponent(sortMixFilesAndDirs);
  95. /* Double-click close */
  96. doubleClickClose = new JCheckBox(jEdit.getProperty("options.browser"
  97. + ".general.doubleClickClose"));
  98. doubleClickClose.setSelected(jEdit.getBooleanProperty("vfs.browser"
  99. + ".doubleClickClose"));
  100. addComponent(doubleClickClose);
  101. /* Base filter in open/save dialogs on current buffer name */
  102. currentBufferFilter = new JCheckBox(jEdit.getProperty("options.browser"
  103. + ".general.currentBufferFilter"));
  104. currentBufferFilter.setSelected(jEdit.getBooleanProperty("vfs.browser"
  105. + ".currentBufferFilter"));
  106. addComponent(currentBufferFilter);
  107. } //}}}
  108. //{{{ _save() method
  109. public void _save()
  110. {
  111. String[] dirs = { "buffer", "home", "favorites", "last" };
  112. jEdit.setProperty("vfs.browser.defaultPath",dirs[defaultDirectory
  113. .getSelectedIndex()]);
  114. jEdit.setBooleanProperty("vfs.browser.showToolbar",
  115. showToolbar.isSelected());
  116. jEdit.setBooleanProperty("vfs.browser.showIcons",
  117. showIcons.isSelected());
  118. jEdit.setBooleanProperty("vfs.browser.showHiddenFiles",
  119. showHiddenFiles.isSelected());
  120. jEdit.setBooleanProperty("vfs.browser.sortFiles",
  121. sortFiles.isSelected());
  122. jEdit.setBooleanProperty("vfs.browser.sortIgnoreCase",
  123. sortIgnoreCase.isSelected());
  124. jEdit.setBooleanProperty("vfs.browser.sortMixFilesAndDirs",
  125. sortMixFilesAndDirs.isSelected());
  126. jEdit.setBooleanProperty("vfs.browser.doubleClickClose",
  127. doubleClickClose.isSelected());
  128. jEdit.setBooleanProperty("vfs.browser.currentBufferFilter",
  129. currentBufferFilter.isSelected());
  130. } //}}}
  131. //{{{ Private members
  132. private JComboBox defaultDirectory;
  133. private JCheckBox showToolbar;
  134. private JCheckBox showIcons;
  135. private JCheckBox showHiddenFiles;
  136. private JCheckBox sortFiles;
  137. private JCheckBox sortIgnoreCase;
  138. private JCheckBox sortMixFilesAndDirs;
  139. private JCheckBox doubleClickClose;
  140. private JCheckBox currentBufferFilter;
  141. //}}}
  142. }