Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java386
1 files changed, 65 insertions, 321 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java
index 3ee326d20..3018c37f0 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskListView.java
@@ -31,11 +31,12 @@ import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.CheckboxCellEditor;
import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.DoubleClickEvent;
import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.IOpenListener;
+import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.OpenEvent;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TextCellEditor;
@@ -46,12 +47,12 @@ import org.eclipse.jface.viewers.ViewerSorter;
import org.eclipse.jface.window.Window;
import org.eclipse.mylar.core.MylarPlugin;
import org.eclipse.mylar.dt.MylarWebRef;
-import org.eclipse.mylar.tasklist.ITaskListCategory;
import org.eclipse.mylar.tasklist.IQuery;
import org.eclipse.mylar.tasklist.IQueryHit;
import org.eclipse.mylar.tasklist.ITask;
import org.eclipse.mylar.tasklist.ITaskFilter;
import org.eclipse.mylar.tasklist.ITaskHandler;
+import org.eclipse.mylar.tasklist.ITaskListCategory;
import org.eclipse.mylar.tasklist.ITaskListDynamicSubMenuContributor;
import org.eclipse.mylar.tasklist.ITaskListElement;
import org.eclipse.mylar.tasklist.MylarTasklistPlugin;
@@ -128,7 +129,8 @@ public class TaskListView extends ViewPart {
public static final String ID = "org.eclipse.mylar.tasks.ui.views.TaskListView";
private static final String SEPARATOR_ID_REPORTS = "reports";
-
+ private static final String PART_NAME = "Mylar Tasks";
+
private static TaskListView INSTANCE;
FilteredTree tree;
@@ -142,8 +144,7 @@ public class TaskListView extends ViewPart {
private CopyDescriptionAction copyAction;
private OpenTaskEditorAction openAction;
- private CreateTaskAction createTask;
- private CreateTaskAction createTaskToolbar;
+ private CreateTaskAction createTaskAction;
private CreateCategoryAction createCategory;
private RenameAction rename;
@@ -151,7 +152,7 @@ public class TaskListView extends ViewPart {
private CollapseAllAction collapseAll;
private DeleteAction delete;
private AutoCloseAction autoClose;
- private OpenTaskEditorAction doubleClickAction;
+ private OpenTaskEditorAction openTaskEditor;
private RemoveFromCategoryAction removeAction;
@@ -472,11 +473,11 @@ public class TaskListView extends ViewPart {
}
if (task != null) {
if (task.isActive()) {
- new TaskDeactivateAction(task, INSTANCE).run();
+ new TaskDeactivateAction().run();
nextTaskAction.setEnabled(taskHistory.hasNext());
previousTaskAction.setEnabled(taskHistory.hasPrevious());
} else {
- new TaskActivateAction(task).run();
+ new TaskActivateAction().run();
addTaskToHistory(task);
}
// getViewer().setSelection(null);
@@ -757,7 +758,7 @@ public class TaskListView extends ViewPart {
makeActions();
hookContextMenu();
- hookDoubleClickAction();
+ hookOpenAction();
contributeToActionBars();
ToolTipHandler toolTipHandler = new ToolTipHandler(getViewer().getControl().getShell());
@@ -899,16 +900,34 @@ public class TaskListView extends ViewPart {
private void fillLocalPullDown(IMenuManager manager) {
updateDrillDownActions();
- manager.add(collapseAll);
+ manager.add(new Separator("reports"));
+ manager.add(new Separator("local"));
+ manager.add(createTaskAction);
+ manager.add(createCategory);
manager.add(goBackAction);
+ manager.add(collapseAll);
// manager.add(new Separator());
+// autoClose.setEnabled(true);
+ manager.add(new Separator("context"));
manager.add(autoClose);
- autoClose.setEnabled(true);
manager.add(workOffline);
-// workOffline.setEnabled(true);
manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
}
+ private void fillLocalToolBar(IToolBarManager manager) {
+// manager.removeAll();
+ manager.add(new Separator(SEPARATOR_ID_REPORTS));
+ manager.add(createTaskAction);
+ manager.add(new Separator());
+ manager.add(filterCompleteTask);
+ manager.add(filterOnPriority);
+ manager.add(new Separator());
+ manager.add(previousTaskAction);
+ manager.add(nextTaskAction);
+ manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
+
+ }
+
void fillContextMenu(IMenuManager manager) {
updateDrillDownActions();
@@ -918,17 +937,19 @@ public class TaskListView extends ViewPart {
element = (ITaskListElement) selectedObject;
}
+ addAction(new TaskActivateAction(), manager, element);
+ addAction(new TaskDeactivateAction(), manager, element);
addAction(openAction, manager, element);
-// addAction(goIntoAction, manager, element);
+// addAction(openAction, manager, element);
manager.add(new Separator("tasks"));
addAction(completeTask, manager, element);
addAction(incompleteTask, manager, element);
- addAction(delete, manager, element);
- addAction(copyAction, manager, element);
+ manager.add(new Separator());
addAction(rename, manager, element);
addAction(removeAction, manager, element);
- manager.add(new Separator());
- addAction(createTask, manager, element);
+ addAction(delete, manager, element);
+ addAction(copyAction, manager, element);
+// addAction(createTask, manager, element);
manager.add(new Separator("context"));
for (ITaskListDynamicSubMenuContributor contributor : MylarTasklistPlugin.getDefault().getDynamicMenuContributers()) {
@@ -1026,10 +1047,6 @@ public class TaskListView extends ViewPart {
// }
}
- /**
- * @see org.eclipse.pde.internal.ui.view.HistoryDropDownAction
- *
- */
private void makeActions() {
copyAction = new CopyDescriptionAction(this);
@@ -1040,8 +1057,7 @@ public class TaskListView extends ViewPart {
// goIntoAction = new GoIntoAction(drillDownAdapter);
goBackAction = new GoUpAction(drillDownAdapter);
- createTask = new CreateTaskAction(this);
- createTaskToolbar = new CreateTaskAction(this);
+ createTaskAction = new CreateTaskAction(this);
createCategory = new CreateCategoryAction(this);
removeAction = new RemoveFromCategoryAction(this);
rename = new RenameAction(this);
@@ -1051,13 +1067,12 @@ public class TaskListView extends ViewPart {
autoClose = new AutoCloseAction();
completeTask = new MarkTaskCompleteAction(this);
incompleteTask = new MarkTaskIncompleteAction(this);
- doubleClickAction = new OpenTaskEditorAction(this);
+ openTaskEditor = new OpenTaskEditorAction(this);
filterCompleteTask = new FilterCompletedTasksAction(this);
filterOnPriority = new PriorityDropDownAction();
previousTaskAction = new PreviousTaskDropDownAction(this, taskHistory);
nextTaskAction = new NextTaskDropDownAction(this, taskHistory);
}
-
public void toggleNextAction(boolean enable) {
nextTaskAction.setEnabled(enable);
@@ -1117,11 +1132,11 @@ public class TaskListView extends ViewPart {
}
}
- private void hookDoubleClickAction() {
- getViewer().addDoubleClickListener(new IDoubleClickListener() {
- public void doubleClick(DoubleClickEvent event) {
- doubleClickAction.run();
- }
+ private void hookOpenAction() {
+ getViewer().addOpenListener(new IOpenListener() {
+ public void open(OpenEvent event) {
+ openTaskEditor.run();
+ }
});
}
@@ -1204,25 +1219,9 @@ public class TaskListView extends ViewPart {
return COMPLETE_FILTER;
}
-
public TaskPriorityFilter getPriorityFilter() {
return PRIORITY_FILTER;
}
-
- private void fillLocalToolBar(IToolBarManager manager) {
- manager.removeAll();
- manager.add(createTaskToolbar);
- manager.add(createCategory);
- manager.add(new Separator(SEPARATOR_ID_REPORTS));
- manager.add(new Separator());
- manager.add(filterCompleteTask);
- manager.add(filterOnPriority);
-// manager.add(new Separator());
- manager.add(previousTaskAction);
- manager.add(nextTaskAction);
- manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
-
- }
public void addFilter(ITaskFilter filter) {
if (!filters.contains(filter)) filters.add(filter);
@@ -1276,279 +1275,24 @@ public class TaskListView extends ViewPart {
updateDrillDownActions();
}
-}
-
-//TextTransfer textTransfer = TextTransfer.getInstance();
-//DropTarget target = new DropTarget(viewer.getTree(), DND.DROP_MOVE);
-//target.setTransfer(new Transfer[] { textTransfer });
-//target.addDropListener(new TaskListDropTargetListener(parent, null, textTransfer, true));
-//
-//DragSource source = new DragSouarce(viewer.getTree(), DND.DROP_MOVE);
-//source.setTransfer(types);
-
-//source.addDragListener(new DragSourceListener() {
-//public void dragStart(DragSourceEvent event) {
-// if (((StructuredSelection)viewer.getSelection()).isEmpty()) {
-// event.doit = false;
-// }
-//}
-//public void dragSetData(DragSourceEvent event) {
-// StructuredSelection selection = (StructuredSelection) viewer.getSelection();
-// if (!selection.isEmpty()) {
-// event.data = "" + ((ITask)selection.getFirstElement()).getId();
-// } else {
-// event.data = "null";
-// }
-//}
-//
-//public void dragFinished(DragSourceEvent event) { }
-//});
-
-
-// public boolean getServerStatus() {
-// return serverStatus;
-// }
-//
-// /**
-// * Sets whether or not we could connect to the Bugzilla server. If
-// * necessary, the corresponding label in the view is updated.
-// *
-// * @param canRead
-// * <code>true</code> if the Bugzilla server could be connected
-// * to
-// */
-// public void setServerStatus(boolean canRead) {
-// if (serverStatus != canRead) {
-// serverStatus = canRead;
-// updateServerStatusLabel();
-// }
-// }
-//
-// private void updateServerStatusLabel() {
-// if (serverStatusLabel.isDisposed()) {
-// return;
-// }
-// if (serverStatus) {
-// serverStatusLabel.setText(CAN_READ_LABEL);
-// }
-// else {
-// serverStatusLabel.setText(CANNOT_READ_LABEL);
-// }
-// }
-//
-// private class ServerPingJob extends Job {
-// private boolean shouldCheckAgain = true;
-// private int counter = 0;
-//
-// public ServerPingJob(String name) {
-// super(name);
-// }
-//
-// public void stopPinging() {
-// shouldCheckAgain = false;
-// }
-//
-// protected IStatus run(IProgressMonitor monitor) {
-// while (shouldCheckAgain) {
-// try {
-// final boolean canReadFromServer = TaskListView.checkServer();
-// Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
-// public void run() {
-// setServerStatus(canReadFromServer);
-// }
-// });
-// Thread.sleep(10000/*MylarPreferencePage.getServerPing()*5000*/);
-// } catch (InterruptedException e) {
-// break;
-// }
-// }
-// return new Status(IStatus.OK, MylarPlugin.IDENTIFIER, IStatus.OK, "", null);
-// }
-// }
-//
-// /**
-// * @return <code>true</code> if we could connect to the Bugzilla server
-// */
-// public static boolean checkServer() {
-// boolean canRead = true;
-// BufferedReader in = null;
-//
-// // Call this function to intialize the Bugzilla url that the repository
-// // is using.
-// BugzillaRepository.getInstance();
-//
-// try {
-// // connect to the bugzilla server
-// SSLContext ctx = SSLContext.getInstance("TLS");
-// javax.net.ssl.TrustManager[] tm = new javax.net.ssl.TrustManager[]{new TrustAll()};
-// ctx.init(null, tm, null);
-// HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());
-// String urlText = "";
-//
-// // use the usename and password to get into bugzilla if we have it
-// if(BugzillaPreferences.getUserName() != null && !BugzillaPreferences.getUserName().equals("") && BugzillaPreferences.getPassword() != null && !BugzillaPreferences.getPassword().equals(""))
-// {
-// /*
-// * The UnsupportedEncodingException exception for
-// * URLEncoder.encode() should not be thrown, since every
-// * implementation of the Java platform is required to support
-// * the standard charset "UTF-8"
-// */
-// try {
-// urlText += "?GoAheadAndLogIn=1&Bugzilla_login=" + URLEncoder.encode(BugzillaPreferences.getUserName(), "UTF-8") + "&Bugzilla_password=" + URLEncoder.encode(BugzillaPreferences.getPassword(), "UTF-8");
-// } catch (UnsupportedEncodingException e) { }
-// }
-//
-// URL url = new URL(BugzillaRepository.getURL() + "/enter_bug.cgi" + urlText);
-//
-// // create a new input stream for getting the bug
-// in = new BufferedReader(new InputStreamReader(url.openStream()));
-// }
-// catch (Exception e) {
-// // If there was an IOException, then there was a problem connecting.
-// // If there was some other exception, then it was a problem not
-// // related to the server.
-// if (e instanceof IOException) {
-// canRead = false;
-// }
-// }
-//
-// // Close the BufferedReader if we opened one.
-// try {
-// if (in != null)
-// in.close();
-// } catch(IOException e) {}
-//
-// return canRead;
-// }
-//
-// public void dispose() {
-// if (serverPingJob != null) {
-// serverPingJob.stopPinging();
-// }
-// super.dispose();
-// }
-
-// source.addDragListener(new DragSourceListener() {
-//
-// public void dragStart(DragSourceEvent event) {
-// if (((StructuredSelection) viewer.getSelection()).getFirstElement() == null) {
-// event.doit = false;
-// }
-// }
-//
-// public void dragSetData(DragSourceEvent event) {
-// StructuredSelection selection = (StructuredSelection)viewer.getSelection();
-// ITask task = (ITask) selection.getFirstElement();
-// if (task != null) {
-// event.data = "" + task.getId();
-// } else {
-// event.data = " ";
-// }
-// }
-//
-// public void dragFinished(DragSourceEvent event) {
-// StructuredSelection selection = (StructuredSelection)viewer.getSelection();
-// if (selection.isEmpty()) {
-// return;
-// } else {
-// ITask task = (ITask) selection.getFirstElement();
-//
-//
-// }
-// }
-//
-// });
+ public ITask getSelectedTask() {
+ ISelection selection = getViewer().getSelection();
+ if (selection.isEmpty()) return null;
+ if (selection instanceof StructuredSelection) {
+ StructuredSelection structuredSelection = (StructuredSelection)selection;
+ if (structuredSelection.getFirstElement() instanceof ITask) {
+ return (ITask)structuredSelection.getFirstElement();
+ }
+ }
+ return null;
+ }
-//private ViewerFilter completeFilter = new ViewerFilter(){
-//@Override
-//public boolean select(Viewer viewer, Object parentElement, Object element) {
-// if (element instanceof ITaskListElement) {
-// if(element instanceof ITask && ((ITaskListElement)element).hasCorrespondingActivatableTask()){
-// ITask task = ((ITaskListElement)element).getOrCreateCorrespondingTask();
-// if (task.isActive()) {
-// return true;
-// }
-// if(task != null){
-// return !task.isCompleted();
-// } else {
-// return true;
-// }
-// } else {
-// return true;
-// }
-// }
-// return false;
-//}
-//};
-//
-//private ViewerFilter inCompleteFilter = new ViewerFilter(){
-//@Override
-//public boolean select(Viewer viewer, Object parentElement, Object element) {
-// if (element instanceof ITask) {
-// return ((ITask)element).isCompleted();
-// } else {
-// return true;
-// }
-//}
-//};
-//
-//public class PriorityFilter extends ViewerFilter {
-//private List<String> priorities = new ArrayList<String>();
-//
-//public PriorityFilter() {
-// displayPrioritiesAbove(MylarTasklistPlugin.getPriorityLevel());
-//}
-//
-//public void displayPrioritiesAbove(String p) {
-// priorities.clear();
-// if (p.equals(PRIORITY_LEVELS[0])) {
-// priorities.add(PRIORITY_LEVELS[0]);
-// }
-// if (p.equals(PRIORITY_LEVELS[1])) {
-// priorities.add(PRIORITY_LEVELS[0]);
-// priorities.add(PRIORITY_LEVELS[1]);
-// } else if (p.equals(PRIORITY_LEVELS[2])) {
-// priorities.add(PRIORITY_LEVELS[0]);
-// priorities.add(PRIORITY_LEVELS[1]);
-// priorities.add(PRIORITY_LEVELS[2]);
-// } else if (p.equals(PRIORITY_LEVELS[3])) {
-// priorities.add(PRIORITY_LEVELS[0]);
-// priorities.add(PRIORITY_LEVELS[1]);
-// priorities.add(PRIORITY_LEVELS[2]);
-// priorities.add(PRIORITY_LEVELS[3]);
-// } else if (p.equals(PRIORITY_LEVELS[4])) {
-// priorities.add(PRIORITY_LEVELS[0]);
-// priorities.add(PRIORITY_LEVELS[1]);
-// priorities.add(PRIORITY_LEVELS[2]);
-// priorities.add(PRIORITY_LEVELS[3]);
-// priorities.add(PRIORITY_LEVELS[4]);
-// }
-//}
-//
-//@Override
-//public boolean select(Viewer viewer, Object parentElement, Object element) {
-// if (element instanceof ITaskListElement) {
-// ITaskListElement task = (ITaskListElement) element;
-// if (priorities.size() == PRIORITY_LEVELS.length) {
-// return true;
-// } else {
-// return checkTask(task);
-// }
-// } else {
-// return true;
-// }
-//}
-//private boolean checkTask(ITaskListElement task) {
-// if (task instanceof ITask && ((ITask)task).isActive()) {
-// return true;
-// }
-// for (String filter : priorities) {
-// if (task.getPriority().equals(filter)) {
-// return true;
-// }
-// }
-// return false;
-//}
-//}; \ No newline at end of file
+ public void indicatePaused(boolean paused) {
+ if (paused) {
+ setPartName("(paused) " + PART_NAME);
+ } else {
+ setPartName(PART_NAME);
+ }
+ }
+} \ No newline at end of file

Back to the top