Bug 300539 Add ability to specify filter-path to build-options that support browsing
Build Identifier: 7.0.0.I201001150805 Currently, build-options of browseType "file"/"directory"/etc allow the user to browse the file-system, but do not give integrators a way to set the default filter-path. So, the Browse dialog by default opens at the root of the file-system. The attached patch adds a new optional attribute for the <option> element - "browseFilterPath". If the attribute is specified, the Browse dialog uses the supplied value as the default filter-path. Macros in the attribute value are expanded. If the attribute is not specified, the behaviour is unchanged. Reproducible: Always Steps to Reproduce: 1. Create a new C Project. 2. Open the Settings property page, and find a build-option that has a "file" browseType (eg. libraries) or a "directory" browseType (eg. include-path). 3. Click on Add... button to add a new entry. 4. Click on Filesystem... to browse the file-system. -> The Browse dialog opens up at the root of the file-system by default.
bundles/org.eclipse.jface/src/org/eclipse/jface/preference/DirectoryFieldEditor.java
/*******************************************************************************
 * Copyright (c) 2000, 2009 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.jface.preference;
import java.io.File;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.DirectoryDialog;
/**
 * A field editor for a directory path type preference. A standard directory
 * dialog appears when the user presses the change button.
 */
public class DirectoryFieldEditor extends StringButtonFieldEditor {