Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrelves2008-06-12 04:39:16 +0000
committerrelves2008-06-12 04:39:16 +0000
commita101ef5f66f2ade2d2a2ac6288543a8c74498c88 (patch)
treecccdd6bd16f1a5166e26176a9df5917e03d4774c /org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util
parentc3a00936f4270d39c3787727ce8c95b1631df907 (diff)
downloadorg.eclipse.mylyn.tasks-a101ef5f66f2ade2d2a2ac6288543a8c74498c88.tar.gz
org.eclipse.mylyn.tasks-a101ef5f66f2ade2d2a2ac6288543a8c74498c88.tar.xz
org.eclipse.mylyn.tasks-a101ef5f66f2ade2d2a2ac6288543a8c74498c88.zip
NEW - bug 234065: add Unsubmitted category to task list
https://bugs.eclipse.org/bugs/show_bug.cgi?id=234065
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskDragSourceListener.java34
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java8
2 files changed, 31 insertions, 11 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskDragSourceListener.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskDragSourceListener.java
index 49791f8bb..ce4ada83c 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskDragSourceListener.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TaskDragSourceListener.java
@@ -22,8 +22,10 @@ import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.mylyn.commons.core.StatusHandler;
import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
+import org.eclipse.mylyn.internal.tasks.core.AbstractTaskContainer;
import org.eclipse.mylyn.internal.tasks.core.ITasksCoreConstants;
import org.eclipse.mylyn.internal.tasks.core.RepositoryQuery;
+import org.eclipse.mylyn.internal.tasks.core.UnsubmittedTaskContainer;
import org.eclipse.mylyn.internal.tasks.core.deprecated.RepositoryTaskData;
import org.eclipse.mylyn.internal.tasks.ui.TaskTransfer;
import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin;
@@ -47,7 +49,7 @@ public class TaskDragSourceListener extends DragSourceAdapter {
static final String DELIM = ", ";
- private IStructuredSelection selection;
+ private IStructuredSelection structuredSelection;
private final ISelectionProvider selectionProvider;
@@ -59,9 +61,23 @@ public class TaskDragSourceListener extends DragSourceAdapter {
public void dragStart(DragSourceEvent event) {
ISelection selection = selectionProvider.getSelection();
if (selection instanceof IStructuredSelection && !selection.isEmpty()) {
- this.selection = (IStructuredSelection) selection;
+ this.structuredSelection = (IStructuredSelection) selection;
+ Iterator<?> itr = structuredSelection.iterator();
+ while (itr.hasNext()) {
+ Object o = itr.next();
+ if (o instanceof AbstractTask) {
+ AbstractTask task = ((AbstractTask) o);
+ for (AbstractTaskContainer container : task.getParentContainers()) {
+ if (container instanceof UnsubmittedTaskContainer) {
+ event.doit = false;
+ return;
+ }
+
+ }
+ }
+ }
} else {
- this.selection = null;
+ this.structuredSelection = null;
event.doit = false;
}
}
@@ -118,13 +134,13 @@ public class TaskDragSourceListener extends DragSourceAdapter {
@Override
public void dragSetData(DragSourceEvent event) {
- if (selection == null || selection.isEmpty()) {
+ if (structuredSelection == null || structuredSelection.isEmpty()) {
return;
}
if (TaskTransfer.getInstance().isSupportedType(event.dataType)) {
List<AbstractTask> tasks = new ArrayList<AbstractTask>();
- for (Iterator<?> it = selection.iterator(); it.hasNext();) {
+ for (Iterator<?> it = structuredSelection.iterator(); it.hasNext();) {
Object element = it.next();
if (element instanceof AbstractTask) {
tasks.add((AbstractTask) element);
@@ -132,7 +148,7 @@ public class TaskDragSourceListener extends DragSourceAdapter {
}
event.data = tasks.toArray(new AbstractTask[0]);
} else if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
- List<File> files = createTaskFiles(selection);
+ List<File> files = createTaskFiles(structuredSelection);
if (files != null && !files.isEmpty()) {
String[] paths = new String[files.size()];
int i = 0;
@@ -142,8 +158,8 @@ public class TaskDragSourceListener extends DragSourceAdapter {
event.data = paths;
}
} else if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
- if (selection.getFirstElement() instanceof RepositoryTaskData) {
- RepositoryTaskData taskData = (RepositoryTaskData) selection.getFirstElement();
+ if (structuredSelection.getFirstElement() instanceof RepositoryTaskData) {
+ RepositoryTaskData taskData = (RepositoryTaskData) structuredSelection.getFirstElement();
AbstractRepositoryConnector connector = TasksUi.getRepositoryManager().getRepositoryConnector(
taskData.getConnectorKind());
if (connector != null) {
@@ -152,7 +168,7 @@ public class TaskDragSourceListener extends DragSourceAdapter {
event.data = taskData.getSummary();
}
} else {
- event.data = CopyTaskDetailsAction.getTextForTask(selection.getFirstElement());
+ event.data = CopyTaskDetailsAction.getTextForTask(structuredSelection.getFirstElement());
}
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java
index fd39eef25..c1d5493a0 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/util/TasksUiInternal.java
@@ -54,6 +54,7 @@ import org.eclipse.mylyn.internal.tasks.core.RepositoryQuery;
import org.eclipse.mylyn.internal.tasks.core.TaskCategory;
import org.eclipse.mylyn.internal.tasks.core.TaskDataStorageManager;
import org.eclipse.mylyn.internal.tasks.core.TaskList;
+import org.eclipse.mylyn.internal.tasks.core.UnsubmittedTaskContainer;
import org.eclipse.mylyn.internal.tasks.core.deprecated.AbstractLegacyRepositoryConnector;
import org.eclipse.mylyn.internal.tasks.core.deprecated.RepositoryTaskData;
import org.eclipse.mylyn.internal.tasks.ui.OpenRepositoryTaskJob;
@@ -815,10 +816,13 @@ public class TasksUiInternal {
}
public static void createAndOpenNewTask(TaskData taskData) throws CoreException {
- ITask task = TasksUiUtil.createOutgoingNewTask(taskData.getConnectorKind());
+ ITask task = TasksUiUtil.createOutgoingNewTask(taskData.getConnectorKind(), taskData.getRepositoryUrl());
+ UnsubmittedTaskContainer unsubmitted = ((TaskList) getTaskList()).getUnsubmittedContainer(taskData.getRepositoryUrl());
+ if (unsubmitted != null) {
+ TasksUiInternal.getTaskList().addTask(task, unsubmitted);
+ }
ITaskDataWorkingCopy workingCopy = TasksUi.getTaskDataManager().createWorkingCopy(task, taskData);
workingCopy.save(null, null);
-
TaskRepository localTaskRepository = TasksUi.getRepositoryManager().getRepository(task.getConnectorKind(),
task.getRepositoryUrl());
TaskEditorInput editorInput = new TaskEditorInput(localTaskRepository, task);

Back to the top