Add “choose” button.
[jSite.git] / src / de / todesbaum / jsite / gui / PreferencesPage.java
index 03e4e67..719421b 100644 (file)
 package de.todesbaum.jsite.gui;
 
 import java.awt.BorderLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
 import java.awt.event.ActionEvent;
 
 import javax.swing.AbstractAction;
 import javax.swing.Action;
+import javax.swing.ButtonGroup;
+import javax.swing.JButton;
+import javax.swing.JLabel;
 import javax.swing.JPanel;
+import javax.swing.JRadioButton;
 
 import de.todesbaum.jsite.i18n.I18n;
 import de.todesbaum.jsite.i18n.I18nContainer;
@@ -110,7 +117,7 @@ public class PreferencesPage extends TWizardPage {
         * Creates all actions.
         */
        private void createActions() {
-               chooseTempDirectoryAction = new AbstractAction(I18n.getMessage("jsite.preferences.choose-temp-directory")) {
+               chooseTempDirectoryAction = new AbstractAction(I18n.getMessage("jsite.preferences.temp-directory.choose")) {
 
                        @Override
                        @SuppressWarnings("synthetic-access")
@@ -124,7 +131,7 @@ public class PreferencesPage extends TWizardPage {
                        @Override
                        @SuppressWarnings("synthetic-access")
                        public void run() {
-                               chooseTempDirectoryAction.putValue(Action.NAME, I18n.getMessage("jsite.preferences.choose-temp-directory"));
+                               chooseTempDirectoryAction.putValue(Action.NAME, I18n.getMessage("jsite.preferences.temp-directory.choose"));
                        }
                });
        }
@@ -136,6 +143,39 @@ public class PreferencesPage extends TWizardPage {
         */
        private JPanel createPreferencesPanel() {
                JPanel preferencesPanel = new JPanel(new BorderLayout(12, 12));
+
+               JPanel tempDirectoryPanel = new JPanel(new GridBagLayout());
+               preferencesPanel.add(tempDirectoryPanel, BorderLayout.CENTER);
+
+               final JLabel tempDirectoryLabel = new JLabel("<html><b>" + I18n.getMessage("jsite.preferences.temp-directory") + "</b></html>");
+               tempDirectoryPanel.add(tempDirectoryLabel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
+
+               final JRadioButton defaultTempDirectory = new JRadioButton(I18n.getMessage("jsite.preferences.temp-directory.default"));
+               tempDirectoryPanel.add(defaultTempDirectory, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(6, 18, 0, 0), 0, 0));
+
+               final JRadioButton customTempDirectory = new JRadioButton(I18n.getMessage("jsite.preferences.temp-directory.custom"));
+               tempDirectoryPanel.add(customTempDirectory, new GridBagConstraints(0, 2, 1, 1, 1.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.BOTH, new Insets(0, 18, 0, 0), 0, 0));
+
+               ButtonGroup tempDirectoryButtonGroup = new ButtonGroup();
+               defaultTempDirectory.getModel().setGroup(tempDirectoryButtonGroup);
+               customTempDirectory.getModel().setGroup(tempDirectoryButtonGroup);
+
+               JButton chooseButton = new JButton(chooseTempDirectoryAction);
+               tempDirectoryPanel.add(chooseButton, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0, GridBagConstraints.LINE_END, GridBagConstraints.BOTH, new Insets(0, 6, 0, 0), 0, 0));
+
+               I18nContainer.getInstance().registerRunnable(new Runnable() {
+
+                       /**
+                        * {@inheritDoc}
+                        */
+                       @Override
+                       public void run() {
+                               tempDirectoryLabel.setText("<html><b>" + I18n.getMessage("jsite.preferences.temp-directory") + "</b></html>");
+                               defaultTempDirectory.setText(I18n.getMessage("jsite.preferences.temp-directory.default"));
+                               customTempDirectory.setText(I18n.getMessage("jsite.preferences.temp-directory.custom"));
+                       }
+               });
+
                return preferencesPanel;
        }