### Eclipse Workspace Patch 1.0 #P org.eclipse.ui.ide Index: src/org/eclipse/ui/internal/ide/dialogs/ProjectContentsLocationArea.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ProjectContentsLocationArea.java,v retrieving revision 1.21 diff -u -r1.21 ProjectContentsLocationArea.java --- src/org/eclipse/ui/internal/ide/dialogs/ProjectContentsLocationArea.java 9 May 2008 14:13:06 -0000 1.21 +++ src/org/eclipse/ui/internal/ide/dialogs/ProjectContentsLocationArea.java 29 Oct 2008 14:30:21 -0000 @@ -24,6 +24,7 @@ import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.osgi.util.TextProcessor; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; @@ -38,6 +39,7 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.internal.ide.IDEWorkbenchMessages; +import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin; import org.eclipse.ui.internal.ide.filesystem.FileSystemConfiguration; import org.eclipse.ui.internal.ide.filesystem.FileSystemSupportRegistry; @@ -313,6 +315,7 @@ */ private void handleLocationBrowseButtonPressed() { + final String SAVED_LOCATION_ATTR = getClass().toString()+".OUTSIDE_LOCATION"; //$NON-NLS-1$ String selectedDirectory = null; String dirName = getPathFromLocationField(); @@ -322,6 +325,13 @@ if (info == null || !(info.exists())) dirName = IDEResourceInfoUtils.EMPTY_STRING; + } else { + // restore last value + IDialogSettings dialogSettings = IDEWorkbenchPlugin.getDefault().getDialogSettings(); + String value = dialogSettings.get(SAVED_LOCATION_ATTR); + if (value != null) { + dirName = value; + } } FileSystemConfiguration config = getSelectedConfiguration(); @@ -344,8 +354,12 @@ selectedDirectory = uri.toString(); } - if (selectedDirectory != null) + if (selectedDirectory != null) { updateLocationField(selectedDirectory); + // save last value + IDialogSettings dialogSettings = IDEWorkbenchPlugin.getDefault().getDialogSettings(); + dialogSettings.put(SAVED_LOCATION_ATTR, selectedDirectory); + } } /**