diff options
author | mkersten | 2007-06-16 04:59:46 +0000 |
---|---|---|
committer | mkersten | 2007-06-16 04:59:46 +0000 |
commit | b0ae666bd3441386251924e90f90b34bf5197fad (patch) | |
tree | 27b6ee541a08a32066c94d3f741be719983fa374 | |
parent | 5222569c076ad570d080c14522b4b9cc60241786 (diff) | |
download | org.eclipse.mylyn.tasks-b0ae666bd3441386251924e90f90b34bf5197fad.tar.gz org.eclipse.mylyn.tasks-b0ae666bd3441386251924e90f90b34bf5197fad.tar.xz org.eclipse.mylyn.tasks-b0ae666bd3441386251924e90f90b34bf5197fad.zip |
RESOLVED - bug 186493: provide Task List view UI for task working set switching
https://bugs.eclipse.org/bugs/show_bug.cgi?id=186493
2 files changed, 45 insertions, 7 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskTrimWidget.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskTrimWidget.java index 8dd680aac..ba4c0247e 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskTrimWidget.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskTrimWidget.java @@ -296,7 +296,7 @@ public class TaskTrimWidget extends WorkbenchWindowControlContribution { } public void indicateActiveTask() { - if (activeTaskLabel.isDisposed()) { + if (activeTaskLabel != null && activeTaskLabel.isDisposed()) { return; } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskWorkingSetAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskWorkingSetAction.java index e60b050b9..da90059d2 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskWorkingSetAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskWorkingSetAction.java @@ -101,8 +101,10 @@ public class TaskWorkingSetAction extends Action implements IMenuCreator { IWorkingSet[] workingSets = getAllWorkingSets(); if (doTaskWorkingSetsExist()) { - ActionContributionItem item = new ActionContributionItem(new ToggleAllWorkingSetsAction()); - item.fill(dropDownMenu, -1); + ActionContributionItem itemAll = new ActionContributionItem(new ToggleAllWorkingSetsAction()); + itemAll.fill(dropDownMenu, -1); + ActionContributionItem itemNone = new ActionContributionItem(new ToggleNoWorkingSetsAction()); + itemNone.fill(dropDownMenu, -1); Separator separator = new Separator(); separator.fill(dropDownMenu, -1); @@ -114,8 +116,8 @@ public class TaskWorkingSetAction extends Action implements IMenuCreator { while (iter.hasNext()) { IWorkingSet workingSet = (IWorkingSet) iter.next(); if (workingSet != null && workingSet.getId().equalsIgnoreCase(ID_TASK_WORKING_SET)) { - item = new ActionContributionItem(new ToggleWorkingSetAction(workingSet)); - item.fill(dropDownMenu, -1); + itemAll = new ActionContributionItem(new ToggleWorkingSetAction(workingSet)); + itemNone.fill(dropDownMenu, -1); } } @@ -212,8 +214,8 @@ public class TaskWorkingSetAction extends Action implements IMenuCreator { private class ToggleAllWorkingSetsAction extends Action { ToggleAllWorkingSetsAction() { - super("All Task Working Sets", IAction.AS_CHECK_BOX); - setImageDescriptor(TasksUiImages.TASK_WORKING_SET); + super("Select All", IAction.AS_CHECK_BOX); +// setImageDescriptor(TasksUiImages.TASK_WORKING_SET); setChecked(areAllTaskWorkingSetsEnabled()); } @@ -245,6 +247,42 @@ public class TaskWorkingSetAction extends Action implements IMenuCreator { } + private class ToggleNoWorkingSetsAction extends Action { + + ToggleNoWorkingSetsAction() { + super("Deselect All", IAction.AS_CHECK_BOX); +// setImageDescriptor(TasksUiImages.TASK_WORKING_SET); + setChecked(areAllTaskWorkingSetsEnabled()); + } + + public void runWithEvent(Event event) { + Set<IWorkingSet> newList = new HashSet<IWorkingSet>(Arrays.asList(getEnabledSets())); + + Set<IWorkingSet> tempList = new HashSet<IWorkingSet>(); + Iterator<IWorkingSet> iter = newList.iterator(); + while (iter.hasNext()) { + IWorkingSet workingSet = (IWorkingSet) iter.next(); + if (workingSet != null && workingSet.getId().equalsIgnoreCase(ID_TASK_WORKING_SET)) { + tempList.add(workingSet); + } + } + newList.removeAll(tempList); + +// if (isChecked()) { +// IWorkingSet[] allWorkingSets = getAllWorkingSets(); +// for (IWorkingSet workingSet : allWorkingSets) { +// if (workingSet != null && workingSet.getId().equalsIgnoreCase(ID_TASK_WORKING_SET)) { +// newList.add(workingSet); +// } +// } +// } + + getWindow().getActivePage() + .setWorkingSets((IWorkingSet[]) newList.toArray(new IWorkingSet[newList.size()])); + } + + } + private class ToggleWorkingSetAction extends Action { private IWorkingSet set; |