X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fgui%2FPreferencesPage.java;h=66ab6abd1bfe76bf27ddde289a8c8dcce76d52b6;hb=4f84b1633c3f3c9a8af2fa5e15b29fb1b728bb2e;hp=595f769832bca27497d7e317eb19d481107d81c3;hpb=a7d2ac9e58d1fffbb8a9c63c7d4081e8717a6f7f;p=jSite.git diff --git a/src/de/todesbaum/jsite/gui/PreferencesPage.java b/src/de/todesbaum/jsite/gui/PreferencesPage.java index 595f769..66ab6ab 100644 --- a/src/de/todesbaum/jsite/gui/PreferencesPage.java +++ b/src/de/todesbaum/jsite/gui/PreferencesPage.java @@ -1,5 +1,5 @@ /* - * jSite - PreferencesPage.java - Copyright © 2009–2011 David Roden + * jSite - PreferencesPage.java - Copyright © 2009–2012 David Roden * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,6 +29,8 @@ import javax.swing.Action; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComboBox; import javax.swing.JFileChooser; import javax.swing.JLabel; import javax.swing.JPanel; @@ -38,6 +40,7 @@ import javax.swing.JTextField; import de.todesbaum.jsite.i18n.I18n; import de.todesbaum.jsite.i18n.I18nContainer; import de.todesbaum.jsite.main.ConfigurationLocator.ConfigurationLocation; +import de.todesbaum.util.freenet.fcp2.PriorityClass; import de.todesbaum.util.swing.TWizard; import de.todesbaum.util.swing.TWizardPage; @@ -66,6 +69,12 @@ public class PreferencesPage extends TWizardPage { /** Action when selecting “custom directory.” */ private Action customDirectoryAction; + /** Action when selecting “use early encode.” */ + private Action useEarlyEncodeAction; + + /** Action when a priority was selected. */ + private Action priorityAction; + /** The text field containing the directory. */ private JTextField tempDirectoryTextField; @@ -75,6 +84,12 @@ public class PreferencesPage extends TWizardPage { /** The configuration location. */ private ConfigurationLocation configurationLocation; + /** Whether to use “early encode.” */ + private boolean useEarlyEncode; + + /** The prioriy for inserts. */ + private PriorityClass priority; + /** The “default” button. */ private JRadioButton defaultTempDirectory; @@ -90,6 +105,12 @@ public class PreferencesPage extends TWizardPage { /** The “custom directory” checkbox. */ private JRadioButton customDirectory; + /** The “use early encode” checkbox. */ + private JCheckBox useEarlyEncodeCheckBox; + + /** The insert priority select box. */ + private JComboBox insertPriorityComboBox; + /** * Creates a new “preferences” page. * @@ -200,6 +221,46 @@ public class PreferencesPage extends TWizardPage { } /** + * Returns whether to use the “early encode“ flag for the insert. + * + * @return {@code true} to set the “early encode” flag for the insert, + * {@code false} otherwise + */ + public boolean useEarlyEncode() { + return useEarlyEncode; + } + + /** + * Sets whether to use the “early encode“ flag for the insert. + * + * @param useEarlyEncode + * {@code true} to set the “early encode” flag for the insert, + * {@code false} otherwise + */ + public void setUseEarlyEncode(boolean useEarlyEncode) { + useEarlyEncodeCheckBox.setSelected(useEarlyEncode); + } + + /** + * Returns the configured insert priority. + * + * @return The insert priority + */ + public PriorityClass getPriority() { + return priority; + } + + /** + * Sets the insert priority. + * + * @param priority + * The insert priority + */ + public void setPriority(PriorityClass priority) { + insertPriorityComboBox.setSelectedItem(priority); + } + + /** * {@inheritDoc} */ @Override @@ -276,6 +337,20 @@ public class PreferencesPage extends TWizardPage { configurationLocation = ConfigurationLocation.CUSTOM; } }; + useEarlyEncodeAction = new AbstractAction(I18n.getMessage("jsite.preferences.insert-options.use-early-encode")) { + + @SuppressWarnings("synthetic-access") + public void actionPerformed(ActionEvent actionEvent) { + useEarlyEncode = useEarlyEncodeCheckBox.isSelected(); + } + }; + priorityAction = new AbstractAction(I18n.getMessage("jsite.preferences.insert-options.priority")) { + + @SuppressWarnings("synthetic-access") + public void actionPerformed(ActionEvent actionEvent) { + priority = (PriorityClass) insertPriorityComboBox.getSelectedItem(); + } + }; I18nContainer.getInstance().registerRunnable(new Runnable() { @@ -287,6 +362,7 @@ public class PreferencesPage extends TWizardPage { nextToJarFileAction.putValue(Action.NAME, I18n.getMessage("jsite.preferences.config-directory.jar")); homeDirectoryAction.putValue(Action.NAME, I18n.getMessage("jsite.preferences.config-directory.home")); customDirectoryAction.putValue(Action.NAME, I18n.getMessage("jsite.preferences.config-directory.custom")); + useEarlyEncodeAction.putValue(Action.NAME, I18n.getMessage("jsite.preferences.insert-options.use-early-encode")); } }); } @@ -344,6 +420,19 @@ public class PreferencesPage extends TWizardPage { configurationDirectoryButtonGroup.add(homeDirectory); configurationDirectoryButtonGroup.add(customDirectory); + final JLabel insertOptionsLabel = new JLabel("" + I18n.getMessage("jsite.preferences.insert-options") + ""); + preferencesPanel.add(insertOptionsLabel, new GridBagConstraints(0, 7, 3, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(12, 0, 0, 0), 0, 0)); + + useEarlyEncodeCheckBox = new JCheckBox(useEarlyEncodeAction); + preferencesPanel.add(useEarlyEncodeCheckBox, new GridBagConstraints(0, 8, 3, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 18, 0, 0), 0, 0)); + + final JLabel insertPriorityLabel = new JLabel(I18n.getMessage("jsite.preferences.insert-options.priority")); + preferencesPanel.add(insertPriorityLabel, new GridBagConstraints(0, 9, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 18, 0, 0), 0, 0)); + + insertPriorityComboBox = new JComboBox(new PriorityClass[] { PriorityClass.MINIMUM, PriorityClass.PREFETCH, PriorityClass.BULK, PriorityClass.UPDATABLE, PriorityClass.SEMI_INTERACTIVE, PriorityClass.INTERACTIVE, PriorityClass.MAXIMUM }); + insertPriorityComboBox.setAction(priorityAction); + preferencesPanel.add(insertPriorityComboBox, new GridBagConstraints(1, 9, 2, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.VERTICAL, new Insets(0, 18, 0, 0), 0, 0)); + I18nContainer.getInstance().registerRunnable(new Runnable() { /** @@ -352,6 +441,8 @@ public class PreferencesPage extends TWizardPage { public void run() { tempDirectoryLabel.setText("" + I18n.getMessage("jsite.preferences.temp-directory") + ""); configurationDirectoryLabel.setText("" + I18n.getMessage("jsite.preferences.config-directory") + ""); + insertOptionsLabel.setText("" + I18n.getMessage("jsite.preferences.insert-options") + ""); + insertPriorityLabel.setText(I18n.getMessage("jsite.preferences.insert-options.priority")); } });