Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 125433 Details for
Bug 263870
[context] preserve filters in the resource navigator when using resourceFilters
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
This patch will preserve filters for the resources view (assuming the first patch has already been applied).
patch.txt (text/plain), 3.90 KB, created by
David Shepherd
on 2009-02-11 14:12:48 EST
(
hide
)
Description:
This patch will preserve filters for the resources view (assuming the first patch has already been applied).
Filename:
MIME Type:
Creator:
David Shepherd
Created:
2009-02-11 14:12:48 EST
Size:
3.90 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.ide.ui >Index: src/org/eclipse/mylyn/internal/ide/ui/actions/FocusResourceNavigatorAction.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.ide.ui/src/org/eclipse/mylyn/internal/ide/ui/actions/FocusResourceNavigatorAction.java,v >retrieving revision 1.10 >diff -u -r1.10 FocusResourceNavigatorAction.java >--- src/org/eclipse/mylyn/internal/ide/ui/actions/FocusResourceNavigatorAction.java 12 Sep 2008 04:22:26 -0000 1.10 >+++ src/org/eclipse/mylyn/internal/ide/ui/actions/FocusResourceNavigatorAction.java 11 Feb 2009 19:11:01 -0000 >@@ -12,24 +12,34 @@ > package org.eclipse.mylyn.internal.ide.ui.actions; > > import java.util.ArrayList; >+import java.util.HashSet; > import java.util.List; >+import java.util.Set; > > import org.eclipse.core.resources.IResource; > import org.eclipse.core.runtime.CoreException; >+import org.eclipse.core.runtime.IConfigurationElement; >+import org.eclipse.core.runtime.IExtension; >+import org.eclipse.core.runtime.IExtensionPoint; >+import org.eclipse.core.runtime.Platform; > import org.eclipse.jface.action.ActionContributionItem; > import org.eclipse.jface.action.IContributionItem; > import org.eclipse.jface.text.ITextSelection; > import org.eclipse.jface.viewers.ISelection; > import org.eclipse.jface.viewers.StructuredSelection; > import org.eclipse.jface.viewers.StructuredViewer; >+import org.eclipse.jface.viewers.ViewerFilter; > import org.eclipse.mylyn.context.ui.AbstractAutoFocusViewAction; > import org.eclipse.mylyn.context.ui.InterestFilter; >+import org.eclipse.mylyn.internal.context.ui.ContextUiPlugin; > import org.eclipse.ui.IEditorInput; > import org.eclipse.ui.IEditorPart; > import org.eclipse.ui.IViewPart; >+import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin; > import org.eclipse.ui.views.navigator.FilterSelectionAction; > import org.eclipse.ui.views.navigator.IResourceNavigator; > import org.eclipse.ui.views.navigator.ResourceNavigator; >+import org.eclipse.ui.views.navigator.ResourcePatternFilter; > import org.eclipse.ui.views.navigator.ToggleLinkingAction; > > /** >@@ -111,4 +121,46 @@ > return false; > } > >+ private Set<String> getPreservedFilterPatterns() { >+ IExtensionPoint extension = Platform.getExtensionRegistry().getExtensionPoint( >+ IDEWorkbenchPlugin.IDE_WORKBENCH + '.' + "resourceFilters"); >+ Set<String> preservedIds = ContextUiPlugin.getDefault().getPreservedFilterIds(viewPart.getSite().getId()); >+ Set<String> filters = new HashSet<String>(); >+ if (extension != null) { >+ IExtension[] extensions = extension.getExtensions(); >+ for (IExtension extension2 : extensions) { >+ IConfigurationElement[] configElements = extension2.getConfigurationElements(); >+ if (extension2.getUniqueIdentifier() != null && preservedIds.contains(extension2.getUniqueIdentifier())) { >+ for (IConfigurationElement configElement : configElements) { >+ String pattern = configElement.getAttribute("pattern");//$NON-NLS-1$ >+ if (pattern != null) { >+ filters.add(pattern); >+ } >+ String selected = configElement.getAttribute("selected");//$NON-NLS-1$ >+ if (selected != null && selected.equalsIgnoreCase("true")) { //$NON-NLS-1$ >+ //defaultFilters.add(pattern); >+ } >+ } >+ } >+ >+ } >+ } >+ return filters; >+ } >+ >+ @Override >+ protected boolean isPreservedFilter(ViewerFilter filter) { >+ if (filter instanceof ResourcePatternFilter) { >+ Set<String> preservedFilterPatterns = getPreservedFilterPatterns(); >+ //NOTE: since the resource filters are all contained in one filter, if one is preserved, then we preserve all filters >+ for (String pattern : ((ResourcePatternFilter) filter).getPatterns()) { >+ if (preservedFilterPatterns.contains(pattern)) { >+ return true; >+ } >+ } >+ return true; >+ } >+ return super.isPreservedFilter(filter); >+ } >+ > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 263870
:
125342
|
125343
| 125433 |
125434
|
127572