X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/util/DirectorySelector.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/util/DirectorySelector.java new file mode 100644 index 0000000..8a686f7 --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/util/DirectorySelector.java @@ -0,0 +1,38 @@ +package net.sourceforge.phpdt.internal.ui.util; + +import java.io.File; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.DirectoryDialog; + +public class DirectorySelector extends ResourceSelector { + + public DirectorySelector(Composite parent) { + super(parent); + } + + protected void handleBrowseSelected() { + DirectoryDialog dialog = new DirectoryDialog(getShell()); + dialog.setMessage(browseDialogMessage); + String currentWorkingDir = textField.getText(); + if (!currentWorkingDir.trim().equals("")) { + File path = new File(currentWorkingDir); + if (path.exists()) { + dialog.setFilterPath(currentWorkingDir); + } + } + + String selectedDirectory = dialog.open(); + if (selectedDirectory != null) { + textField.setText(selectedDirectory); + } + } + + protected String validateResourceSelection() { + String directory = textField.getText(); + File directoryFile = new File(directory); + if (directoryFile.exists() && directoryFile.isDirectory()) + return directory; + return EMPTY_STRING; + } +}