Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 211080 | Differences between
and this patch

Collapse All | Expand All

(-)src/org/eclipse/mylyn/internal/tasks/ui/TaskTransfer.java (-6 / +5 lines)
Lines 50-60 Link Here
50
50
51
	@Override
51
	@Override
52
	protected void javaToNative(Object data, TransferData transferData) {
52
	protected void javaToNative(Object data, TransferData transferData) {
53
		if (!(data instanceof AbstractTask[])) {
53
		if (!(data instanceof Object[])) {
54
			return;
54
			return;
55
		}
55
		}
56
56
57
		AbstractTask[] tasks = (AbstractTask[]) data;
57
		Object[] tasks = (Object[]) data;
58
		int resourceCount = tasks.length;
58
		int resourceCount = tasks.length;
59
59
60
		try {
60
		try {
Lines 66-72 Link Here
66
66
67
			//write each resource
67
			//write each resource
68
			for (int i = 0; i < tasks.length; i++) {
68
			for (int i = 0; i < tasks.length; i++) {
69
				writeResource(dataOut, tasks[i]);
69
				if (tasks[i] instanceof AbstractTask) {
70
					dataOut.writeUTF(((AbstractTask) tasks[i]).getHandleIdentifier());
71
				}
70
			}
72
			}
71
73
72
			//cleanup
74
			//cleanup
Lines 103-109 Link Here
103
		return TasksUiPlugin.getTaskListManager().getTaskList().getTask(handle);
105
		return TasksUiPlugin.getTaskListManager().getTaskList().getTask(handle);
104
	}
106
	}
105
107
106
	private void writeResource(DataOutputStream dataOut, AbstractTask task) throws IOException {
107
		dataOut.writeUTF(task.getHandleIdentifier());
108
	}
109
}
108
}
(-)src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListDropAdapter.java (-15 / +5 lines)
Lines 20-29 Link Here
20
import org.eclipse.core.runtime.CoreException;
20
import org.eclipse.core.runtime.CoreException;
21
import org.eclipse.core.runtime.NullProgressMonitor;
21
import org.eclipse.core.runtime.NullProgressMonitor;
22
import org.eclipse.jface.dialogs.MessageDialog;
22
import org.eclipse.jface.dialogs.MessageDialog;
23
import org.eclipse.jface.viewers.ISelection;
24
import org.eclipse.jface.viewers.IStructuredSelection;
25
import org.eclipse.jface.viewers.StructuredSelection;
23
import org.eclipse.jface.viewers.StructuredSelection;
26
import org.eclipse.jface.viewers.TreeViewer;
27
import org.eclipse.jface.viewers.Viewer;
24
import org.eclipse.jface.viewers.Viewer;
28
import org.eclipse.jface.viewers.ViewerDropAdapter;
25
import org.eclipse.jface.viewers.ViewerDropAdapter;
29
import org.eclipse.mylyn.context.core.ContextCorePlugin;
26
import org.eclipse.mylyn.context.core.ContextCorePlugin;
Lines 82-99 Link Here
82
	public boolean performDrop(Object data) {
79
	public boolean performDrop(Object data) {
83
		Object currentTarget = getCurrentTarget();
80
		Object currentTarget = getCurrentTarget();
84
		List<AbstractTask> tasksToMove = new ArrayList<AbstractTask>();
81
		List<AbstractTask> tasksToMove = new ArrayList<AbstractTask>();
85
		ISelection selection = ((TreeViewer) getViewer()).getSelection();
86
		if (isUrl(data) && createTaskFromUrl(data)) {
82
		if (isUrl(data) && createTaskFromUrl(data)) {
87
			tasksToMove.add(newTask);
83
			tasksToMove.add(newTask);
88
		} else if (TaskTransfer.getInstance().isSupportedType(currentTransfer)) {
84
		} else if (TaskTransfer.getInstance().isSupportedType(currentTransfer) && data instanceof AbstractTask[]) {
89
			for (Object selectedObject : ((IStructuredSelection) selection).toList()) {
85
			AbstractTask[] tasks = (AbstractTask[]) data;
90
				AbstractTask toMove = null;
86
			for (AbstractTask task : tasks) {
91
				if (selectedObject instanceof AbstractTask) {
87
				tasksToMove.add(task);
92
					toMove = (AbstractTask) selectedObject;
93
				}
94
				if (toMove != null) {
95
					tasksToMove.add(toMove);
96
				}
97
			}
88
			}
98
		} else if (data instanceof String && createTaskFromString((String) data)) {
89
		} else if (data instanceof String && createTaskFromString((String) data)) {
99
			tasksToMove.add(newTask);
90
			tasksToMove.add(newTask);
Lines 302-312 Link Here
302
	public boolean validateDrop(Object targetObject, int operation, TransferData transferType) {
293
	public boolean validateDrop(Object targetObject, int operation, TransferData transferType) {
303
		currentTransfer = transferType;
294
		currentTransfer = transferType;
304
295
305
		Object selectedObject = ((IStructuredSelection) ((TreeViewer) getViewer()).getSelection()).getFirstElement();
306
		if (FileTransfer.getInstance().isSupportedType(currentTransfer)) {
296
		if (FileTransfer.getInstance().isSupportedType(currentTransfer)) {
307
			// handle all files
297
			// handle all files
308
			return true;
298
			return true;
309
		} else if (selectedObject != null && !(selectedObject instanceof AbstractRepositoryQuery)) {
299
		} else if (TaskTransfer.getInstance().isSupportedType(currentTransfer)) {
310
			if (getCurrentTarget() instanceof TaskCategory || getCurrentTarget() instanceof UnfiledCategory
300
			if (getCurrentTarget() instanceof TaskCategory || getCurrentTarget() instanceof UnfiledCategory
311
					|| getCurrentTarget() instanceof ScheduledTaskContainer) {
301
					|| getCurrentTarget() instanceof ScheduledTaskContainer) {
312
				return true;
302
				return true;

Return to bug 211080