Enable button when a directory is set.
[jSite.git] / src / de / todesbaum / jsite / gui / PreferencesPage.java
index 513c23f..2513582 100644 (file)
@@ -62,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.
         *
@@ -109,6 +115,13 @@ 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);
+               }
        }
 
        //
@@ -185,10 +198,10 @@ 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);
+               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();
@@ -229,6 +242,7 @@ public class PreferencesPage extends TWizardPage {
        private void selectDefaultTempDirectory() {
                tempDirectoryTextField.setEnabled(false);
                chooseTempDirectoryAction.setEnabled(false);
+               tempDirectory = null;
        }
 
        /**
@@ -237,6 +251,12 @@ 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);
+                       }
+               }
        }
 
        /**