Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskInfoEditor.java1
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListUiUtil.java124
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/DeleteAction.java48
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewLocalTaskAction.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskEditorAction.java62
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskListElementAction.java72
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskDeactivateAction.java10
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/preferences/MylarTaskListPreferencePage.java2
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListDropAdapter.java4
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListView.java54
10 files changed, 247 insertions, 134 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskInfoEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskInfoEditor.java
index 94eedbb9b..5f58bc91f 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskInfoEditor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskInfoEditor.java
@@ -236,7 +236,6 @@ public class TaskInfoEditor extends EditorPart {
// refreshTaskListView(task);
MylarTaskListPlugin.getTaskListManager().notifyTaskChanged(task);
- MylarTaskListPlugin.getTaskListManager().notifyTaskChanged(task);
markDirty(false);
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListUiUtil.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListUiUtil.java
new file mode 100644
index 000000000..fc45e3af9
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/TaskListUiUtil.java
@@ -0,0 +1,124 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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
+ *
+ * Contributors:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.tasklist.ui;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.mylar.internal.core.util.MylarStatusHandler;
+import org.eclipse.mylar.internal.tasklist.TaskListPreferenceConstants;
+import org.eclipse.mylar.tasklist.IQueryHit;
+import org.eclipse.mylar.tasklist.ITask;
+import org.eclipse.mylar.tasklist.ITaskCategory;
+import org.eclipse.mylar.tasklist.MylarTaskListPlugin;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.browser.IWebBrowser;
+import org.eclipse.ui.internal.Workbench;
+import org.eclipse.ui.internal.browser.WorkbenchBrowserSupport;
+
+/**
+ * @author Mik Kersten
+ */
+public class TaskListUiUtil {
+
+ public static void closeEditorInActivePage(ITask task) {
+ IWorkbenchPage page = MylarTaskListPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow()
+ .getActivePage();
+ if (page == null) {
+ return;
+ }
+ IEditorInput input = new TaskEditorInput(task);
+ IEditorPart editor = page.findEditor(input);
+ if (editor != null) {
+ page.closeEditor(editor, false);
+ }
+ }
+
+ public static void openEditor(final IQueryHit hit) {
+ ITask task = hit.getOrCreateCorrespondingTask();
+ if (task != null) {
+ openEditor(task);
+ } else {
+ MessageDialog.openInformation(null, MylarTaskListPlugin.TITLE_DIALOG,
+ "Could not create task for query hit: " + hit);
+ }
+ }
+
+ public static void openEditor(final ITask task) {
+ openEditor(task, true);
+ }
+
+ /**
+ * Set asyncExec true for testing purposes.
+ */
+ public static void openEditor(final ITask task, boolean asyncExec) {
+
+ final IEditorInput editorInput = new TaskEditorInput(task);
+ if (!asyncExec) {
+ openEditorInActivePage(editorInput, TaskListPreferenceConstants.TASK_EDITOR_ID);
+ } else {
+ Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ openEditorInActivePage(editorInput, TaskListPreferenceConstants.TASK_EDITOR_ID);
+ }
+ });
+ }
+ }
+
+ public static IEditorPart openEditorInActivePage(IEditorInput input, String editorId) {
+ try {
+ final IWorkbenchPage page = MylarTaskListPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow()
+ .getActivePage();
+ return page.openEditor(input, editorId);
+ } catch (PartInitException e) {
+ MylarStatusHandler.fail(e, "Open for editor failed: " + input + ", id: " + editorId, true);
+ }
+ return null;
+ }
+
+ public static void openEditor(ITaskCategory category) {
+ final IEditorInput input = new CategoryEditorInput(category);
+ Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
+ public void run() {
+ openEditorInActivePage(input, TaskListPreferenceConstants.CATEGORY_EDITOR_ID);
+ }
+ });
+ }
+
+ public static void openUrl(String title, String tooltip, String url) {
+ try {
+ IWebBrowser b = null;
+ int flags = 0;
+ if (WorkbenchBrowserSupport.getInstance().isInternalWebBrowserAvailable()) {
+ flags = WorkbenchBrowserSupport.AS_EDITOR | WorkbenchBrowserSupport.LOCATION_BAR
+ | WorkbenchBrowserSupport.NAVIGATION_BAR;
+
+ } else {
+ flags = WorkbenchBrowserSupport.AS_EXTERNAL | WorkbenchBrowserSupport.LOCATION_BAR
+ | WorkbenchBrowserSupport.NAVIGATION_BAR;
+ }
+ b = WorkbenchBrowserSupport.getInstance().createBrowser(flags, "org.eclipse.mylar.tasklist." + title,
+ title, tooltip);
+ b.openURL(new URL(url));
+ } catch (PartInitException e) {
+ MessageDialog.openError(Display.getDefault().getActiveShell(), "Browser init error",
+ "Browser could not be initiated");
+ } catch (MalformedURLException e) {
+ MessageDialog.openError(Display.getDefault().getActiveShell(), "URL not found", "URL Could not be opened");
+ }
+ }
+}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/DeleteAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/DeleteAction.java
index 722219f42..8f5768509 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/DeleteAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/DeleteAction.java
@@ -16,15 +16,14 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.mylar.core.MylarPlugin;
-import org.eclipse.mylar.internal.core.util.MylarStatusHandler;
import org.eclipse.mylar.internal.tasklist.TaskCategory;
+import org.eclipse.mylar.internal.tasklist.ui.TaskListUiUtil;
import org.eclipse.mylar.internal.tasklist.ui.views.TaskListView;
import org.eclipse.mylar.tasklist.IQueryHit;
-import org.eclipse.mylar.tasklist.ITask;
import org.eclipse.mylar.tasklist.IRepositoryQuery;
+import org.eclipse.mylar.tasklist.ITask;
import org.eclipse.mylar.tasklist.MylarTaskListPlugin;
import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.internal.Workbench;
import org.eclipse.ui.internal.WorkbenchImages;
@@ -75,18 +74,18 @@ public class DeleteAction extends Action {
MylarTaskListPlugin.getTaskListManager().deleteTask(task);
MylarPlugin.getContextManager().contextDeleted(task.getHandleIdentifier());
- IWorkbenchPage page = MylarTaskListPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow()
- .getActivePage();
-
- if (page == null) {
- return;
- }
- try {
- view.closeTaskEditors(task, page);
- } catch (Exception e) {
- MylarStatusHandler.log(e, "closing editors failed");
- }
- view.getViewer().refresh();
+ TaskListUiUtil.closeEditorInActivePage(task);
+// IWorkbenchPage page = MylarTaskListPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow()
+// .getActivePage();
+// if (page == null) {
+// return;
+// }
+// try {
+// view.closeTaskEditors(task, page);
+// } catch (Exception e) {
+// MylarStatusHandler.log(e, "closing editors failed");
+// }
+// view.getViewer().refresh();
} else if (selectedObject instanceof IRepositoryQuery) {
boolean deleteConfirmed = MessageDialog.openQuestion(Workbench.getInstance().getActiveWorkbenchWindow()
.getShell(), "Confirm delete", "Delete the selected query? Task data will not be deleted.");
@@ -102,15 +101,16 @@ public class DeleteAction extends Action {
TaskCategory cat = (TaskCategory) selectedObject;
for (ITask task : cat.getChildren()) {
MylarPlugin.getContextManager().contextDeleted(task.getHandleIdentifier());
- IWorkbenchPage page = MylarTaskListPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow()
- .getActivePage();
- if (page != null) {
- try {
- this.view.closeTaskEditors(task, page);
- } catch (Exception e) {
- MylarStatusHandler.log(e, " deletion failed");
- }
- }
+ TaskListUiUtil.closeEditorInActivePage(task);
+// IWorkbenchPage page = MylarTaskListPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow()
+// .getActivePage();
+// if (page != null) {
+// try {
+// this.view.closeTaskEditors(task, page);
+// } catch (Exception e) {
+// MylarStatusHandler.log(e, " deletion failed");
+// }
+// }
}
MylarTaskListPlugin.getTaskListManager().deleteCategory(cat);
view.getViewer().refresh();
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewLocalTaskAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewLocalTaskAction.java
index d7b56c57a..a6c0c2799 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewLocalTaskAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/NewLocalTaskAction.java
@@ -18,6 +18,7 @@ import org.eclipse.jface.window.Window;
import org.eclipse.mylar.internal.tasklist.Task;
import org.eclipse.mylar.internal.tasklist.TaskCategory;
import org.eclipse.mylar.internal.tasklist.ui.TaskListImages;
+import org.eclipse.mylar.internal.tasklist.ui.TaskListUiUtil;
import org.eclipse.mylar.internal.tasklist.ui.views.TaskInputDialog;
import org.eclipse.mylar.internal.tasklist.ui.views.TaskListView;
import org.eclipse.mylar.tasklist.ITask;
@@ -72,7 +73,8 @@ public class NewLocalTaskAction extends Action {
} else {
MylarTaskListPlugin.getTaskListManager().moveToRoot(newTask);
}
- newTask.openTaskInEditor(false);
+ TaskListUiUtil.openEditor(newTask);
+// newTask.openTaskInEditor(false);
view.getViewer().setSelection(new StructuredSelection(newTask));
view.getViewer().refresh();
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskEditorAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskEditorAction.java
deleted file mode 100644
index 3f2c56c06..000000000
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskEditorAction.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 - 2006 University Of British Columbia 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
- *
- * Contributors:
- * University Of British Columbia - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.mylar.internal.tasklist.ui.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.mylar.internal.tasklist.ITaskHandler;
-import org.eclipse.mylar.internal.tasklist.Task;
-import org.eclipse.mylar.internal.tasklist.TaskCategory;
-import org.eclipse.mylar.internal.tasklist.ui.ITaskListElement;
-import org.eclipse.mylar.internal.tasklist.ui.views.TaskListView;
-import org.eclipse.mylar.tasklist.MylarTaskListPlugin;
-
-/**
- * @author Mik Kersten and Ken Sueda
- */
-public class OpenTaskEditorAction extends Action {
-
- public static final String ID = "org.eclipse.mylar.tasklist.actions.open";
-
- private final TaskListView view;
-
- /**
- * @param view
- */
- public OpenTaskEditorAction(TaskListView view) {
- this.view = view;
- setText("Open");
- setToolTipText("Open TaskList Element");
- setId(ID);
- }
-
- @Override
- public void run() {
- ISelection selection = this.view.getViewer().getSelection();
- Object obj = ((IStructuredSelection) selection).getFirstElement();
- if (obj instanceof ITaskListElement) {
- ITaskListElement element = (ITaskListElement) obj;
- ITaskHandler taskHandler = MylarTaskListPlugin.getDefault().getHandlerForElement(element);
- if (taskHandler != null) {
- taskHandler.itemOpened(element);
- } else {
- if (element instanceof Task) {
- ((Task) element).openTaskInEditor(false);
- } else if (element instanceof TaskCategory) {
- ((TaskCategory) element).openCategoryInEditor(false);
- }
- }
- }
- this.view.getViewer().refresh(obj);
- }
-}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskListElementAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskListElementAction.java
new file mode 100644
index 000000000..c0bb23493
--- /dev/null
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/OpenTaskListElementAction.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2004 - 2006 University Of British Columbia 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
+ *
+ * Contributors:
+ * University Of British Columbia - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.mylar.internal.tasklist.ui.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredViewer;
+import org.eclipse.mylar.internal.tasklist.ui.TaskListUiUtil;
+import org.eclipse.mylar.tasklist.IQueryHit;
+import org.eclipse.mylar.tasklist.IRepositoryQuery;
+import org.eclipse.mylar.tasklist.ITask;
+import org.eclipse.mylar.tasklist.ITaskCategory;
+
+/**
+ * @author Mik Kersten
+ */
+public class OpenTaskListElementAction extends Action {
+
+ public static final String ID = "org.eclipse.mylar.tasklist.actions.open";
+
+ private final StructuredViewer viewer;
+
+ /**
+ * @param view
+ */
+ public OpenTaskListElementAction(StructuredViewer view) {
+ this.viewer = view;
+ setText("Open");
+ setToolTipText("Open Task List Element");
+ setId(ID);
+ }
+
+ @Override
+ public void run() {
+ ISelection selection = viewer.getSelection();
+ Object element = ((IStructuredSelection) selection).getFirstElement();
+ if (element instanceof ITask) {
+ TaskListUiUtil.openEditor((ITask)element);
+ } else if (element instanceof IQueryHit) {
+ TaskListUiUtil.openEditor((IQueryHit)element);
+ } else if (element instanceof ITaskCategory) {
+ TaskListUiUtil.openEditor((ITaskCategory)element);
+ } else if (element instanceof IRepositoryQuery) {
+
+ }
+
+// if (obj instanceof ITaskListElement) {
+// ITaskListElement element = (ITaskListElement) obj;
+// ITaskHandler taskHandler = MylarTaskListPlugin.getDefault().getHandlerForElement(element);
+// if (taskHandler != null) {
+// taskHandler.itemOpened(element);
+// } else {
+// if (element instanceof ITask) {
+// ((Task) element).openTaskInEditor(false);
+// } else if (element instanceof ITaskCategory) {
+// ((TaskCategory) element).openCategoryInEditor(false);
+// }
+// }
+// }
+// this.view.getViewer().refresh(obj);
+ }
+}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskDeactivateAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskDeactivateAction.java
index 786b7f036..dd0889ec9 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskDeactivateAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/actions/TaskDeactivateAction.java
@@ -15,10 +15,10 @@ import org.eclipse.jface.action.Action;
import org.eclipse.mylar.core.MylarPlugin;
import org.eclipse.mylar.internal.core.util.MylarStatusHandler;
import org.eclipse.mylar.internal.tasklist.ui.TaskListImages;
+import org.eclipse.mylar.internal.tasklist.ui.TaskListUiUtil;
import org.eclipse.mylar.internal.tasklist.ui.views.TaskListView;
import org.eclipse.mylar.tasklist.ITask;
import org.eclipse.mylar.tasklist.MylarTaskListPlugin;
-import org.eclipse.ui.IWorkbenchPage;
/**
* @author Mik Kersten
@@ -35,15 +35,13 @@ public class TaskDeactivateAction extends Action {
public void run(ITask task) {
MylarPlugin.getContextManager().actionObserved(this, Boolean.FALSE.toString());
- IWorkbenchPage page = MylarTaskListPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow()
- .getActivePage();
- if (page == null)
- return;
+
try {
if (task != null) {
MylarTaskListPlugin.getTaskListManager().deactivateTask(task);
TaskListView.getDefault().getViewer().refresh();
- TaskListView.getDefault().closeTaskEditors(task, page);
+ TaskListUiUtil.closeEditorInActivePage(task);
+// TaskListView.getDefault().closeTaskEditors(task, page);
}
} catch (Exception e) {
MylarStatusHandler.log(e, " Closing task editor on task deactivation failed");
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/preferences/MylarTaskListPreferencePage.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/preferences/MylarTaskListPreferencePage.java
index 670ed9681..515d10a14 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/preferences/MylarTaskListPreferencePage.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/preferences/MylarTaskListPreferencePage.java
@@ -92,7 +92,7 @@ public class MylarTaskListPreferencePage extends PreferencePage implements IWork
container.setLayout(new GridLayout(2, false));
container.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
- container.setText("Open Bug Reports With");
+ container.setText("Open Repository Tasks With");
reportEditor = new Button(container, SWT.RADIO);
reportEditor.setText("Bug editor");
reportEditor.setSelection(getPreferenceStore().getBoolean(TaskListPreferenceConstants.REPORT_OPEN_EDITOR));
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListDropAdapter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListDropAdapter.java
index 85ba1ff75..6e23cf3dd 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListDropAdapter.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListDropAdapter.java
@@ -24,6 +24,7 @@ import org.eclipse.mylar.internal.core.util.MylarStatusHandler;
import org.eclipse.mylar.internal.tasklist.Task;
import org.eclipse.mylar.internal.tasklist.TaskCategory;
import org.eclipse.mylar.internal.tasklist.ui.ITaskListElement;
+import org.eclipse.mylar.internal.tasklist.ui.TaskListUiUtil;
import org.eclipse.mylar.tasklist.IQueryHit;
import org.eclipse.mylar.tasklist.ITask;
import org.eclipse.mylar.tasklist.MylarTaskListPlugin;
@@ -147,7 +148,8 @@ public class TaskListDropAdapter extends ViewerDropAdapter {
newTask.setPriority(MylarTaskListPlugin.PriorityLevel.P3.toString());
newTask.setUrl(url);
- newTask.openTaskInEditor(true);
+ TaskListUiUtil.openEditor(newTask);
+// newTask.openTaskInEditor(true);
return true;
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListView.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListView.java
index 2bb315de5..0a2b5f2ad 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListView.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasklist/ui/views/TaskListView.java
@@ -11,13 +11,10 @@
package org.eclipse.mylar.internal.tasklist.ui.views;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import javax.security.auth.login.LoginException;
-
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IMenuCreator;
@@ -48,14 +45,12 @@ import org.eclipse.jface.window.Window;
import org.eclipse.mylar.internal.core.dt.MylarWebRef;
import org.eclipse.mylar.internal.core.util.MylarStatusHandler;
import org.eclipse.mylar.internal.tasklist.ITaskHandler;
-import org.eclipse.mylar.internal.tasklist.Task;
import org.eclipse.mylar.internal.tasklist.TaskCategory;
import org.eclipse.mylar.internal.tasklist.TaskPriorityFilter;
import org.eclipse.mylar.internal.tasklist.ui.AbstractTaskFilter;
import org.eclipse.mylar.internal.tasklist.ui.IDynamicSubMenuContributor;
import org.eclipse.mylar.internal.tasklist.ui.ITaskListElement;
import org.eclipse.mylar.internal.tasklist.ui.TaskCompleteFilter;
-import org.eclipse.mylar.internal.tasklist.ui.TaskEditorInput;
import org.eclipse.mylar.internal.tasklist.ui.TaskListImages;
import org.eclipse.mylar.internal.tasklist.ui.TaskListPatternFilter;
import org.eclipse.mylar.internal.tasklist.ui.actions.CollapseAllAction;
@@ -70,8 +65,8 @@ import org.eclipse.mylar.internal.tasklist.ui.actions.MarkTaskIncompleteAction;
import org.eclipse.mylar.internal.tasklist.ui.actions.NewCategoryAction;
import org.eclipse.mylar.internal.tasklist.ui.actions.NewLocalTaskAction;
import org.eclipse.mylar.internal.tasklist.ui.actions.NextTaskDropDownAction;
-import org.eclipse.mylar.internal.tasklist.ui.actions.OpenTaskEditorAction;
import org.eclipse.mylar.internal.tasklist.ui.actions.OpenTaskInExternalBrowserAction;
+import org.eclipse.mylar.internal.tasklist.ui.actions.OpenTaskListElementAction;
import org.eclipse.mylar.internal.tasklist.ui.actions.PreviousTaskDropDownAction;
import org.eclipse.mylar.internal.tasklist.ui.actions.RemoveFromCategoryAction;
import org.eclipse.mylar.internal.tasklist.ui.actions.RenameAction;
@@ -79,10 +74,10 @@ import org.eclipse.mylar.internal.tasklist.ui.actions.TaskActivateAction;
import org.eclipse.mylar.internal.tasklist.ui.actions.TaskDeactivateAction;
import org.eclipse.mylar.internal.tasklist.ui.actions.WorkOfflineAction;
import org.eclipse.mylar.tasklist.IQueryHit;
+import org.eclipse.mylar.tasklist.IRepositoryQuery;
import org.eclipse.mylar.tasklist.ITask;
import org.eclipse.mylar.tasklist.ITaskActivityListener;
import org.eclipse.mylar.tasklist.ITaskCategory;
-import org.eclipse.mylar.tasklist.IRepositoryQuery;
import org.eclipse.mylar.tasklist.MylarTaskListPlugin;
import org.eclipse.swt.SWT;
import org.eclipse.swt.dnd.DND;
@@ -101,14 +96,11 @@ import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.TreeColumn;
import org.eclipse.swt.widgets.TreeItem;
import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IViewReference;
import org.eclipse.ui.IViewSite;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.internal.Workbench;
@@ -151,7 +143,7 @@ public class TaskListView extends ViewPart {
private CopyDescriptionAction copyDescriptionAction;
- private OpenTaskEditorAction openTaskEditor;
+ private OpenTaskListElementAction openTaskEditor;
private OpenTaskInExternalBrowserAction openUrlInExternal;
@@ -241,7 +233,7 @@ public class TaskListView extends ViewPart {
refresh(null);
}
}
-
+
public void tasklistRead() {
refresh(null);
}
@@ -262,12 +254,12 @@ public class TaskListView extends ViewPart {
getViewer().getControl().setRedraw(true);
} else {
getViewer().refresh(element, true);
- }
+ }
}
}
});
}
- }
+ }
};
private final class PriorityDropDownAction extends Action implements IMenuCreator {
@@ -1076,7 +1068,7 @@ public class TaskListView extends ViewPart {
action.setEnabled(true);
} else if (action instanceof NewLocalTaskAction) {
action.setEnabled(false);
- } else if (action instanceof OpenTaskEditorAction) {
+ } else if (action instanceof OpenTaskListElementAction) {
action.setEnabled(true);
} else if (action instanceof CopyDescriptionAction) {
action.setEnabled(true);
@@ -1105,7 +1097,7 @@ public class TaskListView extends ViewPart {
} else {
action.setEnabled(false);
}
- } else if (action instanceof OpenTaskEditorAction) {
+ } else if (action instanceof OpenTaskListElementAction) {
action.setEnabled(true);
} else if (action instanceof CopyDescriptionAction) {
action.setEnabled(true);
@@ -1141,7 +1133,7 @@ public class TaskListView extends ViewPart {
autoClose = new ManageEditorsAction();
markIncompleteAction = new MarkTaskCompleteAction(this);
markCompleteAction = new MarkTaskIncompleteAction(this);
- openTaskEditor = new OpenTaskEditorAction(this);
+ openTaskEditor = new OpenTaskListElementAction(this.getViewer());
openUrlInExternal = new OpenTaskInExternalBrowserAction();
filterCompleteTask = new FilterCompletedTasksAction(this);
filterOnPriority = new PriorityDropDownAction();
@@ -1197,21 +1189,6 @@ public class TaskListView extends ViewPart {
// return false;
}
- public void closeTaskEditors(ITask task, IWorkbenchPage page) throws LoginException, IOException {
- ITaskHandler taskHandler = MylarTaskListPlugin.getDefault().getHandlerForElement(task);
- if (taskHandler != null) {
- taskHandler.taskClosed(task, page);
- } else if (task instanceof Task) {
- IEditorInput input = new TaskEditorInput((Task) task);
-
- IEditorPart editor = page.findEditor(input);
-
- if (editor != null) {
- page.closeEditor(editor, false);
- }
- }
- }
-
private void hookOpenAction() {
getViewer().addDoubleClickListener(new IDoubleClickListener() {
public void doubleClick(DoubleClickEvent event) {
@@ -1243,12 +1220,13 @@ public class TaskListView extends ViewPart {
}
}
-// public void notifyTaskDataChanged(ITask task) {
-// if (getViewer().getTree() != null && !getViewer().getTree().isDisposed()) {
-// getViewer().refresh();
-// expandToActiveTasks();
-// }
-// }
+ // public void notifyTaskDataChanged(ITask task) {
+ // if (getViewer().getTree() != null && !getViewer().getTree().isDisposed())
+ // {
+ // getViewer().refresh();
+ // expandToActiveTasks();
+ // }
+ // }
public static TaskListView getDefault() {
return INSTANCE;

Back to the top