Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.mylyn.help.ui/src/org/eclipse/mylyn/internal/help/ui/dialogs/UiLegendDialog.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/plugin.xml8
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationIncoming.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationQueryIncoming.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationReminder.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskNavigateDropDownAction.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanLabelProvider.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlannerLabelProvider.java6
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/RepositorySearchResultView.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java31
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/ContextRetrieveWizardPage.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskElementFactory.java38
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetAdapterFactory.java (renamed from org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskAdapterFactory.java)20
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetElementAdapter.java5
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetElementFactory.java52
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetPage.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetUpdater.java7
21 files changed, 124 insertions, 71 deletions
diff --git a/org.eclipse.mylyn.help.ui/src/org/eclipse/mylyn/internal/help/ui/dialogs/UiLegendDialog.java b/org.eclipse.mylyn.help.ui/src/org/eclipse/mylyn/internal/help/ui/dialogs/UiLegendDialog.java
index cbeb7d684..a23447a24 100644
--- a/org.eclipse.mylyn.help.ui/src/org/eclipse/mylyn/internal/help/ui/dialogs/UiLegendDialog.java
+++ b/org.eclipse.mylyn.help.ui/src/org/eclipse/mylyn/internal/help/ui/dialogs/UiLegendDialog.java
@@ -54,7 +54,7 @@ public class UiLegendDialog extends PopupDialog {
private ScrolledForm form;
- private TaskElementLabelProvider labelProvider = new TaskElementLabelProvider();
+ private TaskElementLabelProvider labelProvider = new TaskElementLabelProvider(false);
private IThemeManager themeManager = PlatformUI.getWorkbench().getThemeManager();
diff --git a/org.eclipse.mylyn.tasks.ui/plugin.xml b/org.eclipse.mylyn.tasks.ui/plugin.xml
index f6648e61e..da0511452 100644
--- a/org.eclipse.mylyn.tasks.ui/plugin.xml
+++ b/org.eclipse.mylyn.tasks.ui/plugin.xml
@@ -776,7 +776,7 @@
elementAdapterClass="org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetElementAdapter"
icon="icons/etool16/open-task.gif"
id="org.eclipse.mylyn.tasks.ui.workingSet"
- name="Tasks"
+ name="Tasks and Resources"
pageClass="org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetPage"
updaterClass="org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetUpdater"/>
</extension>
@@ -784,7 +784,7 @@
point="org.eclipse.core.runtime.adapters">
<factory
adaptableType="org.eclipse.mylyn.tasks.core.AbstractTaskContainer"
- class="org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskAdapterFactory">
+ class="org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetAdapterFactory">
<adapter
type="org.eclipse.ui.IPersistableElement">
</adapter>
@@ -793,8 +793,8 @@
<extension
point="org.eclipse.ui.elementFactories">
<factory
- class="org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskElementFactory"
- id="org.eclipse.mylyn.tasks.ui.elementFactory">
+ class="org.eclipse.mylyn.internal.tasks.ui.workingsets.TaskWorkingSetElementFactory"
+ id="org.eclipse.mylyn.tasks.ui.workingSets.elementFactory">
</factory>
</extension>
<extension
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationIncoming.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationIncoming.java
index b3fb3992a..5d9177ef5 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationIncoming.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationIncoming.java
@@ -29,7 +29,7 @@ public class TaskListNotificationIncoming implements ITaskListNotification {
private String description = null;
- private DecoratingLabelProvider labelProvider = new DecoratingLabelProvider(new TaskElementLabelProvider(),
+ private DecoratingLabelProvider labelProvider = new DecoratingLabelProvider(new TaskElementLabelProvider(true),
PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator());
private Date date;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationQueryIncoming.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationQueryIncoming.java
index ca57d05b4..376ef6a4e 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationQueryIncoming.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationQueryIncoming.java
@@ -27,7 +27,7 @@ public class TaskListNotificationQueryIncoming implements ITaskListNotification
private final AbstractTask hit;
- private DecoratingLabelProvider labelProvider = new DecoratingLabelProvider(new TaskElementLabelProvider(),
+ private DecoratingLabelProvider labelProvider = new DecoratingLabelProvider(new TaskElementLabelProvider(true),
PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator());
private Date date;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationReminder.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationReminder.java
index 74327b77c..67acdf1e6 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationReminder.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/TaskListNotificationReminder.java
@@ -27,7 +27,7 @@ public class TaskListNotificationReminder implements ITaskListNotification {
private final AbstractTask task;
- private DecoratingLabelProvider labelProvider = new DecoratingLabelProvider(new TaskElementLabelProvider(),
+ private DecoratingLabelProvider labelProvider = new DecoratingLabelProvider(new TaskElementLabelProvider(true),
PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator());
private Date date;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskNavigateDropDownAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskNavigateDropDownAction.java
index b39f42cd2..1cfb08256 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskNavigateDropDownAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskNavigateDropDownAction.java
@@ -33,7 +33,7 @@ public abstract class TaskNavigateDropDownAction extends Action implements IMenu
protected Menu dropDownMenu = null;
- protected TaskElementLabelProvider labelProvider = new TaskElementLabelProvider();
+ protected TaskElementLabelProvider labelProvider = new TaskElementLabelProvider(false);
/** Maximum number of items to appear in the drop-down menu */
protected final static int MAX_ITEMS_TO_DISPLAY = 12;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java
index 87ead38ac..c1eed843d 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/TaskSelectionDialog.java
@@ -148,7 +148,7 @@ public class TaskSelectionDialog extends SelectionStatusDialog {
openInBrowserCheck.setSelection(openInBrowser);
}
- final TaskElementLabelProvider labelProvider = new TaskElementLabelProvider();
+ final TaskElementLabelProvider labelProvider = new TaskElementLabelProvider(true);
viewer.setLabelProvider(labelProvider);
viewer.setContentProvider(new ArrayContentProvider());
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java
index d69ceeb47..94f935bc8 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/commands/RemoteTaskSelectionDialog.java
@@ -118,7 +118,7 @@ public class RemoteTaskSelectionDialog extends SelectionStatusDialog {
matchingTasksLabel.setText("&Matching tasks:");
tasksViewer = new TableViewer(area, SWT.SINGLE | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
tasksViewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(400, 200).create());
- tasksViewer.setLabelProvider(new DecoratingLabelProvider(new TaskElementLabelProvider(), PlatformUI
+ tasksViewer.setLabelProvider(new DecoratingLabelProvider(new TaskElementLabelProvider(true), PlatformUI
.getWorkbench().getDecoratorManager().getLabelDecorator()));
tasksViewer.setContentProvider(new ArrayContentProvider());
tasksViewer.addFilter(new ViewerFilter() {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java
index cc862bfe9..256ece68b 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskActivityWizardPage.java
@@ -71,7 +71,7 @@ public class TaskActivityWizardPage extends WizardPage {
private Table filtersTable;
- private TaskElementLabelProvider labelProvider = new TaskElementLabelProvider();
+ private TaskElementLabelProvider labelProvider = new TaskElementLabelProvider(false);
public TaskActivityWizardPage() {
super(TITLE);
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanLabelProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanLabelProvider.java
index cf2ded806..15926a599 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanLabelProvider.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlanLabelProvider.java
@@ -25,6 +25,10 @@ import org.eclipse.swt.graphics.Image;
*/
public class TaskPlanLabelProvider extends TaskElementLabelProvider implements ITableLabelProvider {
+ public TaskPlanLabelProvider() {
+ super(true);
+ }
+
// {".", "Description", "Priority", "Estimated Time", "Reminder Date"};
public Image getColumnImage(Object element, int columnIndex) {
if (columnIndex == 0) {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlannerLabelProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlannerLabelProvider.java
index a29a3db7e..c1b5b5900 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlannerLabelProvider.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/planner/TaskPlannerLabelProvider.java
@@ -28,7 +28,11 @@ import org.eclipse.swt.graphics.Image;
*/
public class TaskPlannerLabelProvider extends TaskElementLabelProvider implements ITableLabelProvider, IColorProvider {
- private TaskElementLabelProvider taskListLabelProvider = new TaskElementLabelProvider();
+ public TaskPlannerLabelProvider() {
+ super(true);
+ }
+
+ private TaskElementLabelProvider taskListLabelProvider = new TaskElementLabelProvider(true);
public Image getColumnImage(Object element, int columnIndex) {
if (columnIndex == 0) {
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/RepositorySearchResultView.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/RepositorySearchResultView.java
index 21d1308bf..1d14918ad 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/RepositorySearchResultView.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/search/RepositorySearchResultView.java
@@ -152,7 +152,7 @@ public class RepositorySearchResultView extends AbstractTextSearchViewPage imple
TaskListColorsAndFonts.THEME_COLOR_TASKLIST_CATEGORY);
SearchViewTableLabelProvider taskListTableLabelProvider = new SearchViewTableLabelProvider(
- new TaskElementLabelProvider(),
+ new TaskElementLabelProvider(true),
PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(), categoryBackground);
viewer.setLabelProvider(taskListTableLabelProvider);
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java
index 094b4737a..96ffb1d3f 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskElementLabelProvider.java
@@ -48,30 +48,41 @@ public class TaskElementLabelProvider extends LabelProvider implements IColorPro
private static final Pattern pattern = Pattern.compile("\\d*: .*");
+ private boolean compositeImages = false;
+
private class CompositeImageDescriptor {
ImageDescriptor icon;
ImageDescriptor overlayKind;
-
+
};
- public TaskElementLabelProvider() {
+// public TaskElementLabelProvider() {
+// super();
+// }
+
+ public TaskElementLabelProvider(boolean compositeImages) {
super();
+ this.compositeImages = compositeImages;
}
@Override
public Image getImage(Object element) {
CompositeImageDescriptor compositeDescriptor = getImageDescriptor(element);
- if (element instanceof AbstractTask) {
- if (compositeDescriptor.overlayKind == null) {
- compositeDescriptor.overlayKind = TasksUiImages.OVERLAY_BLANK;
- }
- return TasksUiImages.getCompositeTaskImage(compositeDescriptor.icon, compositeDescriptor.overlayKind);
- } else if (element instanceof AbstractTaskContainer) {
- return TasksUiImages.getCompositeTaskImage(compositeDescriptor.icon, TasksUiImages.OVERLAY_BLANK);
+ if (!compositeImages) {
+ return TasksUiImages.getImage(compositeDescriptor.icon);
} else {
- return TasksUiImages.getCompositeTaskImage(compositeDescriptor.icon, null);
+ if (element instanceof AbstractTask) {
+ if (compositeDescriptor.overlayKind == null) {
+ compositeDescriptor.overlayKind = TasksUiImages.OVERLAY_BLANK;
+ }
+ return TasksUiImages.getCompositeTaskImage(compositeDescriptor.icon, compositeDescriptor.overlayKind);
+ } else if (element instanceof AbstractTaskContainer) {
+ return TasksUiImages.getCompositeTaskImage(compositeDescriptor.icon, TasksUiImages.OVERLAY_BLANK);
+ } else {
+ return TasksUiImages.getCompositeTaskImage(compositeDescriptor.icon, null);
+ }
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java
index 6ca90190e..d0dfdd7d4 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListView.java
@@ -834,7 +834,7 @@ public class TaskListView extends ViewPart implements IPropertyChangeListener {
final IThemeManager themeManager = getSite().getWorkbenchWindow().getWorkbench().getThemeManager();
Color categoryBackground = themeManager.getCurrentTheme().getColorRegistry().get(
TaskListColorsAndFonts.THEME_COLOR_TASKLIST_CATEGORY);
- taskListTableLabelProvider = new TaskTableLabelProvider(new TaskElementLabelProvider(),
+ taskListTableLabelProvider = new TaskTableLabelProvider(new TaskElementLabelProvider(true),
PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(), categoryBackground);
getViewer().setLabelProvider(taskListTableLabelProvider);
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/ContextRetrieveWizardPage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/ContextRetrieveWizardPage.java
index a1d5af682..5c0d9e0e9 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/ContextRetrieveWizardPage.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/wizards/ContextRetrieveWizardPage.java
@@ -58,7 +58,7 @@ public class ContextRetrieveWizardPage extends WizardPage {
private AbstractTask task;
- private TaskElementLabelProvider labelProvider = new TaskElementLabelProvider();
+ private TaskElementLabelProvider labelProvider = new TaskElementLabelProvider(false);
private RepositoryAttachment selectedContextAttachment = null;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskElementFactory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskElementFactory.java
deleted file mode 100644
index 4bd0b070c..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskElementFactory.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 - 2006 Mylar committers and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-package org.eclipse.mylyn.internal.tasks.ui.workingsets;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
-import org.eclipse.mylyn.tasks.core.TaskList;
-import org.eclipse.mylyn.tasks.ui.TasksUiPlugin;
-import org.eclipse.ui.IElementFactory;
-import org.eclipse.ui.IMemento;
-
-/**
- * Element factory used to restore task containers for working sets
- *
- * @author Eugene Kuleshov
- */
-public class TaskElementFactory implements IElementFactory {
-
- public static final String ID_HANDLE = "handle";
-
- public IAdaptable createElement(IMemento memento) {
- TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList();
-
- String handle = memento.getString(ID_HANDLE);
- for (AbstractTaskContainer element : taskList.getRootElements()) {
- if (element instanceof AbstractTaskContainer && element.getHandleIdentifier().equals(handle)) {
- return (IAdaptable) element;
- }
- }
- return null;
- }
-} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskAdapterFactory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetAdapterFactory.java
index b33e619bc..afe940e5b 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskAdapterFactory.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetAdapterFactory.java
@@ -8,6 +8,7 @@
package org.eclipse.mylyn.internal.tasks.ui.workingsets;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IAdapterFactory;
import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
import org.eclipse.ui.IMemento;
@@ -18,9 +19,9 @@ import org.eclipse.ui.IPersistableElement;
*
* @author Eugene Kuleshov
*/
-public class TaskAdapterFactory implements IAdapterFactory {
+public class TaskWorkingSetAdapterFactory implements IAdapterFactory {
- private static final String TASK_ELEMENT_FACTORY_ID = "org.eclipse.mylyn.tasks.ui.elementFactory";
+ private static final String TASK_ELEMENT_FACTORY_ID = "org.eclipse.mylyn.tasks.ui.workingSets.elementFactory";
@SuppressWarnings("unchecked")
private static final Class[] ADAPTER_TYPES = new Class[] { IPersistableElement.class };
@@ -32,11 +33,21 @@ public class TaskAdapterFactory implements IAdapterFactory {
public Object getAdapter(final Object adaptableObject, @SuppressWarnings("unchecked") Class adapterType) {
if (adapterType == IPersistableElement.class && adaptableObject instanceof AbstractTaskContainer) {
-
return new IPersistableElement() {
public void saveState(IMemento memento) {
AbstractTaskContainer container = (AbstractTaskContainer) adaptableObject;
- memento.putString(TaskElementFactory.ID_HANDLE, container.getHandleIdentifier());
+ memento.putString(TaskWorkingSetElementFactory.HANDLE_TASK, container.getHandleIdentifier());
+ }
+
+ public String getFactoryId() {
+ return TASK_ELEMENT_FACTORY_ID;
+ }
+ };
+ } else if (adapterType == IPersistableElement.class && adaptableObject instanceof IProject) {
+ return new IPersistableElement() {
+ public void saveState(IMemento memento) {
+ IProject project = (IProject) adaptableObject;
+ memento.putString(TaskWorkingSetElementFactory.HANDLE_PROJECT, project.getName());
}
public String getFactoryId() {
@@ -46,6 +57,5 @@ public class TaskAdapterFactory implements IAdapterFactory {
}
return null;
}
-
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetElementAdapter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetElementAdapter.java
index 582410556..cd15e76d8 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetElementAdapter.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetElementAdapter.java
@@ -11,6 +11,7 @@ package org.eclipse.mylyn.internal.tasks.ui.workingsets;
import java.util.ArrayList;
import java.util.List;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
import org.eclipse.ui.IWorkingSet;
@@ -18,6 +19,7 @@ import org.eclipse.ui.IWorkingSetElementAdapter;
/**
* @author Eugene Kuleshov
+ * @author Mik Kersten
*/
public class TaskWorkingSetElementAdapter implements IWorkingSetElementAdapter {
@@ -36,6 +38,8 @@ public class TaskWorkingSetElementAdapter implements IWorkingSetElementAdapter {
for (IAdaptable adaptable : elements) {
if (adaptable instanceof AbstractTaskContainer) {
containers.add(adaptable);
+ } else if (adaptable instanceof IProject) {
+ containers.add(adaptable);
}
}
return (IAdaptable[]) containers.toArray(new IAdaptable[containers.size()]);
@@ -44,5 +48,4 @@ public class TaskWorkingSetElementAdapter implements IWorkingSetElementAdapter {
public void dispose() {
// ignore
}
-
} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetElementFactory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetElementFactory.java
new file mode 100644
index 000000000..5e2abfcdc
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetElementFactory.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 Mylar committers and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *******************************************************************************/
+
+package org.eclipse.mylyn.internal.tasks.ui.workingsets;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
+import org.eclipse.mylyn.tasks.core.TaskList;
+import org.eclipse.mylyn.tasks.ui.TasksUiPlugin;
+import org.eclipse.ui.IElementFactory;
+import org.eclipse.ui.IMemento;
+
+/**
+ * Element factory used to restore task containers and projects for Task+Resource working sets.
+ *
+ * @author Eugene Kuleshov
+ * @author Mik Kersten
+ */
+public class TaskWorkingSetElementFactory implements IElementFactory {
+
+ static final String HANDLE_TASK = "handle.task";
+
+ static final String HANDLE_PROJECT = "handle.task";
+
+ public IAdaptable createElement(IMemento memento) {
+ String taskHandle = memento.getString(HANDLE_TASK);
+ if (taskHandle != null) {
+ // TOOD: this does not support projects and categories/queries have the same name
+ TaskList taskList = TasksUiPlugin.getTaskListManager().getTaskList();
+ for (AbstractTaskContainer element : taskList.getRootElements()) {
+ if (element.getHandleIdentifier().equals(taskHandle)) {
+ return (IAdaptable) element;
+ }
+ }
+ }
+ String projectHandle = memento.getString(HANDLE_PROJECT);
+ if (projectHandle != null) {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectHandle);
+ if (project != null) {
+ return project;
+ }
+ }
+ return null;
+ }
+} \ No newline at end of file
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetPage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetPage.java
index 7024b0779..abe5f254e 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetPage.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetPage.java
@@ -111,7 +111,7 @@ public class TaskWorkingSetPage extends WizardPage implements IWorkingSetPage {
class AggregateLabelProvider implements ILabelProvider {
- private TaskElementLabelProvider taskProvider = new TaskElementLabelProvider();
+ private TaskElementLabelProvider taskProvider = new TaskElementLabelProvider(false);
private WorkbenchLabelProvider workbenchProvider = new WorkbenchLabelProvider();
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetUpdater.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetUpdater.java
index 0a57b5dc3..cde9d4d1f 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetUpdater.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/workingsets/TaskWorkingSetUpdater.java
@@ -14,6 +14,8 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.mylyn.tasks.core.AbstractTaskContainer;
import org.eclipse.mylyn.tasks.core.ITaskListChangeListener;
@@ -51,6 +53,11 @@ public class TaskWorkingSetUpdater implements IWorkingSetUpdater, ITaskListChang
list.add(adaptable);
}
}
+ } else if (adaptable instanceof IProject) {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(((IProject)adaptable).getName());
+ if (project != null && project.exists()) {
+ list.add(project);
+ }
}
}
workingSet.setElements(list.toArray(new IAdaptable[list.size()]));

Back to the top