PageRenderTime 34ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-0-pre5/org/gjt/sp/jedit/options/GeneralOptionPane.java

#
Java | 185 lines | 131 code | 19 blank | 35 comment | 5 complexity | e4e988f64d7f02648914d37af107a677 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. /*
  2. * GeneralOptionPane.java - General options panel
  3. * Copyright (C) 1998, 1999, 2000, 2001 Slava Pestov
  4. *
  5. * This program is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU General Public License
  7. * as published by the Free Software Foundation; either version 2
  8. * of the License, or any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with this program; if not, write to the Free Software
  17. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  18. */
  19. package org.gjt.sp.jedit.options;
  20. import javax.swing.*;
  21. import java.awt.event.*;
  22. import java.awt.*;
  23. import java.io.*;
  24. import org.gjt.sp.jedit.*;
  25. import org.gjt.sp.util.Log;
  26. public class GeneralOptionPane extends AbstractOptionPane
  27. {
  28. public GeneralOptionPane()
  29. {
  30. super("general");
  31. }
  32. // protected members
  33. protected void _init()
  34. {
  35. /* History count */
  36. history = new JTextField(jEdit.getProperty("history"));
  37. addComponent(jEdit.getProperty("options.general.history"),history);
  38. /* Save caret positions */
  39. saveCaret = new JCheckBox(jEdit.getProperty(
  40. "options.general.saveCaret"));
  41. saveCaret.setSelected(jEdit.getBooleanProperty("saveCaret"));
  42. addComponent(saveCaret);
  43. /* Sort buffers */
  44. sortBuffers = new JCheckBox(jEdit.getProperty(
  45. "options.general.sortBuffers"));
  46. sortBuffers.setSelected(jEdit.getBooleanProperty("sortBuffers"));
  47. sortBuffers.addActionListener(new ActionListener()
  48. {
  49. public void actionPerformed(ActionEvent evt)
  50. {
  51. sortByName.setEnabled(sortBuffers.isSelected());
  52. }
  53. });
  54. addComponent(sortBuffers);
  55. /* Sort buffers by names */
  56. sortByName = new JCheckBox(jEdit.getProperty(
  57. "options.general.sortByName"));
  58. sortByName.setSelected(jEdit.getBooleanProperty("sortByName"));
  59. sortByName.setEnabled(sortBuffers.isSelected());
  60. addComponent(sortByName);
  61. /* Sort recent file list */
  62. sortRecent = new JCheckBox(jEdit.getProperty(
  63. "options.general.sortRecent"));
  64. sortRecent.setSelected(jEdit.getBooleanProperty("sortRecent"));
  65. addComponent(sortRecent);
  66. /* Check mod status on focus */
  67. checkModStatus = new JCheckBox(jEdit.getProperty(
  68. "options.general.checkModStatus"));
  69. checkModStatus.setSelected(jEdit.getBooleanProperty(
  70. "view.checkModStatus"));
  71. addComponent(checkModStatus);
  72. /* Show full path */
  73. showFullPath = new JCheckBox(jEdit.getProperty(
  74. "options.general.showFullPath"));
  75. showFullPath.setSelected(jEdit.getBooleanProperty(
  76. "view.showFullPath"));
  77. addComponent(showFullPath);
  78. /* Show search bar */
  79. showSearchbar = new JCheckBox(jEdit.getProperty(
  80. "options.general.showSearchbar"));
  81. showSearchbar.setSelected(jEdit.getBooleanProperty(
  82. "view.showSearchbar"));
  83. addComponent(showSearchbar);
  84. /* Beep on search auto wrap */
  85. beepOnSearchAutoWrap = new JCheckBox(jEdit.getProperty(
  86. "options.general.beepOnSearchAutoWrap"));
  87. beepOnSearchAutoWrap.setSelected(jEdit.getBooleanProperty(
  88. "search.beepOnSearchAutoWrap"));
  89. addComponent(beepOnSearchAutoWrap);
  90. /* Show buffer switcher */
  91. showBufferSwitcher = new JCheckBox(jEdit.getProperty(
  92. "options.general.showBufferSwitcher"));
  93. showBufferSwitcher.setSelected(jEdit.getBooleanProperty(
  94. "view.showBufferSwitcher"));
  95. addComponent(showBufferSwitcher);
  96. /* Show tip of the day */
  97. showTips = new JCheckBox(jEdit.getProperty(
  98. "options.general.showTips"));
  99. showTips.setSelected(jEdit.getBooleanProperty("tip.show"));
  100. addComponent(showTips);
  101. /* Show splash screen */
  102. showSplash = new JCheckBox(jEdit.getProperty(
  103. "options.general.showSplash"));
  104. String settingsDirectory = jEdit.getSettingsDirectory();
  105. if(settingsDirectory == null)
  106. showSplash.setSelected(true);
  107. else
  108. showSplash.setSelected(!new File(settingsDirectory,"nosplash").exists());
  109. addComponent(showSplash);
  110. }
  111. protected void _save()
  112. {
  113. jEdit.setProperty("history",history.getText());
  114. jEdit.setBooleanProperty("saveCaret",saveCaret.isSelected());
  115. jEdit.setBooleanProperty("sortBuffers",sortBuffers.isSelected());
  116. jEdit.setBooleanProperty("sortByName",sortByName.isSelected());
  117. jEdit.setBooleanProperty("sortRecent",sortRecent.isSelected());
  118. jEdit.setBooleanProperty("view.checkModStatus",checkModStatus
  119. .isSelected());
  120. jEdit.setBooleanProperty("view.showFullPath",showFullPath
  121. .isSelected());
  122. jEdit.setBooleanProperty("view.showSearchbar",showSearchbar
  123. .isSelected());
  124. jEdit.setBooleanProperty("search.beepOnSearchAutoWrap",beepOnSearchAutoWrap
  125. .isSelected());
  126. jEdit.setBooleanProperty("view.showBufferSwitcher",
  127. showBufferSwitcher.isSelected());
  128. jEdit.setBooleanProperty("tip.show",showTips.isSelected());
  129. // this is handled a little differently from other jEdit settings
  130. // as the splash screen flag needs to be known very early in the
  131. // startup sequence, before the user properties have been loaded
  132. String settingsDirectory = jEdit.getSettingsDirectory();
  133. if(settingsDirectory != null)
  134. {
  135. File file = new File(settingsDirectory,"nosplash");
  136. if(showSplash.isSelected())
  137. file.delete();
  138. else
  139. {
  140. try
  141. {
  142. FileOutputStream out = new FileOutputStream(file);
  143. out.write('\n');
  144. out.close();
  145. }
  146. catch(IOException io)
  147. {
  148. Log.log(Log.ERROR,this,io);
  149. }
  150. }
  151. }
  152. }
  153. // private members
  154. private JTextField history;
  155. private JCheckBox saveCaret;
  156. private JCheckBox sortBuffers;
  157. private JCheckBox sortByName;
  158. private JCheckBox sortRecent;
  159. private JCheckBox checkModStatus;
  160. private JCheckBox showFullPath;
  161. private JCheckBox showSearchbar;
  162. private JCheckBox beepOnSearchAutoWrap;
  163. private JCheckBox showBufferSwitcher;
  164. private JCheckBox showTips;
  165. private JCheckBox showSplash;
  166. }