/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
- <?xml version="1.0"?>
- <!DOCTYPE ACTIONS SYSTEM "actions.dtd">
- <!-- VFS browser action table -->
- <!-- Copyright (C) 2003 Slava Pestov -->
- <!-- :tabSize=8:indentSize=8:noTabs=false: -->
- <!-- :folding=indent:collapseFolds=1:mode=jedit-actions: -->
- <!-- Actions are the 'glue' that binds menu item selections and keystrokes -->
- <!-- to jEdit's APIs. For simplicity and compactness, they are written in -->
- <!-- the BeanShell scripting language. -->
- <ACTIONS>
- <ACTION NAME="vfs.browser.browse">
- <CODE>
- if (files.length != 0)
- browser.setDirectory(files[0].path);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.previous">
- <CODE>
- browser.previousDirectory();
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.next">
- <CODE>
- browser.nextDirectory();
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.closedialog">
- <CODE>
- browser.dispose();
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.browse-window">
- <CODE>
- for(int i = 0; i < files.length; i++)
- {
- VFSBrowser.browseDirectoryInNewWindow(view,
- files[i].path);
- }
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.close">
- <CODE>
- for(int i = 0; i < files.length; i++)
- {
- Buffer buffer = jEdit.getBuffer(files[i].path);
- if(buffer != null)
- jEdit.closeBuffer(view,buffer);
- }
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.copy-path">
- <CODE>
- org.gjt.sp.jedit.datatransfer.ListVFSFileTransferable transferable =
- new org.gjt.sp.jedit.datatransfer.ListVFSFileTransferable(files);
- Registers.setRegister('$',transferable);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.paste">
- <CODE>
- if (files.length != 1)
- return;
- org.gjt.sp.jedit.io.VFSFile file = files[0];
- String targetPath;
- switch (file.getType())
- {
- case org.gjt.sp.jedit.io.VFSFile.FILESYSTEM:
- return;
- case org.gjt.sp.jedit.io.VFSFile.FILE:
- targetPath = MiscUtilities.getParentOfPath(file.getPath());
- break;
- case org.gjt.sp.jedit.io.VFSFile.DIRECTORY:
- targetPath = file.getPath();
- break;
- }
- java.awt.datatransfer.Transferable transferable = Registers.getRegister('$').getTransferable();
- if (transferable.isDataFlavorSupported(org.gjt.sp.jedit.datatransfer.ListVFSFileTransferable.jEditFileList))
- {
- List copiedFiles = (List) transferable.getTransferData(org.gjt.sp.jedit.datatransfer.ListVFSFileTransferable.jEditFileList);
- Iterator iterator = copiedFiles.iterator();
- while (iterator.hasNext())
- {
- org.gjt.sp.jedit.io.VFSFile f = (org.gjt.sp.jedit.io.VFSFile) iterator.next();
- if (f.getType() == org.gjt.sp.jedit.io.VFSFile.FILE)
- {
- ThreadUtilities.runInBackground(new CopyFileWorker(view, f.getPath(), targetPath));
- }
- }
- }
- else if (transferable.isDataFlavorSupported(java.awt.datatransfer.DataFlavor.javaFileListFlavor))
- {
- List copiedFiles = (List) transferable.getTransferData(java.awt.datatransfer.DataFlavor.javaFileListFlavor);
- Iterator iterator = copiedFiles.iterator();
- while (iterator.hasNext())
- {
- File f = (File) iterator.next();
- if (f.isFile())
- {
- ThreadUtilities.runInBackground(new CopyFileWorker(view, f.getAbsolutePath(), targetPath));
- }
- }
- }
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.delete">
- <CODE>
- if (files.length != 0)
- browser.delete(files);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.home">
- <CODE>
- browser.setDirectory(System.getProperty("user.home"));
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.insert">
- <CODE>
- browser.filesActivated(VFSBrowser.M_INSERT,false);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.new-directory">
- <CODE>
- browser.mkdir();
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.new-file">
- <CODE>
- browser.newFile();
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.open">
- <CODE>
- browser.filesActivated(VFSBrowser.M_OPEN,false);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.open-desktop">
- <CODE>
- if (files.length != 1) return;
- f = new java.io.File(files[0].getPath());
- if (!f.exists()) return;
- cmd = null;
- if (OperatingSystem.isWindows()) {
- cmd = "rundll32 SHELL32.DLL,ShellExec_RunDLL " +
- "\"" + f.getCanonicalPath() + "\"";
- }
- else if (OperatingSystem.isMacOS()) {
- cmd = "open " + f.getCanonicalPath();
- }
- else if (OperatingSystem.isX11()) {
- cmd = "xdg-open " + f.getCanonicalPath();
- }
- else {
- java.awt.Desktop.getDesktop().open(f);
- return;
- }
- Runtime.getRuntime().exec(cmd);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.open-view">
- <CODE>
- browser.filesActivated(VFSBrowser.M_OPEN_NEW_VIEW,false);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.open-plain-view">
- <CODE>
- browser.filesActivated(VFSBrowser.M_OPEN_NEW_PLAIN_VIEW,false);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.open-split">
- <CODE>
- browser.filesActivated(VFSBrowser.M_OPEN_NEW_SPLIT,false);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.properties">
- <CODE>
- browser.fileProperties(files);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.reload">
- <CODE>
- browser.reloadDirectory();
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.rename">
- <CODE>
- if (files.length != 0)
- browser.rename(files[0]);
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.roots">
- <CODE>
- browser.rootDirectory();
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.search-directory">
- <CODE>
- browser.searchInDirectory();
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.show-hidden-files">
- <CODE>
- browser.setShowHiddenFiles(!browser.getShowHiddenFiles());
- browser.reloadDirectory();
- </CODE>
- <IS_SELECTED>
- /* NOTE: I do NOT want plugins creating check box menu items
- * in jEdit 4.2! The API is not stable, note the _comp hack...
- * in 4.3 I will finish the full action API refactoring and
- * IS_SELECTED blocks in browser actions will have access to
- * the browser variable just like the CODE block above.
- *
- * Love, Slava */
- VFSBrowser browser = GUIUtilities.getComponentParent(_comp,
- VFSBrowser.class);
- return browser.getShowHiddenFiles();
- browser = null;
- </IS_SELECTED>
- </ACTION>
- <ACTION NAME="vfs.browser.synchronize">
- <CODE>
- browser.setDirectory(view.getBuffer().getDirectory());
- </CODE>
- </ACTION>
- <ACTION NAME="vfs.browser.up">
- <CODE>
- browser.setDirectory(MiscUtilities.getParentOfPath(
- browser.getDirectory()));
- </CODE>
- </ACTION>
- </ACTIONS>