Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 338499 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylyn/internal/tasks/core/AbstractTask.java (-3 / +4 lines)
Lines 13-21 Link Here
13
13
14
import java.util.Collections;
14
import java.util.Collections;
15
import java.util.Date;
15
import java.util.Date;
16
import java.util.HashSet;
17
import java.util.Map;
16
import java.util.Map;
18
import java.util.Set;
17
import java.util.Set;
18
import java.util.concurrent.CopyOnWriteArraySet;
19
19
20
import org.eclipse.core.runtime.Assert;
20
import org.eclipse.core.runtime.Assert;
21
import org.eclipse.core.runtime.IStatus;
21
import org.eclipse.core.runtime.IStatus;
Lines 52-58 Link Here
52
52
53
	private boolean reminded = false;
53
	private boolean reminded = false;
54
54
55
	private final Set<AbstractTaskContainer> containers = new HashSet<AbstractTaskContainer>();
55
	private final Set<AbstractTaskContainer> containers = new CopyOnWriteArraySet<AbstractTaskContainer>();
56
56
57
	// ************ Synch ****************
57
	// ************ Synch ****************
58
58
Lines 317-323 Link Here
317
	}
317
	}
318
318
319
	public Set<AbstractTaskContainer> getParentContainers() {
319
	public Set<AbstractTaskContainer> getParentContainers() {
320
		return new HashSet<AbstractTaskContainer>(containers);
320
		//return new HashSet<AbstractTaskContainer>(containers);
321
		return containers;
321
	}
322
	}
322
323
323
	@Override
324
	@Override
(-)src/org/eclipse/mylyn/internal/tasks/core/ITasksCoreConstants.java (+2 lines)
Lines 59-64 Link Here
59
59
60
	public static final String ATTRIBUTE_OUTGOING_NEW_CONNECTOR_KIND = "outgoingNewConnectorKind"; //$NON-NLS-1$
60
	public static final String ATTRIBUTE_OUTGOING_NEW_CONNECTOR_KIND = "outgoingNewConnectorKind"; //$NON-NLS-1$
61
61
62
	public static final String ATTRIBUTE_HIDDEN = "task.common.hidden"; //$NON-NLS-1$
63
62
	public static final String ATTRIBUTE_TASK_EXTENDED_TOOLTIP = "task.common.extended.tooltip"; //$NON-NLS-1$
64
	public static final String ATTRIBUTE_TASK_EXTENDED_TOOLTIP = "task.common.extended.tooltip"; //$NON-NLS-1$
63
65
64
	public static final String ATTRIBUTE_TASK_SUPPRESS_INCOMING = "task.common.suppress.incoming"; //$NON-NLS-1$
66
	public static final String ATTRIBUTE_TASK_SUPPRESS_INCOMING = "task.common.suppress.incoming"; //$NON-NLS-1$
(-)src/org/eclipse/mylyn/internal/tasks/ui/AbstractTaskListFilter.java (-1 / +6 lines)
Lines 15-20 Link Here
15
15
16
import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants;
16
import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants;
17
import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal;
17
import org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal;
18
import org.eclipse.mylyn.internal.tasks.ui.views.PresentationFilter;
18
import org.eclipse.mylyn.tasks.core.ITask;
19
import org.eclipse.mylyn.tasks.core.ITask;
19
import org.eclipse.mylyn.tasks.core.ITaskContainer;
20
import org.eclipse.mylyn.tasks.core.ITaskContainer;
20
21
Lines 52-59 Link Here
52
			return false;
53
			return false;
53
		}
54
		}
54
55
56
		if (!PresentationFilter.getInstance().select(null, container)) {
57
			return false;
58
		}
59
55
		for (ITask task : children) {
60
		for (ITask task : children) {
56
			if (task != null) {
61
			if (task != null && PresentationFilter.getInstance().select(container, task)) {
57
				ITask containedRepositoryTask = task;
62
				ITask containedRepositoryTask = task;
58
				if (TasksUiInternal.shouldShowIncoming(containedRepositoryTask)) {
63
				if (TasksUiInternal.shouldShowIncoming(containedRepositoryTask)) {
59
					return true;
64
					return true;
(-)src/org/eclipse/mylyn/internal/tasks/ui/ITasksUiPreferenceConstants.java (+4 lines)
Lines 44-49 Link Here
44
44
45
	public static final String FILTER_COMPLETE_MODE = "org.eclipse.mylyn.tasks.ui.filters.complete"; //$NON-NLS-1$
45
	public static final String FILTER_COMPLETE_MODE = "org.eclipse.mylyn.tasks.ui.filters.complete"; //$NON-NLS-1$
46
46
47
	public static final String FILTER_HIDDEN = "org.eclipse.mylyn.tasks.ui.filters.hidden"; //$NON-NLS-1$
48
49
	public static final String FILTER_NON_MATCHING = "org.eclipse.mylyn.tasks.ui.filters.nonmatching"; //$NON-NLS-1$
50
47
	public static final String FILTER_PRIORITY = "org.eclipse.mylyn.tasks.ui.filters.priority"; //$NON-NLS-1$
51
	public static final String FILTER_PRIORITY = "org.eclipse.mylyn.tasks.ui.filters.priority"; //$NON-NLS-1$
48
52
49
	public static final String GROUP_SUBTASKS = "org.eclipse.mylyn.tasks.ui.group.subtasks"; //$NON-NLS-1$
53
	public static final String GROUP_SUBTASKS = "org.eclipse.mylyn.tasks.ui.group.subtasks"; //$NON-NLS-1$
(-)src/org/eclipse/mylyn/internal/tasks/ui/actions/FilterHiddenQueriesAction.java (+36 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2004, 2008 Tasktop Technologies and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     Tasktop Technologies - initial API and implementation
10
 *******************************************************************************/
11
12
package org.eclipse.mylyn.internal.tasks.ui.actions;
13
14
import org.eclipse.jface.action.Action;
15
import org.eclipse.mylyn.internal.tasks.ui.ITasksUiPreferenceConstants;
16
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
17
18
/**
19
 * @author Mik Kersten
20
 */
21
public class FilterHiddenQueriesAction extends Action {
22
23
	public FilterHiddenQueriesAction() {
24
		setText("Hide Managed Queries");
25
		setToolTipText("Hide Managed Queries");
26
		setChecked(TasksUiPlugin.getDefault().getPreferenceStore().contains(ITasksUiPreferenceConstants.FILTER_HIDDEN));
27
	}
28
29
	@Override
30
	public void run() {
31
		TasksUiPlugin.getDefault()
32
				.getPreferenceStore()
33
				.setValue(ITasksUiPreferenceConstants.FILTER_HIDDEN, isChecked());
34
	}
35
36
}
(-)src/org/eclipse/mylyn/internal/tasks/ui/actions/FilterNonMatchingSubtasksAction.java (+38 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2004, 2008 Tasktop Technologies and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     Tasktop Technologies - initial API and implementation
10
 *******************************************************************************/
11
12
package org.eclipse.mylyn.internal.tasks.ui.actions;
13
14
import org.eclipse.jface.action.Action;
15
import org.eclipse.mylyn.internal.tasks.ui.ITasksUiPreferenceConstants;
16
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
17
18
/**
19
 * @author Mik Kersten
20
 */
21
public class FilterNonMatchingSubtasksAction extends Action {
22
23
	public FilterNonMatchingSubtasksAction() {
24
		setText("Hide Non Matching Subtasks");
25
		setToolTipText("Hide Non Matching Subtasks");
26
		setChecked(TasksUiPlugin.getDefault()
27
				.getPreferenceStore()
28
				.contains(ITasksUiPreferenceConstants.FILTER_NON_MATCHING));
29
	}
30
31
	@Override
32
	public void run() {
33
		TasksUiPlugin.getDefault()
34
				.getPreferenceStore()
35
				.setValue(ITasksUiPreferenceConstants.FILTER_NON_MATCHING, isChecked());
36
	}
37
38
}
(-)src/org/eclipse/mylyn/internal/tasks/ui/actions/HideQueryAction.java (+72 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2004, 2009 Tasktop Technologies and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     Tasktop Technologies - initial API and implementation
10
 *******************************************************************************/
11
12
package org.eclipse.mylyn.internal.tasks.ui.actions;
13
14
import java.util.Collections;
15
16
import org.eclipse.core.runtime.CoreException;
17
import org.eclipse.core.runtime.IProgressMonitor;
18
import org.eclipse.core.runtime.IStatus;
19
import org.eclipse.core.runtime.Status;
20
import org.eclipse.jface.viewers.IStructuredSelection;
21
import org.eclipse.mylyn.commons.core.StatusHandler;
22
import org.eclipse.mylyn.internal.tasks.core.ITaskListRunnable;
23
import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants;
24
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
25
import org.eclipse.mylyn.tasks.core.IRepositoryElement;
26
import org.eclipse.mylyn.tasks.core.IRepositoryQuery;
27
import org.eclipse.ui.actions.BaseSelectionListenerAction;
28
29
/**
30
 * @author Steffen Pingel
31
 */
32
public class HideQueryAction extends BaseSelectionListenerAction {
33
34
	public HideQueryAction() {
35
		super("Hidden");
36
		setChecked(false);
37
		setEnabled(false);
38
	}
39
40
	@Override
41
	protected boolean updateSelection(IStructuredSelection selection) {
42
		if (selection.size() == 1) {
43
			Object element = selection.getFirstElement();
44
			if (element instanceof IRepositoryQuery) {
45
				setChecked(Boolean.parseBoolean((((IRepositoryQuery) element).getAttribute(ITasksCoreConstants.ATTRIBUTE_HIDDEN))));
46
				return true;
47
			}
48
		}
49
		setChecked(false);
50
		return false;
51
	}
52
53
	@Override
54
	public void run() {
55
		final Object element = getStructuredSelection().getFirstElement();
56
		if (element instanceof IRepositoryQuery) {
57
			try {
58
				final IRepositoryQuery query = ((IRepositoryQuery) element);
59
				TasksUiPlugin.getTaskList().run(new ITaskListRunnable() {
60
					public void execute(IProgressMonitor monitor) throws CoreException {
61
						query.setAttribute(ITasksCoreConstants.ATTRIBUTE_HIDDEN, Boolean.toString(isChecked()));
62
					}
63
				});
64
				TasksUiPlugin.getTaskList().notifyElementsChanged(Collections.singleton((IRepositoryElement) query));
65
			} catch (CoreException e) {
66
				StatusHandler.log(new Status(IStatus.ERROR, TasksUiPlugin.ID_PLUGIN,
67
						"Failed to set hidden status for query", e)); //$NON-NLS-1$
68
			}
69
		}
70
	}
71
72
}
(-)src/org/eclipse/mylyn/internal/tasks/ui/actions/RepositoryElementActionGroup.java (+3 lines)
Lines 100-105 Link Here
100
100
101
	private final AutoUpdateQueryAction autoUpdateAction;
101
	private final AutoUpdateQueryAction autoUpdateAction;
102
102
103
	protected final HideQueryAction hideQueryAction;
104
103
	private final NewSubTaskAction newSubTaskAction;
105
	private final NewSubTaskAction newSubTaskAction;
104
106
105
	private final CloneTaskAction cloneTaskAction;
107
	private final CloneTaskAction cloneTaskAction;
Lines 131-136 Link Here
131
		showInTaskListAction = add(new ShowInTaskListAction());
133
		showInTaskListAction = add(new ShowInTaskListAction());
132
134
133
		autoUpdateAction = add(new AutoUpdateQueryAction());
135
		autoUpdateAction = add(new AutoUpdateQueryAction());
136
		hideQueryAction = add(new HideQueryAction());
134
	}
137
	}
135
138
136
	private <T extends ISelectionChangedListener> T add(T action) {
139
	private <T extends ISelectionChangedListener> T add(T action) {
(-)src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskListViewActionGroup.java (+5 lines)
Lines 13-18 Link Here
13
13
14
import org.eclipse.jface.action.IMenuManager;
14
import org.eclipse.jface.action.IMenuManager;
15
import org.eclipse.jface.viewers.IStructuredSelection;
15
import org.eclipse.jface.viewers.IStructuredSelection;
16
import org.eclipse.mylyn.internal.tasks.ui.views.PresentationFilter;
16
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
17
import org.eclipse.mylyn.internal.tasks.ui.views.TaskListView;
17
import org.eclipse.mylyn.tasks.core.ITask;
18
import org.eclipse.mylyn.tasks.core.ITask;
18
import org.eclipse.mylyn.tasks.core.ITaskContainer;
19
import org.eclipse.mylyn.tasks.core.ITaskContainer;
Lines 62-67 Link Here
62
	public void fillContextMenu(final IMenuManager manager) {
63
	public void fillContextMenu(final IMenuManager manager) {
63
		super.fillContextMenu(manager);
64
		super.fillContextMenu(manager);
64
65
66
		if (hideQueryAction.isEnabled() && !PresentationFilter.getInstance().isFilterHiddenQueries()) {
67
			manager.appendToGroup(ID_SEPARATOR_NAVIGATE, hideQueryAction);
68
		}
69
65
		updateDrillDownActions();
70
		updateDrillDownActions();
66
71
67
		Object element = ((IStructuredSelection) view.getViewer().getSelection()).getFirstElement();
72
		Object element = ((IStructuredSelection) view.getViewer().getSelection()).getFirstElement();
(-)src/org/eclipse/mylyn/internal/tasks/ui/views/PresentationFilter.java (+78 lines)
Added Link Here
1
/*******************************************************************************
2
 * Copyright (c) 2011 Tasktop Technologies and others.
3
 * All rights reserved. This program and the accompanying materials
4
 * are made available under the terms of the Eclipse Public License v1.0
5
 * which accompanies this distribution, and is available at
6
 * http://www.eclipse.org/legal/epl-v10.html
7
 *
8
 * Contributors:
9
 *     Tasktop Technologies - initial API and implementation
10
 *******************************************************************************/
11
12
package org.eclipse.mylyn.internal.tasks.ui.views;
13
14
import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
15
import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer;
16
import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants;
17
import org.eclipse.mylyn.internal.tasks.ui.AbstractTaskListFilter;
18
import org.eclipse.mylyn.tasks.core.IRepositoryQuery;
19
import org.eclipse.mylyn.tasks.core.ITask;
20
21
/**
22
 * @author Steffen Pingel
23
 */
24
public class PresentationFilter extends AbstractTaskListFilter {
25
26
	private static PresentationFilter instance = new PresentationFilter();
27
28
	private boolean filterHiddenQueries;
29
30
	private boolean filterSubtasks;
31
32
	private PresentationFilter() {
33
		setFilterHiddenQueries(true);
34
		setFilterSubtasks(true);
35
	}
36
37
	public static PresentationFilter getInstance() {
38
		return instance;
39
	}
40
41
	public boolean isFilterSubtasks() {
42
		return filterSubtasks;
43
	}
44
45
	public boolean isFilterHiddenQueries() {
46
		return filterHiddenQueries;
47
	}
48
49
	public void setFilterHiddenQueries(boolean enabled) {
50
		this.filterHiddenQueries = enabled;
51
	}
52
53
	public void setFilterSubtasks(boolean filterSubtasks) {
54
		this.filterSubtasks = filterSubtasks;
55
	}
56
57
	@Override
58
	public boolean select(Object parent, Object element) {
59
		// filter hidden queries
60
		if (element instanceof IRepositoryQuery) {
61
			if (!filterHiddenQueries) {
62
				return true;
63
			}
64
			return !Boolean.parseBoolean(((IRepositoryQuery) element).getAttribute(ITasksCoreConstants.ATTRIBUTE_HIDDEN));
65
		}
66
		// filter sub-tasks not connected to queries or categories
67
		if (element instanceof AbstractTask) {
68
			for (AbstractTaskContainer container : ((AbstractTask) element).getParentContainers()) {
69
				if (!(container instanceof ITask)) {
70
					return true;
71
				}
72
			}
73
			return false;
74
		}
75
		return true;
76
	}
77
78
}
(-)src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestFilter.java (-13 / +6 lines)
Lines 47-63 Link Here
47
				return isDateRangeInteresting(dateRangeTaskContainer);
47
				return isDateRangeInteresting(dateRangeTaskContainer);
48
			}
48
			}
49
			if (child instanceof ITask) {
49
			if (child instanceof ITask) {
50
				AbstractTask task = null;
50
				AbstractTask task = (AbstractTask) child;
51
				if (child instanceof ITask) {
51
				return isInteresting(parent, task);
52
					task = (AbstractTask) child;
53
				}
54
				if (task != null) {
55
					if (isInteresting(parent, task)) {
56
						return true;
57
					} else {
58
						return false;
59
					}
60
				}
61
			} else if (child instanceof ITaskContainer) {
52
			} else if (child instanceof ITaskContainer) {
62
				Collection<ITask> children = ((ITaskContainer) child).getChildren();
53
				Collection<ITask> children = ((ITaskContainer) child).getChildren();
63
				// Always display empty containers
54
				// Always display empty containers
Lines 102-108 Link Here
102
	}
93
	}
103
94
104
	public boolean shouldAlwaysShow(Object parent, AbstractTask task, int depth) {
95
	public boolean shouldAlwaysShow(Object parent, AbstractTask task, int depth) {
105
96
		if (!PresentationFilter.getInstance().select(parent, task)) {
97
			return false;
98
		}
106
		return task.isActive() || TasksUiPlugin.getTaskActivityManager().isCompletedToday(task)
99
		return task.isActive() || TasksUiPlugin.getTaskActivityManager().isCompletedToday(task)
107
				|| hasChanges(parent, task)
100
				|| hasChanges(parent, task)
108
				|| hasInterestingSubTasks(parent, task, depth)
101
				|| hasInterestingSubTasks(parent, task, depth)
Lines 182-188 Link Here
182
		}
175
		}
183
		if (task instanceof ITaskContainer) {
176
		if (task instanceof ITaskContainer) {
184
			for (ITask child : ((ITaskContainer) task).getChildren()) {
177
			for (ITask child : ((ITaskContainer) task).getChildren()) {
185
				if (hasChangesHelper(parent, child)) {
178
				if (PresentationFilter.getInstance().select(task, child) && hasChangesHelper(parent, child)) {
186
					return true;
179
					return true;
187
				}
180
				}
188
			}
181
			}
(-)src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java (-3 / +23 lines)
Lines 84-89 Link Here
84
import org.eclipse.mylyn.internal.tasks.ui.actions.CollapseAllAction;
84
import org.eclipse.mylyn.internal.tasks.ui.actions.CollapseAllAction;
85
import org.eclipse.mylyn.internal.tasks.ui.actions.ExpandAllAction;
85
import org.eclipse.mylyn.internal.tasks.ui.actions.ExpandAllAction;
86
import org.eclipse.mylyn.internal.tasks.ui.actions.FilterCompletedTasksAction;
86
import org.eclipse.mylyn.internal.tasks.ui.actions.FilterCompletedTasksAction;
87
import org.eclipse.mylyn.internal.tasks.ui.actions.FilterHiddenQueriesAction;
88
import org.eclipse.mylyn.internal.tasks.ui.actions.FilterNonMatchingSubtasksAction;
87
import org.eclipse.mylyn.internal.tasks.ui.actions.GoUpAction;
89
import org.eclipse.mylyn.internal.tasks.ui.actions.GoUpAction;
88
import org.eclipse.mylyn.internal.tasks.ui.actions.GroupSubTasksAction;
90
import org.eclipse.mylyn.internal.tasks.ui.actions.GroupSubTasksAction;
89
import org.eclipse.mylyn.internal.tasks.ui.actions.LinkWithEditorAction;
91
import org.eclipse.mylyn.internal.tasks.ui.actions.LinkWithEditorAction;
Lines 380-385 Link Here
380
382
381
	private final TaskArchiveFilter filterArchive = new TaskArchiveFilter();
383
	private final TaskArchiveFilter filterArchive = new TaskArchiveFilter();
382
384
385
	private final PresentationFilter filterPresentation = PresentationFilter.getInstance();
386
383
	private TaskWorkingSetFilter filterWorkingSet;
387
	private TaskWorkingSetFilter filterWorkingSet;
384
388
385
	private final Set<AbstractTaskListFilter> filters = new HashSet<AbstractTaskListFilter>();
389
	private final Set<AbstractTaskListFilter> filters = new HashSet<AbstractTaskListFilter>();
Lines 536-541 Link Here
536
					|| event.getProperty().equals(ITasksUiPreferenceConstants.OVERLAYS_INCOMING_TIGHT)) {
540
					|| event.getProperty().equals(ITasksUiPreferenceConstants.OVERLAYS_INCOMING_TIGHT)) {
537
				refreshJob.refresh();
541
				refreshJob.refresh();
538
			}
542
			}
543
			if (event.getProperty().equals(ITasksUiPreferenceConstants.FILTER_HIDDEN)
544
					|| event.getProperty().equals(ITasksUiPreferenceConstants.FILTER_NON_MATCHING)) {
545
				updatePresentationFilter();
546
				refreshJob.refresh();
547
			}
539
		}
548
		}
540
	};
549
	};
541
550
Lines 670-679 Link Here
670
		if (TasksUiPlugin.getDefault().getPreferenceStore().contains(ITasksUiPreferenceConstants.FILTER_COMPLETE_MODE)) {
679
		if (TasksUiPlugin.getDefault().getPreferenceStore().contains(ITasksUiPreferenceConstants.FILTER_COMPLETE_MODE)) {
671
			addFilter(filterComplete);
680
			addFilter(filterComplete);
672
		}
681
		}
673
682
		updatePresentationFilter();
674
		//if (TasksUiPlugin.getDefault().getPreferenceStore().contains(TasksUiPreferenceConstants.FILTER_ARCHIVE_MODE)) {
683
		addFilter(filterPresentation);
675
		addFilter(filterArchive);
684
		addFilter(filterArchive);
676
		//}
677
685
678
		// Restore "link with editor" value; by default true
686
		// Restore "link with editor" value; by default true
679
		boolean linkValue = true;
687
		boolean linkValue = true;
Lines 689-694 Link Here
689
		getViewer().refresh();
697
		getViewer().refresh();
690
	}
698
	}
691
699
700
	public void updatePresentationFilter() {
701
		filterPresentation.setFilterHiddenQueries(TasksUiPlugin.getDefault()
702
				.getPreferenceStore()
703
				.contains(ITasksUiPreferenceConstants.FILTER_HIDDEN));
704
		filterPresentation.setFilterSubtasks(TasksUiPlugin.getDefault()
705
				.getPreferenceStore()
706
				.contains(ITasksUiPreferenceConstants.FILTER_NON_MATCHING));
707
	}
708
692
	/**
709
	/**
693
	 * Public for testing only.
710
	 * Public for testing only.
694
	 */
711
	 */
Lines 1198-1203 Link Here
1198
		manager.add(sortDialogAction);
1215
		manager.add(sortDialogAction);
1199
		manager.add(filterOnPriorityAction);
1216
		manager.add(filterOnPriorityAction);
1200
		manager.add(filterCompleteTask);
1217
		manager.add(filterCompleteTask);
1218
		manager.add(new FilterHiddenQueriesAction());
1219
		manager.add(new FilterNonMatchingSubtasksAction());
1201
		manager.add(filterSubTasksAction);
1220
		manager.add(filterSubTasksAction);
1202
1221
1203
		manager.add(new Separator(ID_SEPARATOR_SEARCH));
1222
		manager.add(new Separator(ID_SEPARATOR_SEARCH));
Lines 1346-1351 Link Here
1346
		filters.clear();
1365
		filters.clear();
1347
		filters.add(filterArchive);
1366
		filters.add(filterArchive);
1348
		filters.add(filterWorkingSet);
1367
		filters.add(filterWorkingSet);
1368
		filters.add(filterPresentation);
1349
	}
1369
	}
1350
1370
1351
	public void removeFilter(AbstractTaskListFilter filter) {
1371
	public void removeFilter(AbstractTaskListFilter filter) {

Return to bug 338499