|
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; |