Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian de Alwis2013-05-09 18:14:39 +0000
committerGerrit Code Review @ Eclipse.org2013-10-24 15:40:20 +0000
commit5ea1ac97127f926f3e91e1dac1a4540900982db4 (patch)
treecb5237af1d8359f248d3f87d2d90addfa2001d3d
parentdd1eb23f7a495613ae8b04a910b496900b0eca3b (diff)
downloadeclipse.platform.ui-5ea1ac97127f926f3e91e1dac1a4540900982db4.tar.gz
eclipse.platform.ui-5ea1ac97127f926f3e91e1dac1a4540900982db4.tar.xz
eclipse.platform.ui-5ea1ac97127f926f3e91e1dac1a4540900982db4.zip
Bug 407418 - "Import Existing Project" wizard should allow filtering of already-installed projects
-rw-r--r--bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/DataTransferMessages.java1
-rw-r--r--bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardProjectsImportPage.java39
-rw-r--r--bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/messages.properties1
3 files changed, 41 insertions, 0 deletions
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/DataTransferMessages.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/DataTransferMessages.java
index 99645df8c0b..2ddbe84412f 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/DataTransferMessages.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/DataTransferMessages.java
@@ -102,6 +102,7 @@ public class DataTransferMessages extends NLS {
public static String WizardProjectsImportPage_projectsInWorkspace;
public static String WizardProjectsImportPage_noProjectsToImport;
public static String WizardProjectsImportPage_projectLabel;
+ public static String WizardProjectsImportPage_hideConflictingProjects;
// --- Export Wizards ---
public static String DataTransfer_export;
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardProjectsImportPage.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardProjectsImportPage.java
index 75f6dc78da9..00980d737a4 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardProjectsImportPage.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardProjectsImportPage.java
@@ -65,6 +65,7 @@ import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerComparator;
+import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.FocusAdapter;
@@ -286,6 +287,25 @@ public class WizardProjectsImportPage extends WizardDataTransferPage {
}
}
+ /**
+ * A filter to remove conflicting projects
+ */
+ class ConflictingProjectFilter extends ViewerFilter {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers
+ * .Viewer, java.lang.Object, java.lang.Object)
+ */
+ public boolean select(Viewer viewer, Object parentElement,
+ Object element) {
+ return !((ProjectRecord) element).hasConflicts;
+ }
+
+ }
+
// dialog store id constants
private final static String STORE_DIRECTORIES = "WizardProjectsImportPage.STORE_DIRECTORIES";//$NON-NLS-1$
private final static String STORE_ARCHIVES = "WizardProjectsImportPage.STORE_ARCHIVES";//$NON-NLS-1$
@@ -351,6 +371,10 @@ public class WizardProjectsImportPage extends WizardDataTransferPage {
private IStructuredSelection currentSelection;
+ private Button hideConflictingProjects;
+
+ private ConflictingProjectFilter conflictingProjectsFilter = new ConflictingProjectFilter();
+
/**
* Creates a new project creation wizard page.
*
@@ -447,6 +471,21 @@ public class WizardProjectsImportPage extends WizardDataTransferPage {
copyFiles = copyCheckbox.getSelection();
}
});
+
+ hideConflictingProjects = new Button(optionsGroup, SWT.CHECK);
+ hideConflictingProjects
+ .setText(DataTransferMessages.WizardProjectsImportPage_hideConflictingProjects);
+ hideConflictingProjects.setLayoutData(new GridData(
+ GridData.FILL_HORIZONTAL));
+ hideConflictingProjects.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ projectsList.removeFilter(conflictingProjectsFilter);
+ if (hideConflictingProjects.getSelection()) {
+ projectsList.addFilter(conflictingProjectsFilter);
+ }
+ }
+ });
+ Dialog.applyDialogFont(hideConflictingProjects);
}
/**
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/messages.properties
index 16c29a91e91..f5a324793a3 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/messages.properties
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/messages.properties
@@ -103,6 +103,7 @@ WizardProjectsImportPage_SearchForNestedProjects=Searc&h for nested projects
WizardProjectsImportPage_CopyProjectsIntoWorkspace=&Copy projects into workspace
# The first parameter is the project folder name and the second is the name from the project description
WizardProjectsImportPage_projectLabel={0} ({1})
+WizardProjectsImportPage_hideConflictingProjects=Hide conflicting projects
# --- Export Wizards ---
DataTransfer_export = Export

Back to the top