PageRenderTime 42ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 0ms

/jEdit/tags/jedit-4-5-pre1/org/gjt/sp/jedit/browser.actions.xml

#
XML | 264 lines | 222 code | 35 blank | 7 comment | 0 complexity | ef1aef4ebf86c91775c92f6b78ccdf35 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
  1. <?xml version="1.0"?>
  2. <!DOCTYPE ACTIONS SYSTEM "actions.dtd">
  3. <!-- VFS browser action table -->
  4. <!-- Copyright (C) 2003 Slava Pestov -->
  5. <!-- :tabSize=8:indentSize=8:noTabs=false: -->
  6. <!-- :folding=indent:collapseFolds=1:mode=jedit-actions: -->
  7. <!-- Actions are the 'glue' that binds menu item selections and keystrokes -->
  8. <!-- to jEdit's APIs. For simplicity and compactness, they are written in -->
  9. <!-- the BeanShell scripting language. -->
  10. <ACTIONS>
  11. <ACTION NAME="vfs.browser.browse">
  12. <CODE>
  13. if (files.length != 0)
  14. browser.setDirectory(files[0].path);
  15. </CODE>
  16. </ACTION>
  17. <ACTION NAME="vfs.browser.previous">
  18. <CODE>
  19. browser.previousDirectory();
  20. </CODE>
  21. </ACTION>
  22. <ACTION NAME="vfs.browser.next">
  23. <CODE>
  24. browser.nextDirectory();
  25. </CODE>
  26. </ACTION>
  27. <ACTION NAME="vfs.browser.closedialog">
  28. <CODE>
  29. browser.dispose();
  30. </CODE>
  31. </ACTION>
  32. <ACTION NAME="vfs.browser.browse-window">
  33. <CODE>
  34. for(int i = 0; i &lt; files.length; i++)
  35. {
  36. VFSBrowser.browseDirectoryInNewWindow(view,
  37. files[i].path);
  38. }
  39. </CODE>
  40. </ACTION>
  41. <ACTION NAME="vfs.browser.close">
  42. <CODE>
  43. for(int i = 0; i &lt; files.length; i++)
  44. {
  45. Buffer buffer = jEdit.getBuffer(files[i].path);
  46. if(buffer != null)
  47. jEdit.closeBuffer(view,buffer);
  48. }
  49. </CODE>
  50. </ACTION>
  51. <ACTION NAME="vfs.browser.copy-path">
  52. <CODE>
  53. org.gjt.sp.jedit.datatransfer.ListVFSFileTransferable transferable =
  54. new org.gjt.sp.jedit.datatransfer.ListVFSFileTransferable(files);
  55. Registers.setRegister('$',transferable);
  56. </CODE>
  57. </ACTION>
  58. <ACTION NAME="vfs.browser.paste">
  59. <CODE>
  60. if (files.length != 1)
  61. return;
  62. org.gjt.sp.jedit.io.VFSFile file = files[0];
  63. String targetPath;
  64. switch (file.getType())
  65. {
  66. case org.gjt.sp.jedit.io.VFSFile.FILESYSTEM:
  67. return;
  68. case org.gjt.sp.jedit.io.VFSFile.FILE:
  69. targetPath = MiscUtilities.getParentOfPath(file.getPath());
  70. break;
  71. case org.gjt.sp.jedit.io.VFSFile.DIRECTORY:
  72. targetPath = file.getPath();
  73. break;
  74. }
  75. java.awt.datatransfer.Transferable transferable = Registers.getRegister('$').getTransferable();
  76. if (transferable.isDataFlavorSupported(org.gjt.sp.jedit.datatransfer.ListVFSFileTransferable.jEditFileList))
  77. {
  78. List copiedFiles = (List) transferable.getTransferData(org.gjt.sp.jedit.datatransfer.ListVFSFileTransferable.jEditFileList);
  79. Iterator iterator = copiedFiles.iterator();
  80. while (iterator.hasNext())
  81. {
  82. org.gjt.sp.jedit.io.VFSFile f = (org.gjt.sp.jedit.io.VFSFile) iterator.next();
  83. if (f.getType() == org.gjt.sp.jedit.io.VFSFile.FILE)
  84. {
  85. ThreadUtilities.runInBackground(new CopyFileWorker(view, f.getPath(), targetPath));
  86. }
  87. }
  88. }
  89. else if (transferable.isDataFlavorSupported(java.awt.datatransfer.DataFlavor.javaFileListFlavor))
  90. {
  91. List copiedFiles = (List) transferable.getTransferData(java.awt.datatransfer.DataFlavor.javaFileListFlavor);
  92. Iterator iterator = copiedFiles.iterator();
  93. while (iterator.hasNext())
  94. {
  95. File f = (File) iterator.next();
  96. if (f.isFile())
  97. {
  98. ThreadUtilities.runInBackground(new CopyFileWorker(view, f.getAbsolutePath(), targetPath));
  99. }
  100. }
  101. }
  102. </CODE>
  103. </ACTION>
  104. <ACTION NAME="vfs.browser.delete">
  105. <CODE>
  106. if (files.length != 0)
  107. browser.delete(files);
  108. </CODE>
  109. </ACTION>
  110. <ACTION NAME="vfs.browser.home">
  111. <CODE>
  112. browser.setDirectory(System.getProperty("user.home"));
  113. </CODE>
  114. </ACTION>
  115. <ACTION NAME="vfs.browser.insert">
  116. <CODE>
  117. browser.filesActivated(VFSBrowser.M_INSERT,false);
  118. </CODE>
  119. </ACTION>
  120. <ACTION NAME="vfs.browser.new-directory">
  121. <CODE>
  122. browser.mkdir();
  123. </CODE>
  124. </ACTION>
  125. <ACTION NAME="vfs.browser.new-file">
  126. <CODE>
  127. browser.newFile();
  128. </CODE>
  129. </ACTION>
  130. <ACTION NAME="vfs.browser.open">
  131. <CODE>
  132. browser.filesActivated(VFSBrowser.M_OPEN,false);
  133. </CODE>
  134. </ACTION>
  135. <ACTION NAME="vfs.browser.open-desktop">
  136. <CODE>
  137. if (files.length != 1) return;
  138. f = new java.io.File(files[0].getPath());
  139. if (!f.exists()) return;
  140. cmd = null;
  141. if (OperatingSystem.isWindows()) {
  142. cmd = "rundll32 SHELL32.DLL,ShellExec_RunDLL " +
  143. "\"" + f.getCanonicalPath() + "\"";
  144. }
  145. else if (OperatingSystem.isMacOS()) {
  146. cmd = "open " + f.getCanonicalPath();
  147. }
  148. else if (OperatingSystem.isX11()) {
  149. cmd = "xdg-open " + f.getCanonicalPath();
  150. }
  151. else {
  152. java.awt.Desktop.getDesktop().open(f);
  153. return;
  154. }
  155. Runtime.getRuntime().exec(cmd);
  156. </CODE>
  157. </ACTION>
  158. <ACTION NAME="vfs.browser.open-view">
  159. <CODE>
  160. browser.filesActivated(VFSBrowser.M_OPEN_NEW_VIEW,false);
  161. </CODE>
  162. </ACTION>
  163. <ACTION NAME="vfs.browser.open-plain-view">
  164. <CODE>
  165. browser.filesActivated(VFSBrowser.M_OPEN_NEW_PLAIN_VIEW,false);
  166. </CODE>
  167. </ACTION>
  168. <ACTION NAME="vfs.browser.open-split">
  169. <CODE>
  170. browser.filesActivated(VFSBrowser.M_OPEN_NEW_SPLIT,false);
  171. </CODE>
  172. </ACTION>
  173. <ACTION NAME="vfs.browser.properties">
  174. <CODE>
  175. browser.fileProperties(files);
  176. </CODE>
  177. </ACTION>
  178. <ACTION NAME="vfs.browser.reload">
  179. <CODE>
  180. browser.reloadDirectory();
  181. </CODE>
  182. </ACTION>
  183. <ACTION NAME="vfs.browser.rename">
  184. <CODE>
  185. if (files.length != 0)
  186. browser.rename(files[0]);
  187. </CODE>
  188. </ACTION>
  189. <ACTION NAME="vfs.browser.roots">
  190. <CODE>
  191. browser.rootDirectory();
  192. </CODE>
  193. </ACTION>
  194. <ACTION NAME="vfs.browser.search-directory">
  195. <CODE>
  196. browser.searchInDirectory();
  197. </CODE>
  198. </ACTION>
  199. <ACTION NAME="vfs.browser.show-hidden-files">
  200. <CODE>
  201. browser.setShowHiddenFiles(!browser.getShowHiddenFiles());
  202. browser.reloadDirectory();
  203. </CODE>
  204. <IS_SELECTED>
  205. /* NOTE: I do NOT want plugins creating check box menu items
  206. * in jEdit 4.2! The API is not stable, note the _comp hack...
  207. * in 4.3 I will finish the full action API refactoring and
  208. * IS_SELECTED blocks in browser actions will have access to
  209. * the browser variable just like the CODE block above.
  210. *
  211. * Love, Slava */
  212. VFSBrowser browser = GUIUtilities.getComponentParent(_comp,
  213. VFSBrowser.class);
  214. return browser.getShowHiddenFiles();
  215. browser = null;
  216. </IS_SELECTED>
  217. </ACTION>
  218. <ACTION NAME="vfs.browser.synchronize">
  219. <CODE>
  220. browser.setDirectory(view.getBuffer().getDirectory());
  221. </CODE>
  222. </ACTION>
  223. <ACTION NAME="vfs.browser.up">
  224. <CODE>
  225. browser.setDirectory(MiscUtilities.getParentOfPath(
  226. browser.getDirectory()));
  227. </CODE>
  228. </ACTION>
  229. </ACTIONS>