Author: jflesch
Date: 2006-07-25 14:02:03 +0000 (Tue, 25 Jul 2006)
New Revision: 9745
Modified:
trunk/apps/Thaw/src/thaw/fcp/FCPClientPut.java
trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DragAndDropManager.java
Log:
Fix insertion filename detection with Windows + try to make drag and drop works
Modified: trunk/apps/Thaw/src/thaw/fcp/FCPClientPut.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPClientPut.java 2006-07-25 13:10:33 UTC
(rev 9744)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPClientPut.java 2006-07-25 14:02:03 UTC
(rev 9745)
@@ -138,9 +138,7 @@
} else {
- /* <Jflesch> Bill Gates: God kills a kitten each time
you use a '\' !! */
-
- String[] plop =
publicKey.split(File.separator.replaceAll("\\\\", "\\\\\\\\"));
+ String[] plop = publicKey.split("/");
this.name = plop[plop.length-1];
if(keyType != 0) {
Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DragAndDropManager.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DragAndDropManager.java
2006-07-25 13:10:33 UTC (rev 9744)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DragAndDropManager.java
2006-07-25 14:02:03 UTC (rev 9745)
@@ -14,6 +14,7 @@
import javax.swing.TransferHandler;
import java.awt.Component;
+import javax.swing.JComponent;
import java.util.Vector;
import java.util.Iterator;
@@ -42,15 +43,35 @@
dragSource = DragSource.getDefaultDragSource();
for(int i = 0 ; i < queuePanels.length ; i++) {
-
this.dragSource.createDefaultDragGestureRecognizer(queuePanels[i].getTable(),
-
DnDConstants.ACTION_COPY_OR_MOVE,
-
this);
- queuePanels[i].getTable().setDragEnabled(true);
+ /*
this.dragSource.createDefaultDragGestureRecognizer(queuePanels[i].getTable(),
+
DnDConstants.ACTION_COPY_OR_MOVE,
+
this);
+ */
+ //queuePanels[i].getTable().setTransferHandler(new
FileTransferHandler());
+ //queuePanels[i].getTable().setDragEnabled(true);
+
}
+ }
+
+ private class FileTransferHandler extends TransferHandler {
+
+ protected Transferable createTransferable(JComponent c) {
+ if(c == queuePanels[0].getTable()) {
+ queuePanels[0].reloadSelections();
+ return new
DragableFinishedTransfers(queuePanels[0].getSelectedQueries(), false);
+ }
+
+ if(c == queuePanels[1].getTable()) {
+ queuePanels[1].reloadSelections();
+ return new
DragableFinishedTransfers(queuePanels[1].getSelectedQueries(), true);
+ }
+
+ return null;
+ }
+
}
-
public void dragGestureRecognized(DragGestureEvent dge) {
try {
Transferable transferable;
@@ -67,21 +88,22 @@
- private class DragableFinishedDownloads implements Transferable{
+ private class DragableFinishedTransfers implements Transferable{
public final DataFlavor[] FLAVORS = {
DataFlavor.javaFileListFlavor,
DataFlavor.stringFlavor,
};
private Vector queries; /* FCPTransferQuery */
+ private boolean insert;
-
- public DragableFinishedDownloads(Vector queries) {
+ public DragableFinishedTransfers(Vector queries, boolean
insert) {
if(queries == null || queries.size() <= 0) {
Logger.warning(this, "Selection null ?!");
}
this.queries = queries;
+ this.insert = insert;
}
@@ -92,6 +114,7 @@
public Object getTransferData(DataFlavor flavor) {
if(flavor == DataFlavor.javaFileListFlavor
|| flavor.equals(DataFlavor.javaFileListFlavor) ) {
+
Vector fileList = new Vector();
for(Iterator queryIt = queries.iterator();
@@ -125,7 +148,10 @@
if(query.getPath() == null) // We need
a path !
continue;
- result = result +query.getPath()+"\n";
+ if(!insert)
+ result = result
+query.getPath()+"\n";
+ else
+ result = result +
query.getFileKey() + "\n";
}
return result;
@@ -151,11 +177,17 @@
private Transferable getTransferableFor(Component c) {
+
if(c == queuePanels[0].getTable()) {
queuePanels[0].reloadSelections();
- return new
DragableFinishedDownloads(queuePanels[0].getSelectedQueries());
+ return new
DragableFinishedTransfers(queuePanels[0].getSelectedQueries(), false);
}
+ if(c == queuePanels[1].getTable()) {
+ queuePanels[1].reloadSelections();
+ return new
DragableFinishedTransfers(queuePanels[1].getSelectedQueries(), true);
+ }
+
return null;
}