X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fgui%2FPreferencesPage.java;h=5cf258afcdbf56c004663af24972b22366435a10;hb=refs%2Ftags%2F0.10;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..5cf258a 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,8 @@ 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.ClientPutDir.ManifestPutter;
+import de.todesbaum.util.freenet.fcp2.PriorityClass;
import de.todesbaum.util.swing.TWizard;
import de.todesbaum.util.swing.TWizardPage;
@@ -66,6 +70,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 +85,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 +106,15 @@ 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;
+
+ /** The manifest putter select box. */
+ private JComboBox manifestPutterComboBox;
+
/**
* Creates a new âpreferencesâ page.
*
@@ -200,6 +225,65 @@ 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);
+ }
+
+ /**
+ * Returns the selected manifest putter.
+ *
+ * @return The selected manifest putter
+ */
+ public ManifestPutter getManifestPutter() {
+ return (ManifestPutter) manifestPutterComboBox.getSelectedItem();
+ }
+
+ /**
+ * Sets the manifest putter.
+ *
+ * @param manifestPutter
+ * The manifest putter
+ */
+ public void setManifestPutter(ManifestPutter manifestPutter) {
+ manifestPutterComboBox.setSelectedItem(manifestPutter);
+ }
+
+ /**
* {@inheritDoc}
*/
@Override
@@ -276,6 +360,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 +385,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 +443,25 @@ 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.HORIZONTAL, new Insets(0, 18, 0, 0), 0, 0));
+
+ final JLabel manifestPutterLabel = new JLabel(I18n.getMessage("jsite.preferences.insert-options.manifest-putter"));
+ preferencesPanel.add(manifestPutterLabel, new GridBagConstraints(0, 10, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 18, 0, 0), 0, 0));
+
+ manifestPutterComboBox = new JComboBox(ManifestPutter.values());
+ preferencesPanel.add(manifestPutterComboBox, new GridBagConstraints(1, 10, 2, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.HORIZONTAL, new Insets(0, 18, 0, 0), 0, 0));
+
I18nContainer.getInstance().registerRunnable(new Runnable() {
/**
@@ -352,6 +470,9 @@ 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"));
+ manifestPutterLabel.setText(I18n.getMessage("jsite.preferences.insert-options.manifest-putter"));
}
});