|
Lines 58-67
Link Here
|
| 58 |
public class FileTransferDragAdapter extends DragSourceAdapter implements TransferDragSourceListener { |
58 |
public class FileTransferDragAdapter extends DragSourceAdapter implements TransferDragSourceListener { |
| 59 |
|
59 |
|
| 60 |
private ISelectionProvider fProvider; |
60 |
private ISelectionProvider fProvider; |
|
|
61 |
private boolean fWasDataRequested; |
| 61 |
|
62 |
|
| 62 |
public FileTransferDragAdapter(ISelectionProvider provider) { |
63 |
public FileTransferDragAdapter(ISelectionProvider provider) { |
| 63 |
fProvider= provider; |
64 |
fProvider= provider; |
| 64 |
Assert.isNotNull(fProvider); |
65 |
Assert.isNotNull(fProvider); |
|
|
66 |
fWasDataRequested= false; |
| 65 |
} |
67 |
} |
| 66 |
|
68 |
|
| 67 |
public Transfer getTransfer() { |
69 |
public Transfer getTransfer() { |
|
Lines 70-75
Link Here
|
| 70 |
|
72 |
|
| 71 |
public void dragStart(DragSourceEvent event) { |
73 |
public void dragStart(DragSourceEvent event) { |
| 72 |
event.doit= isDragable(fProvider.getSelection()); |
74 |
event.doit= isDragable(fProvider.getSelection()); |
|
|
75 |
fWasDataRequested= false; |
| 73 |
} |
76 |
} |
| 74 |
|
77 |
|
| 75 |
private boolean isDragable(ISelection s) { |
78 |
private boolean isDragable(ISelection s) { |
|
Lines 103-108
Link Here
|
| 103 |
} |
106 |
} |
| 104 |
|
107 |
|
| 105 |
event.data= getResourceLocations(elements); |
108 |
event.data= getResourceLocations(elements); |
|
|
109 |
fWasDataRequested= true; |
| 106 |
} |
110 |
} |
| 107 |
|
111 |
|
| 108 |
private static String[] getResourceLocations(List resources) { |
112 |
private static String[] getResourceLocations(List resources) { |
|
Lines 113-118
Link Here
|
| 113 |
if (!event.doit) |
117 |
if (!event.doit) |
| 114 |
return; |
118 |
return; |
| 115 |
|
119 |
|
|
|
120 |
if (!fWasDataRequested) |
| 121 |
return; |
| 122 |
|
| 116 |
if (event.detail == DND.DROP_MOVE) { |
123 |
if (event.detail == DND.DROP_MOVE) { |
| 117 |
// http://bugs.eclipse.org/bugs/show_bug.cgi?id=30543 |
124 |
// http://bugs.eclipse.org/bugs/show_bug.cgi?id=30543 |
| 118 |
// handleDropMove(event); |
125 |
// handleDropMove(event); |