Changeset 166
- Timestamp:
- 07/28/08 16:51:26 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/expeditee/FrameDNDTransferHandler.java
r139 r166 36 36 37 37 // GNOME and KDE desktops have a specialized way of DNDing files 38 private DataFlavor _URIListDataflavor; 38 private DataFlavor _URIListDataflavorString; 39 private DataFlavor _URIListDataflavorCharArray; 39 40 40 41 private static FrameDNDTransferHandler _instance = new FrameDNDTransferHandler(); … … 51 52 52 53 try { 53 _URIListDataflavor = new DataFlavor("text/uri-list;class=java.lang.String"); 54 _URIListDataflavorString = new DataFlavor("text/uri-list;class=java.lang.String"); 55 _URIListDataflavorCharArray = new DataFlavor("text/uri-list;class=\"[C\""); 54 56 } catch (ClassNotFoundException e) { // This would never happen, java.lang.String is always present 55 57 e.printStackTrace(); 56 _URIListDataflavor = null; 57 } 58 assert(_URIListDataflavor != null); 58 _URIListDataflavorString = null; 59 } 60 assert(_URIListDataflavorString != null); 61 assert(_URIListDataflavorCharArray != null); 62 59 63 } 60 64 … … 74 78 if (!_customFileImporters.contains(importer)) 75 79 _customFileImporters.add(importer); 80 76 81 } 77 82 … … 100 105 if (support.isDataFlavorSupported(DataFlavor.stringFlavor) 101 106 || support.isDataFlavorSupported(DataFlavor.javaFileListFlavor) 102 || support.isDataFlavorSupported(_URIListDataflavor)) { 107 || support.isDataFlavorSupported(_URIListDataflavorString) 108 || support.isDataFlavorSupported(_URIListDataflavorCharArray)) { 103 109 104 110 // check if the source actions (a bitwise-OR of supported actions) … … 132 138 // data flavor recognized. 133 139 for (DataFlavor df : support.getTransferable().getTransferDataFlavors()) { 140 141 System.out.println(df); 142 134 143 135 144 if (df == DataFlavor.stringFlavor) { // import as text item … … 153 162 154 163 // Usually GNOME and KDE enviroments 155 } else if (df.equals(_URIListDataflavor )) {164 } else if (df.equals(_URIListDataflavorString)) { 156 165 157 166 String data = (String)support.getTransferable().getTransferData( 158 _URIListDataflavor );167 _URIListDataflavorString); 159 168 160 169 List<File> files = textURIListToFileList(data); … … 164 173 return true; 165 174 175 } else if (df.equals(_URIListDataflavorCharArray)) { 176 177 char[] data = (char[])support.getTransferable().getTransferData( 178 _URIListDataflavorCharArray); 179 180 String uriString = new String(data); 181 182 List<File> files = textURIListToFileList(uriString); 183 184 importFileList(files, expediteeDropPoint); 185 186 return true; 166 187 } 167 168 188 } 169 189 … … 240 260 241 261 private boolean performFileImport(List<FileImporter> importers, File f, Point expediteeDropPoint) throws IOException { 242 262 243 263 for (FileImporter fi : importers) { 244 264 if (fi.importFile(f, expediteeDropPoint)) return true;
Note:
See TracChangeset
for help on using the changeset viewer.