diff options
author | spingel | 2008-06-04 06:13:39 +0000 |
---|---|---|
committer | spingel | 2008-06-04 06:13:39 +0000 |
commit | 9df41d99addc48bee9e16e0dc4a90926152b9ed3 (patch) | |
tree | c634bc04270f57a38e23cdcaa6fb529d5a57d126 | |
parent | 58dca4c49f28b7c313045c42069477a3f4ea8581 (diff) | |
download | org.eclipse.mylyn.tasks-9df41d99addc48bee9e16e0dc4a90926152b9ed3.tar.gz org.eclipse.mylyn.tasks-9df41d99addc48bee9e16e0dc4a90926152b9ed3.tar.xz org.eclipse.mylyn.tasks-9df41d99addc48bee9e16e0dc4a90926152b9ed3.zip |
NEW - bug 234766: back port Mylyn 3.0 to Eclipse 3.3
https://bugs.eclipse.org/bugs/show_bug.cgi?id=234766
3 files changed, 41 insertions, 26 deletions
diff --git a/org.eclipse.mylyn.tasks.bugs/META-INF/MANIFEST.MF b/org.eclipse.mylyn.tasks.bugs/META-INF/MANIFEST.MF index 904cd0de6..d79057e80 100644 --- a/org.eclipse.mylyn.tasks.bugs/META-INF/MANIFEST.MF +++ b/org.eclipse.mylyn.tasks.bugs/META-INF/MANIFEST.MF @@ -5,11 +5,11 @@ Bundle-SymbolicName: org.eclipse.mylyn.tasks.bugs;singleton:=true Bundle-Version: 3.0.0.qualifier Require-Bundle: org.eclipse.core.runtime, org.eclipse.ui, + org.eclipse.pde.runtime;resolution:=optional, org.eclipse.mylyn.commons.core;bundle-version="[3.0.0,4.0.0)", - org.eclipse.mylyn.tasks.core;bundle-version="[3.0.0,4.0.0)", - org.eclipse.mylyn.tasks.ui;bundle-version="[3.0.0,4.0.0)", org.eclipse.mylyn.commons.ui;bundle-version="[3.0.0,4.0.0)", - org.eclipse.pde.runtime + org.eclipse.mylyn.tasks.core;bundle-version="[3.0.0,4.0.0)", + org.eclipse.mylyn.tasks.ui;bundle-version="[3.0.0,4.0.0)" Bundle-Vendor: Eclipse.org Bundle-ClassPath: . Bundle-RequiredExecutionEnvironment: J2SE-1.5 diff --git a/org.eclipse.mylyn.tasks.bugs/plugin.xml b/org.eclipse.mylyn.tasks.bugs/plugin.xml index 1dc9ff698..bc24f46ed 100644 --- a/org.eclipse.mylyn.tasks.bugs/plugin.xml +++ b/org.eclipse.mylyn.tasks.bugs/plugin.xml @@ -5,19 +5,16 @@ <extension-point id="taskContributors" name="Task Contributors" schema="schema/taskContributors.exsd"/> <extension point="org.eclipse.ui.popupMenus"> - <objectContribution - adaptable="false" - id="org.eclipse.mylyn.tasks.bugs.objectContribution" - objectClass="org.eclipse.pde.internal.runtime.logview.LogEntry"> - <action - class="org.eclipse.mylyn.internal.tasks.bugs.actions.NewTaskFromErrorAction" - enablesFor="1" - icon="icons/etool16/task-repository-new.gif" - menubarPath="org.eclipse.pde.runtime.LogView" - id="org.eclipse.mylyn.tasklist.actions.newTaskFromErrorLog" - label="Report as Bug"> - </action> - </objectContribution> + <viewerContribution + id="org.eclipse.mylyn.bugzilla.ide.log.contribution" + targetID="org.eclipse.pde.runtime.LogView"> + <action + class="org.eclipse.mylyn.internal.tasks.bugs.actions.NewTaskFromErrorAction" + icon="icons/etool16/task-repository-new.gif" + menubarPath="org.eclipse.pde.runtime.LogView" + id="org.eclipse.mylyn.tasklist.actions.newTaskFromErrorLog" + label="Report as Bug"/> + </viewerContribution> </extension> <extension diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/actions/NewTaskFromErrorAction.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/actions/NewTaskFromErrorAction.java index 39dc303d6..2ea3dc5c2 100644 --- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/actions/NewTaskFromErrorAction.java +++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/actions/NewTaskFromErrorAction.java @@ -15,12 +15,16 @@ import org.eclipse.core.runtime.Status; import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.mylyn.internal.tasks.bugs.TasksBugsPlugin; import org.eclipse.pde.internal.runtime.logview.LogEntry; import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IObjectActionDelegate; -import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.swt.widgets.TreeItem; +import org.eclipse.ui.IViewActionDelegate; +import org.eclipse.ui.IViewPart; import org.eclipse.ui.PlatformUI; /** @@ -29,11 +33,11 @@ import org.eclipse.ui.PlatformUI; * @author Jeff Pound * @author Steffen Pingel */ -public class NewTaskFromErrorAction implements IObjectActionDelegate { +public class NewTaskFromErrorAction implements IViewActionDelegate, ISelectionChangedListener { public static final String ID = "org.eclipse.mylyn.tasklist.ui.repositories.actions.create"; - private LogEntry entry; + private TreeViewer treeViewer; /** * Fills a {@link StringBuilder} with {@link LogEntry} information, optionally including subentries too @@ -87,6 +91,15 @@ public class NewTaskFromErrorAction implements IObjectActionDelegate { } public void run() { + TreeItem[] items = treeViewer.getTree().getSelection(); + LogEntry entry = null; + if (items.length > 0) { + entry = (LogEntry) items[0].getData(); + } + if (entry == null) { + return; + } + createTask(entry); } @@ -94,14 +107,19 @@ public class NewTaskFromErrorAction implements IObjectActionDelegate { run(); } + public void init(IViewPart view) { + ISelectionProvider sp = view.getViewSite().getSelectionProvider(); + sp.addSelectionChangedListener(this); + sp.setSelection(sp.getSelection()); + } + public void selectionChanged(IAction action, ISelection selection) { - Object object = ((IStructuredSelection) selection).getFirstElement(); - if (object instanceof LogEntry) { - entry = (LogEntry) object; - } + // this selection is always empty? explicitly register a listener in + // init() instead } - public void setActivePart(IAction action, IWorkbenchPart targetPart) { + public void selectionChanged(SelectionChangedEvent event) { + treeViewer = (TreeViewer) event.getSource(); } } |