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;
/** The temp directory. */
private String tempDirectory;
+ /** The “default” button. */
+ private JRadioButton defaultTempDirectory;
+
+ /** The “custom” button. */
+ private JRadioButton customTempDirectory;
+
/**
* Creates a new “preferences” page.
*
*/
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);
+ }
}
//
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();
} 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);
private void selectDefaultTempDirectory() {
tempDirectoryTextField.setEnabled(false);
chooseTempDirectoryAction.setEnabled(false);
+ tempDirectory = null;
}
/**
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);
}
}