-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathwsAccess.js
31 lines (30 loc) · 1.39 KB
/
wsAccess.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function applicationStarted(pluginWorkspaceAccess) {
Packages.java.lang.System.err.println("Application started " + pluginWorkspaceAccess);
var projectController = pluginWorkspaceAccess.getProjectManager();
var popupMenuCustomizer = {
customizePopUpMenu: function (popupMenu){
selectedFiles = projectController.getSelectedFiles();
if (selectedFiles != null && selectedFiles.length == 1) {
if(selectedFiles[0].isDirectory()){
var mi = new Packages.javax.swing.JMenuItem("Open Terminal ");
popupMenu.add(mi);
var actionPerfObj = {
actionPerformed: function (e) {
var params = java.lang.reflect.Array.newInstance(java.lang.String, 4);
params[0] = "/usr/bin/open";
params[1] = "-a";
params[2] = "Terminal";
params[3] = selectedFiles[0].getAbsolutePath();
Packages.java.lang.Runtime.getRuntime().exec(params);
}
}
mi.addActionListener(new JavaAdapter(Packages.java.awt.event.ActionListener, actionPerfObj));
}
}
}
}
projectController.addPopUpMenuCustomizer(popupMenuCustomizer);
}
function applicationClosing(pluginWorkspaceAccess) {
Packages.java.lang.System.err.println("Application closing " + pluginWorkspaceAccess);
}