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



Reply via email to