X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fgui%2FPreferencesPage.java;h=c4b4ce3068fa99f0fe99beb5533fcbcdce7d06ed;hb=d11bfba4213cc49fed096b6c58cfc22db1cd9e1e;hp=22b478a15515daa120e2088bb251acd65d227fb6;hpb=c00ddf5d52a5ce4631d8fe7a5d229003e75808b2;p=jSite.git
diff --git a/src/de/todesbaum/jsite/gui/PreferencesPage.java b/src/de/todesbaum/jsite/gui/PreferencesPage.java
index 22b478a..c4b4ce3 100644
--- a/src/de/todesbaum/jsite/gui/PreferencesPage.java
+++ b/src/de/todesbaum/jsite/gui/PreferencesPage.java
@@ -29,6 +29,7 @@ import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
+import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
@@ -61,6 +62,12 @@ public class PreferencesPage extends TWizardPage {
/** The temp directory. */
private String tempDirectory;
+ /** The âdefaultâ button. */
+ private JRadioButton defaultTempDirectory;
+
+ /** The âcustomâ button. */
+ private JRadioButton customTempDirectory;
+
/**
* Creates a new âpreferencesâ page.
*
@@ -77,7 +84,6 @@ public class PreferencesPage extends TWizardPage {
/**
* {@inheritDoc}
*/
- @Override
public void run() {
setHeading(I18n.getMessage("jsite.preferences.heading"));
setDescription(I18n.getMessage("jsite.preferences.description"));
@@ -108,6 +114,25 @@ public class PreferencesPage extends TWizardPage {
*/
public void setTempDirectory(String tempDirectory) {
this.tempDirectory = tempDirectory;
+ tempDirectoryTextField.setText((tempDirectory != null) ? tempDirectory : "");
+ if (tempDirectory != null) {
+ customTempDirectory.setSelected(true);
+ chooseTempDirectoryAction.setEnabled(true);
+ } else {
+ defaultTempDirectory.setSelected(true);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void pageAdded(TWizard wizard) {
+ super.pageAdded(wizard);
+ this.wizard.setPreviousName(I18n.getMessage("jsite.menu.nodes.manage-nodes"));
+ this.wizard.setNextName(I18n.getMessage("jsite.wizard.next"));
+ this.wizard.setQuitName(I18n.getMessage("jsite.wizard.quit"));
+ this.wizard.setNextEnabled(false);
}
//
@@ -132,7 +157,6 @@ public class PreferencesPage extends TWizardPage {
/**
* {@inheritDoc}
*/
- @Override
@SuppressWarnings("synthetic-access")
public void actionPerformed(ActionEvent actionEvent) {
selectDefaultTempDirectory();
@@ -143,7 +167,6 @@ public class PreferencesPage extends TWizardPage {
/**
* {@inheritDoc}
*/
- @Override
@SuppressWarnings("synthetic-access")
public void actionPerformed(ActionEvent actionEvent) {
selectCustomTempDirectory();
@@ -151,7 +174,6 @@ 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();
@@ -160,7 +182,6 @@ public class PreferencesPage extends TWizardPage {
I18nContainer.getInstance().registerRunnable(new Runnable() {
- @Override
@SuppressWarnings("synthetic-access")
public void run() {
selectDefaultTempDirectoryAction.putValue(Action.NAME, I18n.getMessage("jsite.preferences.temp-directory.default"));
@@ -184,10 +205,10 @@ public class PreferencesPage extends TWizardPage {
final JLabel tempDirectoryLabel = new JLabel("" + I18n.getMessage("jsite.preferences.temp-directory") + "");
tempDirectoryPanel.add(tempDirectoryLabel, new GridBagConstraints(0, 0, 3, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
- final JRadioButton defaultTempDirectory = new JRadioButton(selectDefaultTempDirectoryAction);
+ defaultTempDirectory = new JRadioButton(selectDefaultTempDirectoryAction);
tempDirectoryPanel.add(defaultTempDirectory, new GridBagConstraints(0, 1, 3, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(6, 18, 0, 0), 0, 0));
- final JRadioButton customTempDirectory = new JRadioButton(selectCustomTempDirectoryAction);
+ customTempDirectory = new JRadioButton(selectCustomTempDirectoryAction);
tempDirectoryPanel.add(customTempDirectory, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(0, 18, 0, 0), 0, 0));
ButtonGroup tempDirectoryButtonGroup = new ButtonGroup();
@@ -202,6 +223,7 @@ public class PreferencesPage extends TWizardPage {
} else {
defaultTempDirectory.setSelected(true);
}
+ chooseTempDirectoryAction.setEnabled(tempDirectory != null);
tempDirectoryPanel.add(tempDirectoryTextField, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(0, 6, 0, 0), 0, 0));
JButton chooseButton = new JButton(chooseTempDirectoryAction);
@@ -212,7 +234,6 @@ public class PreferencesPage extends TWizardPage {
/**
* {@inheritDoc}
*/
- @Override
public void run() {
tempDirectoryLabel.setText("" + I18n.getMessage("jsite.preferences.temp-directory") + "");
}
@@ -227,6 +248,7 @@ public class PreferencesPage extends TWizardPage {
private void selectDefaultTempDirectory() {
tempDirectoryTextField.setEnabled(false);
chooseTempDirectoryAction.setEnabled(false);
+ tempDirectory = null;
}
/**
@@ -235,13 +257,26 @@ public class PreferencesPage extends TWizardPage {
private void selectCustomTempDirectory() {
tempDirectoryTextField.setEnabled(true);
chooseTempDirectoryAction.setEnabled(true);
+ if (tempDirectoryTextField.getText().length() == 0) {
+ chooseTempDirectory();
+ if (tempDirectoryTextField.getText().length() == 0) {
+ defaultTempDirectory.setSelected(true);
+ }
+ }
}
/**
* Lets the user choose a new temp directory.
*/
private void chooseTempDirectory() {
- /* TODO */
+ JFileChooser fileChooser = new JFileChooser(tempDirectory);
+ fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+ int returnValue = fileChooser.showDialog(wizard, I18n.getMessage("jsite.preferences.temp-directory.choose.approve"));
+ if (returnValue == JFileChooser.CANCEL_OPTION) {
+ return;
+ }
+ tempDirectory = fileChooser.getSelectedFile().getPath();
+ tempDirectoryTextField.setText(tempDirectory);
}
}