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 170992 Details for
Bug 315618
[context] common navigator working set filter changes remove focus filter on startup causing expand all for everything in the project explorer
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
potential patch
clipboard.txt (text/plain), 5.45 KB, created by
Shawn Minto
on 2010-06-03 13:59:23 EDT
(
hide
)
Description:
potential patch
Filename:
MIME Type:
Creator:
Shawn Minto
Created:
2010-06-03 13:59:23 EDT
Size:
5.45 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.mylyn.context.ui >Index: src/org/eclipse/mylyn/context/ui/AbstractFocusViewAction.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/context/ui/AbstractFocusViewAction.java,v >retrieving revision 1.44 >diff -u -r1.44 AbstractFocusViewAction.java >--- src/org/eclipse/mylyn/context/ui/AbstractFocusViewAction.java 24 Jul 2009 12:07:34 -0000 1.44 >+++ src/org/eclipse/mylyn/context/ui/AbstractFocusViewAction.java 3 Jun 2010 17:56:57 -0000 >@@ -416,7 +416,7 @@ > } > > installInterestFilter(viewer); >- ContextUiPlugin.getViewerManager().addFilteredViewer(viewer); >+ ContextUiPlugin.getViewerManager().addFilteredViewer(viewer, this); > } else { > if (showEmptyViewMessage && viewer instanceof TreeViewer) { > Tree tree = ((TreeViewer) viewer).getTree(); >@@ -470,7 +470,7 @@ > } else if (viewer.getControl().isDisposed() && manageViewer) { > // TODO: do this with part listener, not lazily? > return false; >- } else if (previousFilters.containsKey(viewer)) { >+ } else if (previousFilters.containsKey(viewer) && hasInterestFilter(viewer)) { > // install has already run, this can happen if AbstractAutoFocusViewAction.init() executes > // initialization asynchronously > return false; >@@ -510,6 +510,15 @@ > return false; > } > >+ private boolean hasInterestFilter(StructuredViewer viewer) { >+ for (ViewerFilter filter : viewer.getFilters()) { >+ if (filter == getInterestFilter()) { >+ return true; >+ } >+ } >+ return false; >+ } >+ > /** > * Subclasses can provide additional viewer filters that should not be removed when focusing. > * >Index: src/org/eclipse/mylyn/internal/context/ui/FocusedViewerManager.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.mylyn/org.eclipse.mylyn.context.ui/src/org/eclipse/mylyn/internal/context/ui/FocusedViewerManager.java,v >retrieving revision 1.47 >diff -u -r1.47 FocusedViewerManager.java >--- src/org/eclipse/mylyn/internal/context/ui/FocusedViewerManager.java 17 Sep 2009 02:16:04 -0000 1.47 >+++ src/org/eclipse/mylyn/internal/context/ui/FocusedViewerManager.java 3 Jun 2010 17:56:57 -0000 >@@ -28,12 +28,15 @@ > import org.eclipse.jface.viewers.StructuredSelection; > import org.eclipse.jface.viewers.StructuredViewer; > import org.eclipse.jface.viewers.TreeViewer; >+import org.eclipse.jface.viewers.ViewerFilter; > import org.eclipse.mylyn.commons.core.StatusHandler; > import org.eclipse.mylyn.context.core.AbstractContextListener; > import org.eclipse.mylyn.context.core.AbstractContextStructureBridge; > import org.eclipse.mylyn.context.core.ContextChangeEvent; > import org.eclipse.mylyn.context.core.ContextCore; > import org.eclipse.mylyn.context.core.IInteractionElement; >+import org.eclipse.mylyn.context.ui.AbstractFocusViewAction; >+import org.eclipse.mylyn.context.ui.InterestFilter; > import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; > import org.eclipse.mylyn.internal.provisional.commons.ui.DelayedRefreshJob; > import org.eclipse.ui.ISelectionListener; >@@ -52,6 +55,8 @@ > > private final CopyOnWriteArrayList<StructuredViewer> filteredViewers = new CopyOnWriteArrayList<StructuredViewer>(); > >+ private final Map<StructuredViewer, AbstractFocusViewAction> focusActions = new HashMap<StructuredViewer, AbstractFocusViewAction>(); >+ > private final Map<StructuredViewer, BrowseFilteredListener> listenerMap = new HashMap<StructuredViewer, BrowseFilteredListener>(); > > private final Map<IWorkbenchPart, StructuredViewer> partToViewerMap = new HashMap<IWorkbenchPart, StructuredViewer>(); >@@ -204,6 +209,14 @@ > } > } > >+ public void addFilteredViewer(StructuredViewer viewer, AbstractFocusViewAction action) { >+ addFilteredViewer(viewer); >+ if (viewer != null && action != null) { >+ focusActions.put(viewer, action); >+ } >+ } >+ >+ @Deprecated > public void addFilteredViewer(StructuredViewer viewer) { > if (viewer != null && !filteredViewers.contains(viewer)) { > filteredViewers.add(viewer); >@@ -211,6 +224,7 @@ > } > > public void removeFilteredViewer(StructuredViewer viewer) { >+ focusActions.remove(viewer); > filteredViewers.remove(viewer); > } > >@@ -353,8 +367,10 @@ > private void updateExpansionState(StructuredViewer viewer, Object objectToRefresh) { > if (viewer instanceof TreeViewer > && filteredViewers.contains(viewer) >- && ContextUiPlugin.getDefault().getPreferenceStore().getBoolean( >- IContextUiPreferenceContstants.AUTO_MANAGE_EXPANSION)) { >+ && hasInterestFilter(viewer, true) >+ && ContextUiPlugin.getDefault() >+ .getPreferenceStore() >+ .getBoolean(IContextUiPreferenceContstants.AUTO_MANAGE_EXPANSION)) { > TreeViewer treeViewer = (TreeViewer) viewer; > > // HACK to fix bug 278569: [context] errors with Markers view and active Mylyn task >@@ -371,6 +387,23 @@ > } > } > >+ private boolean hasInterestFilter(StructuredViewer viewer, boolean tryToReinstall) { >+ for (ViewerFilter filter : viewer.getFilters()) { >+ if (filter instanceof InterestFilter) { >+ return true; >+ } >+ } >+ if (tryToReinstall) { >+ AbstractFocusViewAction action = focusActions.get(viewer); >+ if (action != null) { >+ action.run(action); >+ viewer.refresh(); >+ return hasInterestFilter(viewer, false); >+ } >+ } >+ return false; >+ } >+ > /** > * Set to true for testing > */
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 315618
: 170992 |
170993