Thread: [Jreepad-CVS] jreepad/src/jreepad PrefsDialog.java, NONE, 1.1 JreepadViewer.java, 1.48, 1.49
Brought to you by:
danstowell
From: PeWu <pe...@us...> - 2007-01-28 21:29:34
|
Update of /cvsroot/jreepad/jreepad/src/jreepad In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv25487/src/jreepad Modified Files: JreepadViewer.java Added Files: PrefsDialog.java Log Message: refactoring: refactored PrefsDialog class out of JreepadViewer --- NEW FILE: PrefsDialog.java --- package jreepad; import java.awt.Component; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JDialog; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSpinner; import javax.swing.JTextField; import javax.swing.SpinnerNumberModel; import javax.swing.SwingConstants; /** * The preferences dialog. * * @version $Id$ */ public class PrefsDialog extends JDialog { private JCheckBox loadLastFileOnOpenCheckBox; private JCheckBox autoDateNodesCheckBox; private JCheckBox autoDetectHtmlCheckBox; private JComboBox fileEncodingSelector; private JComboBox fileFormatSelector; private JCheckBox showGreenStripCheckBox; private JComboBox defaultSearchModeSelector; private JSpinner wrapWidthSpinner; private Box webSearchPrefsBox; private JTextField webSearchNameField; private JTextField webSearchPrefixField; private JTextField webSearchPostfixField; private JComboBox htmlExportModeSelector; private JCheckBox urlsToLinksCheckBox; private JComboBox htmlExportAnchorTypeSelector; private JButton prefsOkButton; private JButton prefsCancelButton; public PrefsDialog(Frame owner) { super(owner, JreepadViewer.lang.getString("PREFS_WINDOWTITLE"), true); setVisible(false); Box vBox = Box.createVerticalBox(); vBox.setAlignmentX(Component.LEFT_ALIGNMENT); Box genPrefVBox = Box.createVerticalBox(); vBox.setAlignmentX(Component.LEFT_ALIGNMENT); genPrefVBox.add(loadLastFileOnOpenCheckBox = new JCheckBox(JreepadViewer.lang .getString("PREFS_LOADLASTFILEONOPEN"), getPrefs().loadLastFileOnOpen)); loadLastFileOnOpenCheckBox.setHorizontalAlignment(SwingConstants.LEFT); loadLastFileOnOpenCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); genPrefVBox.add(autoDateNodesCheckBox = new JCheckBox(JreepadViewer.lang .getString("PREFS_AUTODATE_NODES"), getPrefs().autoDateInArticles)); autoDateNodesCheckBox.setHorizontalAlignment(SwingConstants.LEFT); autoDateNodesCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); genPrefVBox.add(autoDetectHtmlCheckBox = new JCheckBox(JreepadViewer.lang .getString("PREFS_AUTODETECT_HTML"), getPrefs().autoDetectHtmlArticles)); autoDetectHtmlCheckBox.setHorizontalAlignment(SwingConstants.LEFT); autoDetectHtmlCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); Box hBox = Box.createHorizontalBox(); hBox.setAlignmentX(Component.LEFT_ALIGNMENT); // hBox.add(Box.createGlue()); hBox.add(new JLabel(JreepadViewer.lang.getString("PREFS_CHAR_ENCODING"), SwingConstants.LEFT)); hBox.add(fileEncodingSelector = new JComboBox(JreepadPrefs.characterEncodings)); fileEncodingSelector.setAlignmentX(Component.LEFT_ALIGNMENT); hBox.add(Box.createGlue()); genPrefVBox.add(hBox); fileEncodingSelector.setSelectedIndex(getPrefs().fileEncoding); hBox = Box.createHorizontalBox(); hBox.setAlignmentX(Component.LEFT_ALIGNMENT); // hBox.add(Box.createGlue()); hBox.add(new JLabel(JreepadViewer.lang.getString("PREFS_SAVE_FILETYPE"), SwingConstants.LEFT)); hBox.add(fileFormatSelector = new JComboBox(JreepadPrefs.mainFileTypes)); fileFormatSelector.setAlignmentX(Component.LEFT_ALIGNMENT); hBox.add(Box.createGlue()); genPrefVBox.add(hBox); fileFormatSelector.setSelectedIndex(getPrefs().mainFileType); // genPrefVBox.add(quoteCsvCheckBox = new JCheckBox(lang.getString("PREFS_QUOTE_CSV"), // getPrefs().addQuotesToCsvOutput)); // quoteCsvCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); // quoteCsvCheckBox.setHorizontalAlignment(SwingConstants.LEFT); genPrefVBox.add(showGreenStripCheckBox = new JCheckBox(JreepadViewer.lang.getString("PREFS_GREEN_STRIP"), getPrefs().showGreenStrip)); showGreenStripCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); showGreenStripCheckBox.setHorizontalAlignment(SwingConstants.LEFT); JPanel genPanel = new JPanel(); genPanel.setAlignmentX(Component.LEFT_ALIGNMENT); genPanel.add(genPrefVBox); genPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), JreepadViewer.lang.getString("PREFS_GENERAL"))); vBox.add(genPanel); genPanel = new JPanel(); genPanel.setAlignmentX(Component.LEFT_ALIGNMENT); hBox = Box.createHorizontalBox(); hBox.setAlignmentX(Component.LEFT_ALIGNMENT); hBox.add(new JLabel(JreepadViewer.lang.getString("PREFS_DEFAULT_LINK_ACTION"), SwingConstants.LEFT)); hBox.add(defaultSearchModeSelector = new JComboBox(new String[] { JreepadViewer.lang.getString("PREFS_DEFAULT_LINK_ACTION_WEBSEARCH"), JreepadViewer.lang.getString("PREFS_DEFAULT_LINK_ACTION_NODESEARCH") })); hBox.add(Box.createGlue()); defaultSearchModeSelector.setSelectedIndex(getPrefs().defaultSearchMode); defaultSearchModeSelector.setAlignmentX(Component.LEFT_ALIGNMENT); genPanel.add(hBox); genPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), JreepadViewer.lang.getString("PREFS_LINK_ACTION_NAME"))); vBox.add(genPanel); genPanel = new JPanel(); genPanel.setAlignmentX(Component.LEFT_ALIGNMENT); genPrefVBox = Box.createVerticalBox(); // hBox = Box.createHorizontalBox(); // hBox.add(wrapToWindowCheckBox = new JCheckBox("Wrap article to window width", // getPrefs().wrapToWindow)); // hBox.add(new JLabel("(won't take effect until you restart Jreepad)")); // genPrefVBox.add(hBox); hBox = Box.createHorizontalBox(); hBox.setAlignmentX(Component.LEFT_ALIGNMENT); hBox.add(new JLabel(JreepadViewer.lang.getString("PREFS_HARDWRAP_WIDTH"), SwingConstants.LEFT)); hBox.add(wrapWidthSpinner = new JSpinner(new SpinnerNumberModel( getPrefs().characterWrapWidth, 1, 1000, 1))); hBox.add(Box.createGlue()); wrapWidthSpinner.setAlignmentX(Component.LEFT_ALIGNMENT); wrapWidthSpinner.getEditor().setAlignmentX(Component.LEFT_ALIGNMENT); // hBox.add(wrapWidthSpinner = new DSpinner(1,1000,getPrefs().characterWrapWidth)); hBox.add(Box.createGlue()); genPrefVBox.add(hBox); genPanel.add(genPrefVBox); genPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), JreepadViewer.lang.getString("PREFS_HARDWRAP_NAME"))); vBox.add(genPanel); // fontsPrefsBox = Box.createHorizontalBox(); // fontsPrefsBox.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), // "Font (for article)")); // Box tempVBox = Box.createHorizontalBox(); // tempVBox.add(new JLabel("Font for tree:")); // tempVBox.add(treeFontFamilySelector = new JComboBox(fonts)); // fontsPrefsBox.add(tempVBox); // tempVBox = Box.createHorizontalBox(); // fontsPrefsBox.add(new JLabel("Font face:")); // fontsPrefsBox.add(articleFontFamilySelector = new JComboBox(fonts)); // fontsPrefsBox.add(tempVBox); // tempVBox = Box.createHorizontalBox(); // tempVBox.add(new JLabel("Font size:")); // fontsPrefsBox.add(articleFontSizeSelector = new JComboBox(fontSizes)); // fontsPrefsBox.add(new JLabel("pt")); // fontsPrefsBox.add(tempVBox); // vBox.add(fontsPrefsBox); webSearchPrefsBox = Box.createVerticalBox(); webSearchPrefsBox.setAlignmentX(Component.LEFT_ALIGNMENT); hBox = Box.createHorizontalBox(); hBox.setAlignmentX(Component.LEFT_ALIGNMENT); hBox.add(new JLabel(JreepadViewer.lang.getString("PREFS_WEBSEARCH_LABEL1"), SwingConstants.LEFT)); hBox.add(webSearchNameField = new JTextField(getPrefs().webSearchName)); webSearchNameField.setAlignmentX(Component.LEFT_ALIGNMENT); hBox.add(new JLabel(JreepadViewer.lang.getString("PREFS_WEBSEARCH_LABEL2"), SwingConstants.LEFT)); hBox.add(Box.createGlue()); webSearchPrefsBox.add(hBox); hBox = Box.createHorizontalBox(); hBox.add(new JLabel("http://", SwingConstants.LEFT)); hBox.add(webSearchPrefixField = new JTextField(getPrefs().webSearchPrefix)); webSearchPrefixField.setAlignmentX(Component.LEFT_ALIGNMENT); hBox.add(new JLabel(JreepadViewer.lang.getString("PREFS_SELECTEDTEXT_PLACEHOLDER"), SwingConstants.LEFT)); hBox.add(webSearchPostfixField = new JTextField(getPrefs().webSearchPostfix)); webSearchPostfixField.setAlignmentX(Component.LEFT_ALIGNMENT); webSearchPrefsBox.add(hBox); JPanel webSearchPanel = new JPanel(); webSearchPanel.setAlignmentX(Component.LEFT_ALIGNMENT); webSearchPanel.add(webSearchPrefsBox); webSearchPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory .createEtchedBorder(), JreepadViewer.lang.getString("PREFS_WEBSEARCH_NAME"))); vBox.add(webSearchPanel); // Now the HTML export options genPanel = new JPanel(); genPanel.setAlignmentX(Component.LEFT_ALIGNMENT); genPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), JreepadViewer.lang.getString("PREFS_HTML_NAME"))); Box htmlVBox = Box.createVerticalBox(); htmlVBox.setAlignmentX(Component.LEFT_ALIGNMENT); hBox = Box.createHorizontalBox(); hBox.setAlignmentX(Component.LEFT_ALIGNMENT); // hBox.add(Box.createGlue()); hBox.add(new JLabel(JreepadViewer.lang.getString("PREFS_HTML_TREATTEXTAS"), SwingConstants.LEFT)); htmlExportModeSelector = new JComboBox(JreepadArticle.getHtmlExportArticleTypes()); htmlExportModeSelector.setAlignmentX(Component.LEFT_ALIGNMENT); htmlExportModeSelector.setSelectedIndex(getPrefs().htmlExportArticleType); htmlExportModeSelector.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (htmlExportModeSelector.getSelectedIndex() == 2) { urlsToLinksCheckBox.setEnabled(false); urlsToLinksCheckBox.setSelected(false); } else { urlsToLinksCheckBox.setEnabled(true); urlsToLinksCheckBox.setSelected(getPrefs().htmlExportUrlsToLinks); } } }); hBox.add(htmlExportModeSelector); hBox.add(Box.createGlue()); htmlVBox.add(hBox); htmlVBox.add(urlsToLinksCheckBox = new JCheckBox(JreepadViewer.lang.getString("PREFS_HTML_AUTOLINK"), getPrefs().htmlExportUrlsToLinks)); urlsToLinksCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); urlsToLinksCheckBox.setHorizontalAlignment(SwingConstants.LEFT); hBox = Box.createHorizontalBox(); hBox.setAlignmentX(Component.LEFT_ALIGNMENT); // hBox.add(Box.createGlue()); hBox.add(new JLabel(JreepadViewer.lang.getString("PREFS_HTML_INTERNALLINKS"), SwingConstants.LEFT)); htmlExportAnchorTypeSelector = new JComboBox(JreepadArticle.getHtmlExportAnchorLinkTypes()); htmlExportAnchorTypeSelector.setSelectedIndex(getPrefs().htmlExportAnchorLinkType); htmlExportAnchorTypeSelector.setAlignmentX(Component.LEFT_ALIGNMENT); hBox.add(htmlExportAnchorTypeSelector); hBox.add(Box.createGlue()); htmlVBox.add(hBox); genPanel.add(htmlVBox); vBox.add(genPanel); genPanel = new JPanel(); genPanel.setAlignmentX(Component.LEFT_ALIGNMENT); hBox = Box.createHorizontalBox(); hBox.setAlignmentX(Component.CENTER_ALIGNMENT); hBox.add(prefsOkButton = new JButton(JreepadViewer.lang.getString("OK"))); hBox.add(prefsCancelButton = new JButton(JreepadViewer.lang.getString("CANCEL"))); prefsOkButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { getPrefs().loadLastFileOnOpen = loadLastFileOnOpenCheckBox.isSelected(); getPrefs().autoDateInArticles = autoDateNodesCheckBox.isSelected(); getPrefs().autoDetectHtmlArticles = autoDetectHtmlCheckBox.isSelected(); getPrefs().webSearchName = webSearchNameField.getText(); getPrefs().webSearchPrefix = webSearchPrefixField.getText(); getPrefs().webSearchPostfix = webSearchPostfixField.getText(); getPrefs().defaultSearchMode = defaultSearchModeSelector.getSelectedIndex(); getPrefs().fileEncoding = fileEncodingSelector.getSelectedIndex(); getPrefs().mainFileType = fileFormatSelector.getSelectedIndex(); getPrefs().characterWrapWidth = ((Integer)(wrapWidthSpinner.getValue())) .intValue(); // getPrefs().characterWrapWidth = wrapWidthSpinner.getValue(); // setFontsFromPrefsBox(); // getPrefs().wrapToWindow = wrapToWindowCheckBox.isSelected(); // theJreepad.setEditorPaneKit(); getPrefs().htmlExportArticleType = htmlExportModeSelector.getSelectedIndex(); getPrefs().htmlExportAnchorLinkType = htmlExportAnchorTypeSelector .getSelectedIndex(); // getPrefs().addQuotesToCsvOutput = quoteCsvCheckBox.isSelected(); getPrefs().showGreenStrip = showGreenStripCheckBox.isSelected(); // If exporting as HTML then we ignore this checkbox if (htmlExportModeSelector.getSelectedIndex() != 2) getPrefs().htmlExportUrlsToLinks = urlsToLinksCheckBox.isSelected(); getPrefs().save(); setVisible(false); } }); prefsCancelButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { setVisible(false); } }); genPanel.add(hBox); vBox.add(genPanel); getContentPane().add(vBox); // Finished establishing the prefs dialogue box } private static JreepadPrefs getPrefs() { return JreepadView.getPrefs(); } } Index: JreepadViewer.java =================================================================== RCS file: /cvsroot/jreepad/jreepad/src/jreepad/JreepadViewer.java,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** JreepadViewer.java 26 Jan 2007 21:47:55 -0000 1.48 --- JreepadViewer.java 28 Jan 2007 21:29:30 -0000 1.49 *************** *** 24,29 **** import javax.swing.event.*; import javax.swing.table.*; - import javax.swing.text.*; - import javax.swing.text.html.*; import javax.swing.undo.*; import java.awt.*; --- 24,27 ---- *************** *** 31,35 **** import java.io.*; import java.util.*; - import java.net.MalformedURLException; import java.net.URL; import java.awt.datatransfer.*; --- 29,32 ---- *************** *** 37,43 **** //import javax.swing.plaf.metal.MetalIconFactory; // For icons - // For reflection and Mac OSX specific things - import com.apple.eawt.*; - import edu.stanford.ejalbert.BrowserLauncher; import edu.stanford.ejalbert.exception.BrowserLaunchingExecutionException; --- 34,37 ---- *************** *** 66,71 **** // private static final String[] fontSizes = new String[] {"8","9","10","11","12","13","14","16","18","20","24","30","36"}; - private File tempToBrowserFile; - private JFileChooser fileChooser; --- 60,63 ---- *************** *** 98,108 **** private Thread autoSaveThread; - private JDialog htmlExportDialog; - private JCheckBox urlsToLinksCheckBox; - private JButton htmlExportOkButton; - private JButton htmlExportCancelButton; - private JComboBox htmlExportModeSelector; - private JComboBox htmlExportAnchorTypeSelector; - private JDialog autoSaveDialog; private JCheckBox autoSaveCheckBox; --- 90,93 ---- *************** *** 113,149 **** private JDialog prefsDialog; - private JCheckBox loadLastFileOnOpenCheckBox; - private JCheckBox autoDateNodesCheckBox; - private JCheckBox autoDetectHtmlCheckBox; - private JComboBox fileEncodingSelector; - private JComboBox fileFormatSelector; - // private Box fontsPrefsBox; - // private JComboBox treeFontFamilySelector; - // private JComboBox treeFontSizeSelector; - // private JComboBox articleFontFamilySelector; - // private JComboBox articleFontSizeSelector; - private JSpinner wrapWidthSpinner; - // private DSpinner wrapWidthSpinner; - private Box webSearchPrefsBox; - private JComboBox defaultSearchModeSelector; - private JTextField webSearchNameField; - private JTextField webSearchPrefixField; - private JTextField webSearchPostfixField; - private JCheckBox wrapToWindowCheckBox; - private JCheckBox quoteCsvCheckBox; - private JCheckBox showGreenStripCheckBox; - private JButton prefsOkButton; - private JButton prefsCancelButton; private JDialog searchDialog; private JTextField nodeSearchField; - private JTextField articleSearchField; - private JComboBox searchCombinatorSelector; private JCheckBox searchCaseCheckBox; private JComboBox searchWhereSelector; private JSpinner searchMaxNumSpinner; - // private DSpinner searchMaxNumSpinner; - private JButton searchGoButton; - private JButton searchCloseButton; private JLabel searchResultsLabel; private JTable searchResultsTable; --- 98,107 ---- *************** *** 157,161 **** private JMenuBar menuBar; private JMenu fileMenu; - private JMenuItem newWindowMenuItem; private JMenuItem newMenuItem; private JMenuItem openMenuItem; --- 115,118 ---- *************** *** 308,312 **** establishToolbar(); establishSearchDialogue(); ! establishPrefsDialogue(); establishAutosaveDialogue(); establishNodeUrlDisplayDialogue(); --- 265,269 ---- establishToolbar(); establishSearchDialogue(); ! prefsDialog = new PrefsDialog(this); establishAutosaveDialogue(); establishNodeUrlDisplayDialogue(); *************** *** 1242,1459 **** } - private void establishPrefsDialogue() - { - Box hBox, vBox; - // Establish the prefs dialogue box - prefsDialog = new JDialog(this, lang.getString("PREFS_WINDOWTITLE"), true); - prefsDialog.setVisible(false); - vBox = Box.createVerticalBox(); - vBox.setAlignmentX(Component.LEFT_ALIGNMENT); - Box genPrefVBox = Box.createVerticalBox(); - vBox.setAlignmentX(Component.LEFT_ALIGNMENT); - genPrefVBox.add(loadLastFileOnOpenCheckBox = new JCheckBox(lang.getString("PREFS_LOADLASTFILEONOPEN"), getPrefs().loadLastFileOnOpen)); - loadLastFileOnOpenCheckBox.setHorizontalAlignment(SwingConstants.LEFT); - loadLastFileOnOpenCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); - genPrefVBox.add(autoDateNodesCheckBox = new JCheckBox(lang.getString("PREFS_AUTODATE_NODES"), getPrefs().autoDateInArticles)); - autoDateNodesCheckBox.setHorizontalAlignment(SwingConstants.LEFT); - autoDateNodesCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); - genPrefVBox.add(autoDetectHtmlCheckBox = new JCheckBox(lang.getString("PREFS_AUTODETECT_HTML"), getPrefs().autoDetectHtmlArticles)); - autoDetectHtmlCheckBox.setHorizontalAlignment(SwingConstants.LEFT); - autoDetectHtmlCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); - - hBox = Box.createHorizontalBox(); - hBox.setAlignmentX(Component.LEFT_ALIGNMENT); - // hBox.add(Box.createGlue()); - hBox.add(new JLabel(lang.getString("PREFS_CHAR_ENCODING"), SwingConstants.LEFT)); - hBox.add(fileEncodingSelector = new JComboBox(getPrefs().characterEncodings)); - fileEncodingSelector.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox.add(Box.createGlue()); - genPrefVBox.add(hBox); - fileEncodingSelector.setSelectedIndex(getPrefs().fileEncoding); - - hBox = Box.createHorizontalBox(); - hBox.setAlignmentX(Component.LEFT_ALIGNMENT); - // hBox.add(Box.createGlue()); - hBox.add(new JLabel(lang.getString("PREFS_SAVE_FILETYPE"), SwingConstants.LEFT)); - hBox.add(fileFormatSelector = new JComboBox(getPrefs().mainFileTypes)); - fileFormatSelector.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox.add(Box.createGlue()); - genPrefVBox.add(hBox); - fileFormatSelector.setSelectedIndex(getPrefs().mainFileType); - - // genPrefVBox.add(quoteCsvCheckBox = new JCheckBox(lang.getString("PREFS_QUOTE_CSV"), getPrefs().addQuotesToCsvOutput)); - // quoteCsvCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); - // quoteCsvCheckBox.setHorizontalAlignment(SwingConstants.LEFT); - genPrefVBox.add(showGreenStripCheckBox = new JCheckBox(lang.getString("PREFS_GREEN_STRIP"), getPrefs().showGreenStrip)); - showGreenStripCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); - showGreenStripCheckBox.setHorizontalAlignment(SwingConstants.LEFT); - - JPanel genPanel = new JPanel(); - genPanel.setAlignmentX(Component.LEFT_ALIGNMENT); - genPanel.add(genPrefVBox); - genPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), lang.getString("PREFS_GENERAL"))); - vBox.add(genPanel); - - genPanel = new JPanel(); - genPanel.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox = Box.createHorizontalBox(); - hBox.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox.add(new JLabel(lang.getString("PREFS_DEFAULT_LINK_ACTION"), SwingConstants.LEFT)); - hBox.add(defaultSearchModeSelector = new JComboBox(new String[]{lang.getString("PREFS_DEFAULT_LINK_ACTION_WEBSEARCH"),lang.getString("PREFS_DEFAULT_LINK_ACTION_NODESEARCH")})); - hBox.add(Box.createGlue()); - defaultSearchModeSelector.setSelectedIndex(getPrefs().defaultSearchMode); - defaultSearchModeSelector.setAlignmentX(Component.LEFT_ALIGNMENT); - genPanel.add(hBox); - genPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), lang.getString("PREFS_LINK_ACTION_NAME"))); - vBox.add(genPanel); - - genPanel = new JPanel(); - genPanel.setAlignmentX(Component.LEFT_ALIGNMENT); - genPrefVBox = Box.createVerticalBox(); - // hBox = Box.createHorizontalBox(); - // hBox.add(wrapToWindowCheckBox = new JCheckBox("Wrap article to window width", getPrefs().wrapToWindow)); - // hBox.add(new JLabel("(won't take effect until you restart Jreepad)")); - // genPrefVBox.add(hBox); - hBox = Box.createHorizontalBox(); - hBox.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox.add(new JLabel(lang.getString("PREFS_HARDWRAP_WIDTH"), SwingConstants.LEFT)); - hBox.add(wrapWidthSpinner = new JSpinner(new SpinnerNumberModel(getPrefs().characterWrapWidth,1,1000,1))); - hBox.add(Box.createGlue()); - wrapWidthSpinner.setAlignmentX(Component.LEFT_ALIGNMENT); - wrapWidthSpinner.getEditor().setAlignmentX(Component.LEFT_ALIGNMENT); - // hBox.add(wrapWidthSpinner = new DSpinner(1,1000,getPrefs().characterWrapWidth)); - hBox.add(Box.createGlue()); - genPrefVBox.add(hBox); - genPanel.add(genPrefVBox); - genPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), lang.getString("PREFS_HARDWRAP_NAME"))); - vBox.add(genPanel); - - // fontsPrefsBox = Box.createHorizontalBox(); - // fontsPrefsBox.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Font (for article)")); - // Box tempVBox = Box.createHorizontalBox(); - // tempVBox.add(new JLabel("Font for tree:")); - // tempVBox.add(treeFontFamilySelector = new JComboBox(fonts)); - // fontsPrefsBox.add(tempVBox); - // tempVBox = Box.createHorizontalBox(); - // fontsPrefsBox.add(new JLabel("Font face:")); - // fontsPrefsBox.add(articleFontFamilySelector = new JComboBox(fonts)); - // fontsPrefsBox.add(tempVBox); - // tempVBox = Box.createHorizontalBox(); - // tempVBox.add(new JLabel("Font size:")); - // fontsPrefsBox.add(articleFontSizeSelector = new JComboBox(fontSizes)); - // fontsPrefsBox.add(new JLabel("pt")); - // fontsPrefsBox.add(tempVBox); - // vBox.add(fontsPrefsBox); - - webSearchPrefsBox = Box.createVerticalBox(); - webSearchPrefsBox.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox = Box.createHorizontalBox(); - hBox.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox.add(new JLabel(lang.getString("PREFS_WEBSEARCH_LABEL1"), SwingConstants.LEFT)); - hBox.add(webSearchNameField = new JTextField(getPrefs().webSearchName)); - webSearchNameField.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox.add(new JLabel(lang.getString("PREFS_WEBSEARCH_LABEL2"), SwingConstants.LEFT)); - hBox.add(Box.createGlue()); - webSearchPrefsBox.add(hBox); - hBox = Box.createHorizontalBox(); - hBox.add(new JLabel("http://", SwingConstants.LEFT)); - hBox.add(webSearchPrefixField = new JTextField(getPrefs().webSearchPrefix)); - webSearchPrefixField.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox.add(new JLabel(lang.getString("PREFS_SELECTEDTEXT_PLACEHOLDER"), SwingConstants.LEFT)); - hBox.add(webSearchPostfixField = new JTextField(getPrefs().webSearchPostfix)); - webSearchPostfixField.setAlignmentX(Component.LEFT_ALIGNMENT); - webSearchPrefsBox.add(hBox); - JPanel webSearchPanel = new JPanel(); - webSearchPanel.setAlignmentX(Component.LEFT_ALIGNMENT); - webSearchPanel.add(webSearchPrefsBox); - webSearchPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), lang.getString("PREFS_WEBSEARCH_NAME"))); - vBox.add(webSearchPanel); - - // Now the HTML export options - genPanel = new JPanel(); - genPanel.setAlignmentX(Component.LEFT_ALIGNMENT); - genPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), lang.getString("PREFS_HTML_NAME"))); - Box htmlVBox = Box.createVerticalBox(); - htmlVBox.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox = Box.createHorizontalBox(); - hBox.setAlignmentX(Component.LEFT_ALIGNMENT); - // hBox.add(Box.createGlue()); - hBox.add(new JLabel(lang.getString("PREFS_HTML_TREATTEXTAS"), SwingConstants.LEFT)); - htmlExportModeSelector = new JComboBox(JreepadArticle.getHtmlExportArticleTypes()); - htmlExportModeSelector.setAlignmentX(Component.LEFT_ALIGNMENT); - htmlExportModeSelector.setSelectedIndex(getPrefs().htmlExportArticleType); - htmlExportModeSelector.addActionListener(new ActionListener(){ - public void actionPerformed(ActionEvent e){ - if(htmlExportModeSelector.getSelectedIndex()==2) - { - urlsToLinksCheckBox.setEnabled(false); - urlsToLinksCheckBox.setSelected(false); - } - else - { - urlsToLinksCheckBox.setEnabled(true); - urlsToLinksCheckBox.setSelected(getPrefs().htmlExportUrlsToLinks); - } - }}); - hBox.add(htmlExportModeSelector); - hBox.add(Box.createGlue()); - htmlVBox.add(hBox); - htmlVBox.add(urlsToLinksCheckBox = new JCheckBox(lang.getString("PREFS_HTML_AUTOLINK"), getPrefs().htmlExportUrlsToLinks)); - urlsToLinksCheckBox.setAlignmentX(Component.LEFT_ALIGNMENT); - urlsToLinksCheckBox.setHorizontalAlignment(SwingConstants.LEFT); - hBox = Box.createHorizontalBox(); - hBox.setAlignmentX(Component.LEFT_ALIGNMENT); - // hBox.add(Box.createGlue()); - hBox.add(new JLabel(lang.getString("PREFS_HTML_INTERNALLINKS"), SwingConstants.LEFT)); - htmlExportAnchorTypeSelector = new JComboBox(JreepadArticle.getHtmlExportAnchorLinkTypes()); - htmlExportAnchorTypeSelector.setSelectedIndex(getPrefs().htmlExportAnchorLinkType); - htmlExportAnchorTypeSelector.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox.add(htmlExportAnchorTypeSelector); - hBox.add(Box.createGlue()); - htmlVBox.add(hBox); - genPanel.add(htmlVBox); - vBox.add(genPanel); - - genPanel = new JPanel(); - genPanel.setAlignmentX(Component.LEFT_ALIGNMENT); - hBox = Box.createHorizontalBox(); - hBox.setAlignmentX(Component.CENTER_ALIGNMENT); - hBox.add(prefsOkButton = new JButton(lang.getString("OK"))); - hBox.add(prefsCancelButton = new JButton(lang.getString("CANCEL"))); - prefsOkButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){ - getPrefs().loadLastFileOnOpen = loadLastFileOnOpenCheckBox.isSelected(); - getPrefs().autoDateInArticles = autoDateNodesCheckBox.isSelected(); - getPrefs().autoDetectHtmlArticles = autoDetectHtmlCheckBox.isSelected(); - webSearchMenuItem.setText(getPrefs().webSearchName = webSearchNameField.getText()); - getPrefs().webSearchPrefix = webSearchPrefixField.getText(); - getPrefs().webSearchPostfix = webSearchPostfixField.getText(); - getPrefs().defaultSearchMode = defaultSearchModeSelector.getSelectedIndex(); - getPrefs().fileEncoding = fileEncodingSelector.getSelectedIndex(); - getPrefs().mainFileType = fileFormatSelector.getSelectedIndex(); - getPrefs().characterWrapWidth = ((Integer)(wrapWidthSpinner.getValue())).intValue(); - // getPrefs().characterWrapWidth = wrapWidthSpinner.getValue(); - characterWrapArticleMenuItem.setText(lang.getString("MENUITEM_HARDWRAP1") + getPrefs().characterWrapWidth + lang.getString("MENUITEM_HARDWRAP2")); - // setFontsFromPrefsBox(); - // getPrefs().wrapToWindow = wrapToWindowCheckBox.isSelected(); - // theJreepad.setEditorPaneKit(); - getPrefs().htmlExportArticleType = htmlExportModeSelector.getSelectedIndex(); - getPrefs().htmlExportAnchorLinkType = htmlExportAnchorTypeSelector.getSelectedIndex(); - // getPrefs().addQuotesToCsvOutput = quoteCsvCheckBox.isSelected(); - getPrefs().showGreenStrip = showGreenStripCheckBox.isSelected(); - funkyGreenStrip.setVisible(getPrefs().showGreenStrip); - - // If exporting as HTML then we ignore this checkbox - if(htmlExportModeSelector.getSelectedIndex()!=2) - getPrefs().htmlExportUrlsToLinks = urlsToLinksCheckBox.isSelected(); - getPrefs().save(); - prefsDialog.setVisible(false); - }}); - prefsCancelButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){prefsDialog.setVisible(false);}}); - genPanel.add(hBox); - vBox.add(genPanel); - prefsDialog.getContentPane().add(vBox); - // Finished establishing the prefs dialogue box - } - public void establishAutosaveDialogue() { --- 1199,1202 ---- *************** *** 2201,2210 **** private void showPrefsDialog() { - // First make sure the components in the dialogue reflect the true state - loadLastFileOnOpenCheckBox.setSelected(getPrefs().loadLastFileOnOpen); - autoDateNodesCheckBox.setSelected(getPrefs().autoDateInArticles); - prefsDialog.setVisible(true); prefsDialog.toFront(); } --- 1944,1955 ---- private void showPrefsDialog() { prefsDialog.setVisible(true); prefsDialog.toFront(); + + // Apply preferences that immediately affect the GUI + funkyGreenStrip.setVisible(getPrefs().showGreenStrip); + webSearchMenuItem.setText(getPrefs().webSearchName); + characterWrapArticleMenuItem.setText(JreepadViewer.lang.getString("MENUITEM_HARDWRAP1") + + getPrefs().characterWrapWidth + JreepadViewer.lang.getString("MENUITEM_HARDWRAP2")); } *************** *** 2779,2784 **** } */ - - - } \ No newline at end of file --- 2524,2526 ---- |