Lines 12-35
Link Here
|
12 |
package org.eclipse.mylyn.internal.ide.ui.actions; |
12 |
package org.eclipse.mylyn.internal.ide.ui.actions; |
13 |
|
13 |
|
14 |
import java.util.ArrayList; |
14 |
import java.util.ArrayList; |
|
|
15 |
import java.util.HashSet; |
15 |
import java.util.List; |
16 |
import java.util.List; |
|
|
17 |
import java.util.Set; |
16 |
|
18 |
|
17 |
import org.eclipse.core.resources.IResource; |
19 |
import org.eclipse.core.resources.IResource; |
18 |
import org.eclipse.core.runtime.CoreException; |
20 |
import org.eclipse.core.runtime.CoreException; |
|
|
21 |
import org.eclipse.core.runtime.IConfigurationElement; |
22 |
import org.eclipse.core.runtime.IExtension; |
23 |
import org.eclipse.core.runtime.IExtensionPoint; |
24 |
import org.eclipse.core.runtime.Platform; |
19 |
import org.eclipse.jface.action.ActionContributionItem; |
25 |
import org.eclipse.jface.action.ActionContributionItem; |
20 |
import org.eclipse.jface.action.IContributionItem; |
26 |
import org.eclipse.jface.action.IContributionItem; |
21 |
import org.eclipse.jface.text.ITextSelection; |
27 |
import org.eclipse.jface.text.ITextSelection; |
22 |
import org.eclipse.jface.viewers.ISelection; |
28 |
import org.eclipse.jface.viewers.ISelection; |
23 |
import org.eclipse.jface.viewers.StructuredSelection; |
29 |
import org.eclipse.jface.viewers.StructuredSelection; |
24 |
import org.eclipse.jface.viewers.StructuredViewer; |
30 |
import org.eclipse.jface.viewers.StructuredViewer; |
|
|
31 |
import org.eclipse.jface.viewers.ViewerFilter; |
25 |
import org.eclipse.mylyn.context.ui.AbstractAutoFocusViewAction; |
32 |
import org.eclipse.mylyn.context.ui.AbstractAutoFocusViewAction; |
26 |
import org.eclipse.mylyn.context.ui.InterestFilter; |
33 |
import org.eclipse.mylyn.context.ui.InterestFilter; |
|
|
34 |
import org.eclipse.mylyn.internal.context.ui.ContextUiPlugin; |
27 |
import org.eclipse.ui.IEditorInput; |
35 |
import org.eclipse.ui.IEditorInput; |
28 |
import org.eclipse.ui.IEditorPart; |
36 |
import org.eclipse.ui.IEditorPart; |
29 |
import org.eclipse.ui.IViewPart; |
37 |
import org.eclipse.ui.IViewPart; |
|
|
38 |
import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin; |
30 |
import org.eclipse.ui.views.navigator.FilterSelectionAction; |
39 |
import org.eclipse.ui.views.navigator.FilterSelectionAction; |
31 |
import org.eclipse.ui.views.navigator.IResourceNavigator; |
40 |
import org.eclipse.ui.views.navigator.IResourceNavigator; |
32 |
import org.eclipse.ui.views.navigator.ResourceNavigator; |
41 |
import org.eclipse.ui.views.navigator.ResourceNavigator; |
|
|
42 |
import org.eclipse.ui.views.navigator.ResourcePatternFilter; |
33 |
import org.eclipse.ui.views.navigator.ToggleLinkingAction; |
43 |
import org.eclipse.ui.views.navigator.ToggleLinkingAction; |
34 |
|
44 |
|
35 |
/** |
45 |
/** |
Lines 111-114
Link Here
|
111 |
return false; |
121 |
return false; |
112 |
} |
122 |
} |
113 |
|
123 |
|
|
|
124 |
private Set<String> getPreservedFilterPatterns() { |
125 |
IExtensionPoint extension = Platform.getExtensionRegistry().getExtensionPoint( |
126 |
IDEWorkbenchPlugin.IDE_WORKBENCH + '.' + "resourceFilters"); |
127 |
Set<String> preservedIds = ContextUiPlugin.getDefault().getPreservedFilterIds(viewPart.getSite().getId()); |
128 |
Set<String> filters = new HashSet<String>(); |
129 |
if (extension != null) { |
130 |
IExtension[] extensions = extension.getExtensions(); |
131 |
for (IExtension extension2 : extensions) { |
132 |
IConfigurationElement[] configElements = extension2.getConfigurationElements(); |
133 |
if (extension2.getUniqueIdentifier() != null && preservedIds.contains(extension2.getUniqueIdentifier())) { |
134 |
for (IConfigurationElement configElement : configElements) { |
135 |
String pattern = configElement.getAttribute("pattern");//$NON-NLS-1$ |
136 |
if (pattern != null) { |
137 |
filters.add(pattern); |
138 |
} |
139 |
String selected = configElement.getAttribute("selected");//$NON-NLS-1$ |
140 |
if (selected != null && selected.equalsIgnoreCase("true")) { //$NON-NLS-1$ |
141 |
//defaultFilters.add(pattern); |
142 |
} |
143 |
} |
144 |
} |
145 |
|
146 |
} |
147 |
} |
148 |
return filters; |
149 |
} |
150 |
|
151 |
@Override |
152 |
protected boolean isPreservedFilter(ViewerFilter filter) { |
153 |
if (filter instanceof ResourcePatternFilter) { |
154 |
Set<String> preservedFilterPatterns = getPreservedFilterPatterns(); |
155 |
//NOTE: since the resource filters are all contained in one filter, if one is preserved, then we preserve all filters |
156 |
for (String pattern : ((ResourcePatternFilter) filter).getPatterns()) { |
157 |
if (preservedFilterPatterns.contains(pattern)) { |
158 |
return true; |
159 |
} |
160 |
} |
161 |
return true; |
162 |
} |
163 |
return super.isPreservedFilter(filter); |
164 |
} |
165 |
|
114 |
} |
166 |
} |