X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fgui%2FPreferencesPage.java;h=914e74b1ab2c37b079ff41757bcc76915897df3e;hb=593eba180ca6538a680810651f127fbcf0a620a3;hp=9c84c2e31e454edc26f796bb3f40cc6f2ba48a39;hpb=e47e15fdbb7515f5a3757c3f5df8c1d0950aee8e;p=jSite.git
diff --git a/src/de/todesbaum/jsite/gui/PreferencesPage.java b/src/de/todesbaum/jsite/gui/PreferencesPage.java
index 9c84c2e..914e74b 100644
--- a/src/de/todesbaum/jsite/gui/PreferencesPage.java
+++ b/src/de/todesbaum/jsite/gui/PreferencesPage.java
@@ -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.
*
@@ -106,6 +131,7 @@ public class PreferencesPage extends TWizardPage {
/**
* {@inheritDoc}
*/
+ @Override
public void run() {
setHeading(I18n.getMessage("jsite.preferences.heading"));
setDescription(I18n.getMessage("jsite.preferences.description"));
@@ -200,6 +226,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
@@ -233,6 +318,7 @@ public class PreferencesPage extends TWizardPage {
/**
* {@inheritDoc}
*/
+ @Override
@SuppressWarnings("synthetic-access")
public void actionPerformed(ActionEvent actionEvent) {
selectDefaultTempDirectory();
@@ -243,6 +329,7 @@ public class PreferencesPage extends TWizardPage {
/**
* {@inheritDoc}
*/
+ @Override
@SuppressWarnings("synthetic-access")
public void actionPerformed(ActionEvent actionEvent) {
selectCustomTempDirectory();
@@ -250,6 +337,7 @@ public class PreferencesPage extends TWizardPage {
};
chooseTempDirectoryAction = new AbstractAction(I18n.getMessage("jsite.preferences.temp-directory.choose")) {
+ @Override
@SuppressWarnings("synthetic-access")
public void actionPerformed(ActionEvent e) {
chooseTempDirectory();
@@ -257,6 +345,7 @@ public class PreferencesPage extends TWizardPage {
};
nextToJarFileAction = new AbstractAction(I18n.getMessage("jsite.preferences.config-directory.jar")) {
+ @Override
@SuppressWarnings("synthetic-access")
public void actionPerformed(ActionEvent actionevent) {
configurationLocation = ConfigurationLocation.NEXT_TO_JAR_FILE;
@@ -264,6 +353,7 @@ public class PreferencesPage extends TWizardPage {
};
homeDirectoryAction = new AbstractAction(I18n.getMessage("jsite.preferences.config-directory.home")) {
+ @Override
@SuppressWarnings("synthetic-access")
public void actionPerformed(ActionEvent actionevent) {
configurationLocation = ConfigurationLocation.HOME_DIRECTORY;
@@ -271,14 +361,32 @@ public class PreferencesPage extends TWizardPage {
};
customDirectoryAction = new AbstractAction(I18n.getMessage("jsite.preferences.config-directory.custom")) {
+ @Override
@SuppressWarnings("synthetic-access")
public void actionPerformed(ActionEvent actionEvent) {
configurationLocation = ConfigurationLocation.CUSTOM;
}
};
+ useEarlyEncodeAction = new AbstractAction(I18n.getMessage("jsite.preferences.insert-options.use-early-encode")) {
+
+ @Override
+ @SuppressWarnings("synthetic-access")
+ public void actionPerformed(ActionEvent actionEvent) {
+ useEarlyEncode = useEarlyEncodeCheckBox.isSelected();
+ }
+ };
+ priorityAction = new AbstractAction(I18n.getMessage("jsite.preferences.insert-options.priority")) {
+
+ @Override
+ @SuppressWarnings("synthetic-access")
+ public void actionPerformed(ActionEvent actionEvent) {
+ priority = (PriorityClass) insertPriorityComboBox.getSelectedItem();
+ }
+ };
I18nContainer.getInstance().registerRunnable(new Runnable() {
+ @Override
@SuppressWarnings("synthetic-access")
public void run() {
selectDefaultTempDirectoryAction.putValue(Action.NAME, I18n.getMessage("jsite.preferences.temp-directory.default"));
@@ -287,6 +395,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,14 +453,37 @@ 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() {
/**
* {@inheritDoc}
*/
+ @Override
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"));
}
});