Change “default” radio button to field.
[jSite.git] / src / de / todesbaum / jsite / gui / PreferencesPage.java
index 22b478a..ba34c89 100644 (file)
@@ -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,9 @@ public class PreferencesPage extends TWizardPage {
        /** The temp directory. */
        private String tempDirectory;
 
+       /** The “default” button. */
+       private JRadioButton defaultTempDirectory;
+
        /**
         * Creates a new “preferences” page.
         *
@@ -184,7 +188,7 @@ public class PreferencesPage extends TWizardPage {
                final JLabel tempDirectoryLabel = new JLabel("<html><b>" + I18n.getMessage("jsite.preferences.temp-directory") + "</b></html>");
                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);
@@ -202,6 +206,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);
@@ -241,7 +246,14 @@ public class PreferencesPage extends TWizardPage {
         * 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);
        }
 
 }