diff options
16 files changed, 239 insertions, 118 deletions
diff --git a/org.eclipse.mylyn.bugzilla.ui/plugin.xml b/org.eclipse.mylyn.bugzilla.ui/plugin.xml index acc357443..98bfef616 100644 --- a/org.eclipse.mylyn.bugzilla.ui/plugin.xml +++ b/org.eclipse.mylyn.bugzilla.ui/plugin.xml @@ -105,15 +105,99 @@ searchResultClass="org.eclipse.mylar.bugzilla.core.search.BugzillaSearchResult" id="org.eclipse.mylar.bugzilla.BugzillaSearchResultPage"/> </extension> + <extension point="org.eclipse.mylar.tasks.taskListContributor"> <taskListContributor - actionContributorClass="org.eclipse.mylar.bugzilla.ui.tasks.BugzillaTaskListActionContributor" + actionContributorClass="org.eclipse.mylar.bugzilla.ui.tasks.BugzillaTaskContributor" externalizerClass="org.eclipse.mylar.bugzilla.ui.tasks.BugzillaTaskExternalizer" id="org.eclipse.mylar.bugzilla.ui.tasklist" name="Bugzilla Contributer"> </taskListContributor> </extension> - + + <extension point="org.eclipse.ui.viewActions"> + <viewContribution + id="org.eclipse.mylar.bugzilla.ui.tasks.actions" + targetID="org.eclipse.mylar.tasks.ui.views.TaskListView"> + <action + class="org.eclipse.mylar.bugzilla.ui.actions.RefreshBugzillaReportsAction" + enablesFor="*" + icon="icons/etool16/task-bug-refresh.gif" + id="org.eclipse.mylar.bugzilla.tasks.refresh" + label="Refresh Non-Resolved Bugzilla reports" + style="push" + toolbarPath="mylar" + tooltip="Refresh Non-Resolved Bugzilla reports"> + </action> + <action + class="org.eclipse.mylar.bugzilla.ui.actions.CreateBugzillaQueryCategoryAction" + enablesFor="*" + icon="icons/etool16/category-query-new.gif" + id="org.eclipse.mylar.bugzilla.tasks.addQuery" + label="Add Bugzilla Query" + style="push" + toolbarPath="mylar" + tooltip="Add Bugzilla Query"> + </action> + <action + class="org.eclipse.mylar.bugzilla.ui.actions.CreateNewBugzillaTaskAction" + enablesFor="*" + icon="icons/etool16/task-bug-new.gif" + id="org.eclipse.mylar.bugzilla.tasks.addNew" + label="Create and Add New Bugzilla Report" + style="push" + toolbarPath="mylar" + tooltip="Create and Add New Bugzilla Report"> + </action> + <action + class="org.eclipse.mylar.bugzilla.ui.actions.CreateBugzillaTaskAction" + enablesFor="*" + icon="icons/etool16/task-bug.gif" + id="org.eclipse.mylar.bugzilla.tasks.addExisting" + label="Add Existing Bugzilla Report" + style="push" + toolbarPath="mylar" + tooltip="Add Existing Bugzilla Report"> + </action> + </viewContribution> + </extension> + + <extension + point="org.eclipse.ui.popupMenus"> + <viewerContribution + id="org.eclipse.mylar.bugzilla.ui.viewerContribution1" + targetID="org.eclipse.mylar.tasks.ui.views.TaskListView"> + <action + class="org.eclipse.mylar.bugzilla.ui.actions.CreateBugzillaTaskAction" + enablesFor="*" + icon="icons/etool16/task-bug.gif" + id="org.eclipse.mylar.bugzilla.ui.popup.addExisting" + label="Add Existing Bugzilla Report" + menubarPath="mylar" + tooltip="Add Existing Bugzilla Report"> + <enablement> + <objectClass name="org.eclipse.mylar.tasks.internal.TaskCategory"/> + </enablement> + </action> + <action + class="org.eclipse.mylar.bugzilla.ui.actions.RefreshBugzillaAction" + enablesFor="*" + icon="icons/etool16/task-bug-refresh.gif" + id="org.eclipse.mylar.bugzilla.ui.popup.refresh" + label="Bugzilla Refresh" + menubarPath="mylar" + tooltip="Bugzilla Refresh"> + <enablement> + <or> + <objectClass name="org.eclipse.mylar.bugzilla.ui.tasks.BugzillaTask"/> + <objectClass name="org.eclipse.mylar.bugzilla.ui.tasks.BugzillaQueryCategory"/> + <objectClass name="org.eclipse.mylar.bugzilla.ui.tasks.BugzillaHit"/> + </or> + </enablement> + </action> + </viewerContribution> + + </extension> </plugin> diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaQueryCategoryAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaQueryCategoryAction.java index ed0249cca..76cc7c022 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaQueryCategoryAction.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaQueryCategoryAction.java @@ -14,7 +14,9 @@ package org.eclipse.mylar.bugzilla.ui.actions; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.viewers.ISelection; import org.eclipse.mylar.bugzilla.ui.BugzillaImages; import org.eclipse.mylar.bugzilla.ui.tasks.BugzillaQueryCategory; import org.eclipse.mylar.bugzilla.ui.tasks.BugzillaQueryDialog; @@ -22,6 +24,8 @@ import org.eclipse.mylar.core.MylarPlugin; import org.eclipse.mylar.tasks.MylarTasksPlugin; import org.eclipse.mylar.tasks.ui.views.TaskListView; import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IViewActionDelegate; +import org.eclipse.ui.IViewPart; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.actions.WorkspaceModifyOperation; import org.eclipse.ui.progress.IProgressService; @@ -29,14 +33,11 @@ import org.eclipse.ui.progress.IProgressService; /** * @author Mik Kersten and Ken Sueda */ -public class CreateBugzillaQueryCategoryAction extends Action { +public class CreateBugzillaQueryCategoryAction extends Action implements IViewActionDelegate { public static final String ID = "org.eclipse.mylar.tasks.actions.create.bug.query"; - private final TaskListView view; - - public CreateBugzillaQueryCategoryAction(TaskListView view) { - this.view = view; + public CreateBugzillaQueryCategoryAction() { setText("Add Bugzilla Query"); setToolTipText("Add Bugzilla Query"); setId(ID); @@ -65,7 +66,20 @@ public class CreateBugzillaQueryCategoryAction extends Action { } catch (Exception e) { MylarPlugin.log(e, "There was a problem executing the query refresh"); } - this.view.getViewer().refresh(); + if(TaskListView.getDefault() != null) + TaskListView.getDefault().getViewer().refresh(); } } + + public void init(IViewPart view) { + + } + + public void run(IAction action) { + run(); + } + + public void selectionChanged(IAction action, ISelection selection) { + + } }
\ No newline at end of file diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaTaskAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaTaskAction.java index d7b730bea..71702a622 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaTaskAction.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateBugzillaTaskAction.java @@ -12,29 +12,30 @@ package org.eclipse.mylar.bugzilla.ui.actions; import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.mylar.bugzilla.ui.BugzillaImages; import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin; import org.eclipse.mylar.bugzilla.ui.tasks.BugzillaTask; import org.eclipse.mylar.tasks.ITask; -import org.eclipse.mylar.tasks.ITaskListActionContributor; +import org.eclipse.mylar.tasks.ITaskContributor; import org.eclipse.mylar.tasks.MylarTasksPlugin; import org.eclipse.mylar.tasks.internal.TaskCategory; import org.eclipse.mylar.tasks.ui.views.TaskListView; +import org.eclipse.ui.IViewActionDelegate; +import org.eclipse.ui.IViewPart; /** * @author Mik Kersten and Ken Sueda */ -public class CreateBugzillaTaskAction extends Action { +public class CreateBugzillaTaskAction extends Action implements IViewActionDelegate{ private static final String LABEL = "Add Existing Bugzilla Report"; public static final String ID = "org.eclipse.mylar.tasks.actions.create.bug"; - private final TaskListView view; - - public CreateBugzillaTaskAction(TaskListView view) { - this.view = view; + public CreateBugzillaTaskAction() { setText(LABEL); setToolTipText(LABEL); setId(ID); @@ -44,7 +45,10 @@ public class CreateBugzillaTaskAction extends Action { @Override public void run() { // MylarPlugin.getDefault().actionObserved(this); - String bugIdString = this.view.getBugIdFromUser(); + if(TaskListView.getDefault() == null) + return; + + String bugIdString = TaskListView.getDefault().getBugIdFromUser(); int bugId = -1; try { if (bugIdString != null) { @@ -53,7 +57,7 @@ public class CreateBugzillaTaskAction extends Action { return; } } catch (NumberFormatException nfe) { - this.view.showMessage("Please enter a valid report number"); + TaskListView.getDefault().showMessage("Please enter a valid report number"); return; } @@ -69,9 +73,9 @@ public class CreateBugzillaTaskAction extends Action { // } ITask newTask = new BugzillaTask("Bugzilla-"+bugId, "<bugzilla info>", true); - Object selectedObject = ((IStructuredSelection)this.view.getViewer().getSelection()).getFirstElement(); + Object selectedObject = ((IStructuredSelection)TaskListView.getDefault().getViewer().getSelection()).getFirstElement(); - ITaskListActionContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(newTask); + ITaskContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(newTask); if(contributor != null){ ITask addedTask = contributor.taskAdded(newTask); if(addedTask instanceof BugzillaTask){ @@ -104,6 +108,18 @@ public class CreateBugzillaTaskAction extends Action { // } else { // MylarTasksPlugin.getTaskListManager().getTaskList().addRootTask((ITask)bugTask); // } - this.view.getViewer().refresh(); + if(TaskListView.getDefault() != null) + TaskListView.getDefault().getViewer().refresh(); + } + + public void init(IViewPart view) { + } + + public void run(IAction action) { + run(); + } + + public void selectionChanged(IAction action, ISelection selection) { + } }
\ No newline at end of file diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateNewBugzillaTaskAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateNewBugzillaTaskAction.java index eea6a9e1f..c5250bea8 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateNewBugzillaTaskAction.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/CreateNewBugzillaTaskAction.java @@ -12,7 +12,9 @@ package org.eclipse.mylar.bugzilla.ui.actions; import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.wizard.WizardDialog; import org.eclipse.mylar.bugzilla.ui.BugzillaImages; @@ -20,24 +22,23 @@ import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin; import org.eclipse.mylar.bugzilla.ui.tasks.BugzillaTask; import org.eclipse.mylar.bugzilla.ui.wizard.NewBugWizard; import org.eclipse.mylar.tasks.ITask; -import org.eclipse.mylar.tasks.ITaskListActionContributor; +import org.eclipse.mylar.tasks.ITaskContributor; import org.eclipse.mylar.tasks.MylarTasksPlugin; import org.eclipse.mylar.tasks.internal.TaskCategory; import org.eclipse.mylar.tasks.ui.views.TaskListView; import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IViewActionDelegate; +import org.eclipse.ui.IViewPart; import org.eclipse.ui.internal.Workbench; /** * @author Mik Kersten and Ken Sueda */ -public class CreateNewBugzillaTaskAction extends Action { +public class CreateNewBugzillaTaskAction extends Action implements IViewActionDelegate{ public static final String ID = "org.eclipse.mylar.tasks.actions.create.bug"; - private final TaskListView view; - - public CreateNewBugzillaTaskAction(TaskListView view) { - this.view = view; + public CreateNewBugzillaTaskAction() { setText("Create and Add Bugzilla Report"); setToolTipText("Create and Add Bugzilla Report"); setId(ID); @@ -75,11 +76,13 @@ public class CreateNewBugzillaTaskAction extends Action { return; } - + ITask newTask = new BugzillaTask("Bugzilla-"+bugId, "<bugzilla info>", true); - Object selectedObject = ((IStructuredSelection)this.view.getViewer().getSelection()).getFirstElement(); + Object selectedObject = null; + if(TaskListView.getDefault() != null) + selectedObject = ((IStructuredSelection)TaskListView.getDefault().getViewer().getSelection()).getFirstElement(); - ITaskListActionContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(newTask); + ITaskContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(newTask); if(contributor != null){ ITask addedTask = contributor.taskAdded(newTask); if(addedTask instanceof BugzillaTask){ @@ -100,9 +103,22 @@ public class CreateNewBugzillaTaskAction extends Action { } BugzillaUiPlugin.getDefault().getBugzillaTaskListManager().addToBugzillaTaskRegistry((BugzillaTask)newTask); - this.view.getViewer().refresh(); + if(TaskListView.getDefault() != null) + TaskListView.getDefault().getViewer().refresh(); } else { // TODO handle not good } } + + public void init(IViewPart view) { + + } + + public void run(IAction action) { + run(); + } + + public void selectionChanged(IAction action, ISelection selection) { + + } }
\ No newline at end of file diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaAction.java index 180afd7cf..1a8ea1524 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaAction.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaAction.java @@ -16,6 +16,7 @@ import java.lang.reflect.InvocationTargetException; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; @@ -29,6 +30,8 @@ import org.eclipse.mylar.tasks.MylarTasksPlugin; import org.eclipse.mylar.tasks.internal.TaskCategory; import org.eclipse.mylar.tasks.ui.views.TaskListView; import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IViewActionDelegate; +import org.eclipse.ui.IViewPart; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.actions.WorkspaceModifyOperation; import org.eclipse.ui.progress.IProgressService; @@ -36,25 +39,21 @@ import org.eclipse.ui.progress.IProgressService; /** * @author Ken Sueda */ -public class RefreshBugzillaAction extends Action { +public class RefreshBugzillaAction extends Action implements IViewActionDelegate{ public static final String ID = "org.eclipse.mylar.tasks.actions.refresh.bugzilla"; - private final TaskListView view; - private BugzillaQueryCategory cat = null; - public RefreshBugzillaAction(TaskListView view) { - this.view = view; + public RefreshBugzillaAction() { setText("Bugzilla Refresh"); setToolTipText("Bugzilla Refresh"); setId(ID); setImageDescriptor(BugzillaImages.TASK_BUG_REFRESH); } - public RefreshBugzillaAction(TaskListView view, BugzillaQueryCategory cat) { + public RefreshBugzillaAction(BugzillaQueryCategory cat) { assert(cat != null); - this.view = view; this.cat = cat; setText("Bugzilla Refresh"); setToolTipText("Bugzilla Refresh"); @@ -65,8 +64,8 @@ public class RefreshBugzillaAction extends Action { @Override public void run() { Object obj = cat; - if(cat == null){ - ISelection selection = this.view.getViewer().getSelection(); + if(cat == null && TaskListView.getDefault() != null){ + ISelection selection = TaskListView.getDefault().getViewer().getSelection(); obj = ((IStructuredSelection) selection).getFirstElement(); } if (obj instanceof BugzillaQueryCategory) { @@ -81,7 +80,8 @@ public class RefreshBugzillaAction extends Action { ((BugzillaTask)hit.getOrCreateCorrespondingTask()).refresh(); } } - RefreshBugzillaAction.this.view.getViewer().refresh(); + if(TaskListView.getDefault() != null) + TaskListView.getDefault().getViewer().refresh(); } }); } @@ -123,6 +123,19 @@ public class RefreshBugzillaAction extends Action { } } } - view.getViewer().refresh(); + if(TaskListView.getDefault() != null) + TaskListView.getDefault().getViewer().refresh(); + } + + public void init(IViewPart view) { + + } + + public void run(IAction action) { + run(); + } + + public void selectionChanged(IAction action, ISelection selection) { + } } diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaReportsAction.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaReportsAction.java index 7592d47ac..f68d1cf08 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaReportsAction.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/actions/RefreshBugzillaReportsAction.java @@ -17,7 +17,9 @@ import java.util.List; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.viewers.ISelection; import org.eclipse.mylar.bugzilla.ui.BugzillaImages; import org.eclipse.mylar.bugzilla.ui.tasks.BugzillaHit; import org.eclipse.mylar.bugzilla.ui.tasks.BugzillaQueryCategory; @@ -28,6 +30,8 @@ import org.eclipse.mylar.tasks.MylarTasksPlugin; import org.eclipse.mylar.tasks.internal.TaskCategory; import org.eclipse.mylar.tasks.ui.views.TaskListView; import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.IViewActionDelegate; +import org.eclipse.ui.IViewPart; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.actions.WorkspaceModifyOperation; import org.eclipse.ui.progress.IProgressService; @@ -35,16 +39,13 @@ import org.eclipse.ui.progress.IProgressService; /** * @author Mik Kersten and Ken Sueda */ -public class RefreshBugzillaReportsAction extends Action { +public class RefreshBugzillaReportsAction extends Action implements IViewActionDelegate{ public static final String ID = "org.eclipse.mylar.tasks.actions.refresh.bugdb"; - private final TaskListView view; - private boolean showProgress = true; - public RefreshBugzillaReportsAction(TaskListView view) { - this.view = view; + public RefreshBugzillaReportsAction() { setText("Refresh Non-Resolved Bugzilla reports"); setToolTipText("Refresh Non-Resolved Bugzilla reports"); setId(ID); @@ -80,7 +81,8 @@ public class RefreshBugzillaReportsAction extends Action { } } } - view.getViewer().refresh(); + if(TaskListView.getDefault() != null) + TaskListView.getDefault().getViewer().refresh(); } private void runWithProgressBar() { @@ -114,7 +116,8 @@ public class RefreshBugzillaReportsAction extends Action { // monitor.worked(1); // } // monitor.done(); - RefreshBugzillaReportsAction.this.view.getViewer().refresh(); + if(TaskListView.getDefault() != null) + TaskListView.getDefault().getViewer().refresh(); } }; @@ -167,11 +170,25 @@ public class RefreshBugzillaReportsAction extends Action { } } } - RefreshBugzillaReportsAction.this.view.getViewer().refresh(); + if(TaskListView.getDefault() != null) + TaskListView.getDefault().getViewer().refresh(); } }); } } - RefreshBugzillaReportsAction.this.view.getViewer().refresh(); + if(TaskListView.getDefault() != null) + TaskListView.getDefault().getViewer().refresh(); + } + + public void init(IViewPart view) { + + } + + public void run(IAction action) { + run(); + } + + public void selectionChanged(IAction action, ISelection selection) { + System.out.println("sel changed"); } }
\ No newline at end of file diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditor.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditor.java index b1eff6f8a..22e63b65a 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditor.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/ExistingBugEditor.java @@ -356,7 +356,7 @@ public class ExistingBugEditor extends AbstractBugEditor public void run() { if(TaskListView.getDefault() != null && TaskListView.getDefault().getViewer() != null){ - new RefreshBugzillaReportsAction(TaskListView.getDefault()).run(); + new RefreshBugzillaReportsAction().run(); } } }); diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditor.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditor.java index 2c3076d3b..e174758fc 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditor.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/editor/NewBugEditor.java @@ -268,7 +268,7 @@ public class NewBugEditor extends AbstractBugEditor { public void run() { if(TaskListView.getDefault() != null && TaskListView.getDefault().getViewer() != null){ - new RefreshBugzillaReportsAction(TaskListView.getDefault()).run(); + new RefreshBugzillaReportsAction().run(); } } }); diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasks/BugzillaTaskListActionContributor.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasks/BugzillaTaskContributor.java index 184f65aad..2fd210553 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasks/BugzillaTaskListActionContributor.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasks/BugzillaTaskContributor.java @@ -14,7 +14,6 @@ package org.eclipse.mylar.bugzilla.ui.tasks; import java.util.ArrayList; import java.util.List; -import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.MessageDialog; @@ -23,14 +22,11 @@ import org.eclipse.mylar.bugzilla.ui.BugzillaOpenStructure; import org.eclipse.mylar.bugzilla.ui.BugzillaUITools; import org.eclipse.mylar.bugzilla.ui.BugzillaUiPlugin; import org.eclipse.mylar.bugzilla.ui.ViewBugzillaAction; -import org.eclipse.mylar.bugzilla.ui.actions.CreateBugzillaQueryCategoryAction; -import org.eclipse.mylar.bugzilla.ui.actions.CreateBugzillaTaskAction; -import org.eclipse.mylar.bugzilla.ui.actions.CreateNewBugzillaTaskAction; import org.eclipse.mylar.bugzilla.ui.actions.RefreshBugzillaAction; import org.eclipse.mylar.bugzilla.ui.actions.RefreshBugzillaReportsAction; import org.eclipse.mylar.core.MylarPlugin; import org.eclipse.mylar.tasks.ITask; -import org.eclipse.mylar.tasks.ITaskListActionContributor; +import org.eclipse.mylar.tasks.ITaskContributor; import org.eclipse.mylar.tasks.ITaskListElement; import org.eclipse.mylar.tasks.MylarTasksPlugin; import org.eclipse.mylar.tasks.internal.TaskCategory; @@ -44,23 +40,7 @@ import org.eclipse.ui.internal.Workbench; /** * @author Mik Kersten and Ken Sueda */ -public class BugzillaTaskListActionContributor implements ITaskListActionContributor { - - public List<IAction> getToolbarActions(TaskListView view) { - List<IAction> actions = new ArrayList<IAction>(); - actions.add(new CreateBugzillaTaskAction(view)); - actions.add(new CreateNewBugzillaTaskAction(view)); - actions.add(new CreateBugzillaQueryCategoryAction(view)); - actions.add(new RefreshBugzillaReportsAction(view)); - return actions; - } - - public List<IAction> getPopupActions(TaskListView view, ITaskListElement selection) { - List<IAction> actions = new ArrayList<IAction>(); - actions.add(new CreateBugzillaTaskAction(view)); - actions.add(new RefreshBugzillaAction(view)); - return actions; - } +public class BugzillaTaskContributor implements ITaskContributor { public MenuManager getSubMenuManager(TaskListView view, ITaskListElement selection) { return null; @@ -143,7 +123,7 @@ public class BugzillaTaskListActionContributor implements ITaskListActionContrib queryCategory.setDescription(sqd.getName()); queryCategory.setUrl(sqd.getUrl()); - new RefreshBugzillaAction(TaskListView.getDefault(), queryCategory).run(); + new RefreshBugzillaAction(queryCategory).run(); } } else if(element instanceof BugzillaHit){ BugzillaHit hit = (BugzillaHit)element; @@ -217,7 +197,7 @@ public class BugzillaTaskListActionContributor implements ITaskListActionContrib public void restoreState(TaskListView taskListView) { if (BugzillaPlugin.getDefault().refreshOnStartUpEnabled()) { - RefreshBugzillaReportsAction refresh = new RefreshBugzillaReportsAction(taskListView); + RefreshBugzillaReportsAction refresh = new RefreshBugzillaReportsAction(); refresh.setShowProgress(false); refresh.run(); refresh.setShowProgress(true); diff --git a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasks/BugzillaTaskExternalizer.java b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasks/BugzillaTaskExternalizer.java index e17402f85..070200e8b 100644 --- a/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasks/BugzillaTaskExternalizer.java +++ b/org.eclipse.mylyn.bugzilla.ui/src/org/eclipse/mylyn/bugzilla/ui/tasks/BugzillaTaskExternalizer.java @@ -18,7 +18,7 @@ import org.eclipse.mylar.bugzilla.ui.tasks.BugzillaTask.BugTaskState; import org.eclipse.mylar.core.MylarPlugin; import org.eclipse.mylar.tasks.AbstractCategory; import org.eclipse.mylar.tasks.ITask; -import org.eclipse.mylar.tasks.ITaskListActionContributor; +import org.eclipse.mylar.tasks.ITaskContributor; import org.eclipse.mylar.tasks.MylarTasksPlugin; import org.eclipse.mylar.tasks.internal.DefaultTaskListExternalizer; import org.eclipse.mylar.tasks.internal.MylarExternalizerException; @@ -171,7 +171,7 @@ public class BugzillaTaskExternalizer extends DefaultTaskListExternalizer { MylarPlugin.log(e, "Failed to read bug report"); } - ITaskListActionContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(task); + ITaskContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(task); if(contributor != null){ ITask addedTask = contributor.taskAdded(task); if(addedTask instanceof BugzillaTask) task = (BugzillaTask)addedTask; diff --git a/org.eclipse.mylyn.tasks.ui/icons/elcl16/context-clear.gif b/org.eclipse.mylyn.tasks.ui/icons/elcl16/context-clear.gif Binary files differdeleted file mode 100644 index 2abc46b38..000000000 --- a/org.eclipse.mylyn.tasks.ui/icons/elcl16/context-clear.gif +++ /dev/null diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ITaskListActionContributor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ITaskContributor.java index 1bdd833c4..cf2f27a5c 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ITaskListActionContributor.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ITaskContributor.java @@ -11,9 +11,6 @@ package org.eclipse.mylar.tasks; -import java.util.List; - -import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.MenuManager; import org.eclipse.mylar.tasks.internal.TaskCategory; import org.eclipse.mylar.tasks.ui.views.TaskListView; @@ -24,12 +21,8 @@ import org.eclipse.ui.IWorkbenchPage; * * TODO: this should use extension points */ -public interface ITaskListActionContributor { - - public abstract List<IAction> getToolbarActions(TaskListView view); +public interface ITaskContributor { - public abstract List<IAction> getPopupActions(TaskListView view, ITaskListElement selection); - public abstract MenuManager getSubMenuManager(TaskListView view, ITaskListElement selection); public abstract void taskActivated(ITask task); @@ -42,7 +35,7 @@ public interface ITaskListActionContributor { public abstract void itemOpened(ITaskListElement element); - public void taskClosed(ITask element, IWorkbenchPage page); + public abstract void taskClosed(ITask element, IWorkbenchPage page); public abstract boolean acceptsItem(ITaskListElement element); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/MylarTasksPlugin.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/MylarTasksPlugin.java index 9dd144e45..69e3cd486 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/MylarTasksPlugin.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/MylarTasksPlugin.java @@ -42,7 +42,7 @@ public class MylarTasksPlugin extends AbstractUIPlugin { private static MylarTasksPlugin plugin; private static TaskListManager taskListManager; private TaskListExternalizer externalizer; - private List<ITaskListActionContributor> contributors = new ArrayList<ITaskListActionContributor>(); // TODO: use extension points + private List<ITaskContributor> contributors = new ArrayList<ITaskContributor>(); // TODO: use extension points public static final String TASK_CONTRIBUTER_ID = "org.eclipse.mylar.tasks.taskListContributor"; public static final String EXTERNALIZER_CLASS_ID = "externalizerClass"; @@ -297,18 +297,18 @@ public class MylarTasksPlugin extends AbstractUIPlugin { return externalizer; } - public List<ITaskListActionContributor> getContributors() { + public List<ITaskContributor> getContributors() { return contributors; } - public ITaskListActionContributor getContributorForElement(ITaskListElement element){ - for(ITaskListActionContributor contributer: contributors){ + public ITaskContributor getContributorForElement(ITaskListElement element){ + for(ITaskContributor contributer: contributors){ if(contributer.acceptsItem(element)) return contributer; } return null; } - public void addContributor(ITaskListActionContributor contributor) { + public void addContributor(ITaskContributor contributor) { contributors.add(contributor); // if (TaskListView.getDefault() != null) TaskListView.getDefault().resetToolbarsAndPopups(); } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/internal/TaskListExternalizer.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/internal/TaskListExternalizer.java index 72dd2ea30..81af05092 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/internal/TaskListExternalizer.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/internal/TaskListExternalizer.java @@ -41,7 +41,7 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.mylar.core.MylarPlugin; import org.eclipse.mylar.tasks.AbstractCategory; import org.eclipse.mylar.tasks.ITask; -import org.eclipse.mylar.tasks.ITaskListActionContributor; +import org.eclipse.mylar.tasks.ITaskContributor; import org.eclipse.mylar.tasks.ITaskListExternalizer; import org.eclipse.mylar.tasks.MylarTasksPlugin; import org.w3c.dom.Document; @@ -82,14 +82,14 @@ public class TaskListExternalizer { } Object contributor = elements[j].createExecutableExtension(MylarTasksPlugin.ACTION_CONTRIBUTER_CLASS_ID); - if (contributor instanceof ITaskListActionContributor) { - MylarTasksPlugin.getDefault().addContributor((ITaskListActionContributor) contributor); + if (contributor instanceof ITaskContributor) { + MylarTasksPlugin.getDefault().addContributor((ITaskContributor) contributor); }else { - MylarPlugin.log("Could not load contributor: " + contributor.getClass().getCanonicalName() + " must implement " + ITaskListActionContributor.class.getCanonicalName(), this); + MylarPlugin.log("Could not load contributor: " + contributor.getClass().getCanonicalName() + " must implement " + ITaskContributor.class.getCanonicalName(), this); } } catch (CoreException e){ - MylarPlugin.log(e, "Could not load extension for externalizer"); + MylarPlugin.log(e, "Could not load extensions"); } } } @@ -280,7 +280,7 @@ public class TaskListExternalizer { if (externalizer.canReadTask(child)) { // TODO add the tasks properly ITask newTask = externalizer.readTask(child, tlist, null, null); - ITaskListActionContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(newTask); + ITaskContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(newTask); if(contributor != null){ newTask = contributor.taskAdded(newTask); } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/actions/OpenTaskEditorAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/actions/OpenTaskEditorAction.java index dd56c697f..af95cfb5b 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/actions/OpenTaskEditorAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/actions/OpenTaskEditorAction.java @@ -14,7 +14,7 @@ package org.eclipse.mylar.tasks.ui.actions; import org.eclipse.jface.action.Action; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.mylar.tasks.ITaskListActionContributor; +import org.eclipse.mylar.tasks.ITaskContributor; import org.eclipse.mylar.tasks.ITaskListElement; import org.eclipse.mylar.tasks.MylarTasksPlugin; import org.eclipse.mylar.tasks.Task; @@ -43,7 +43,7 @@ public class OpenTaskEditorAction extends Action { Object obj = ((IStructuredSelection)selection).getFirstElement(); if (obj instanceof ITaskListElement) { ITaskListElement element = (ITaskListElement)obj; - ITaskListActionContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(element); + ITaskContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(element); if(contributor != null){ contributor.itemOpened(element); } else{ diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/views/TaskListView.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/views/TaskListView.java index 74aa13bea..0b850bc20 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/views/TaskListView.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/views/TaskListView.java @@ -20,7 +20,6 @@ import javax.security.auth.login.LoginException; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IMenuCreator; import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuManager; @@ -52,7 +51,7 @@ import org.eclipse.mylar.core.MylarPlugin; import org.eclipse.mylar.dt.MylarWebRef; import org.eclipse.mylar.tasks.AbstractCategory; import org.eclipse.mylar.tasks.ITask; -import org.eclipse.mylar.tasks.ITaskListActionContributor; +import org.eclipse.mylar.tasks.ITaskContributor; import org.eclipse.mylar.tasks.ITaskListElement; import org.eclipse.mylar.tasks.MylarTasksPlugin; import org.eclipse.mylar.tasks.Task; @@ -856,17 +855,12 @@ public class TaskListView extends ViewPart { manager.add(delete); manager.add(new Separator()); manager.add(createTask); -// manager.add(new Separator()); + manager.add(new Separator("mylar")); final Object selectedObject = ((IStructuredSelection)viewer.getSelection()).getFirstElement(); if (selectedObject instanceof ITaskListElement) { - for (ITaskListActionContributor contributor : MylarTasksPlugin.getDefault().getContributors()) { - for (IAction action : contributor.getPopupActions(this, null)) { - manager.add(action); - } - } - - for (ITaskListActionContributor contributor : MylarTasksPlugin.getDefault().getContributors()) { + + for (ITaskContributor contributor : MylarTasksPlugin.getDefault().getContributors()) { manager.add(new Separator()); MenuManager subMenuManager = contributor.getSubMenuManager(this, (ITaskListElement)selectedObject); if (subMenuManager != null) manager.add(subMenuManager); @@ -975,7 +969,7 @@ public class TaskListView extends ViewPart { } public void closeTaskEditors(ITask task, IWorkbenchPage page) throws LoginException, IOException{ - ITaskListActionContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(task); + ITaskContributor contributor = MylarTasksPlugin.getDefault().getContributorForElement(task); if(contributor != null){ contributor.taskClosed(task, page); } else if (task instanceof Task) { @@ -1151,17 +1145,11 @@ public class TaskListView extends ViewPart { private void fillLocalToolBar(IToolBarManager manager) { manager.removeAll(); - // XXX only adding if there are contributions - List<ITaskListActionContributor> contributors = MylarTasksPlugin.getDefault().getContributors(); manager.add(createTask); manager.add(createCategory); + manager.add(new Separator("mylar")); + manager.add(new Separator()); - for(ITaskListActionContributor contributor: contributors){ - for (IAction action : contributor.getToolbarActions(this)) { - manager.add(action); - } - manager.add(new Separator()); - } manager.add(filterCompleteTask); manager.add(filterOnPriority); |