@Override public void actionPerformed(ActionEvent evt) { if (pluginModel.isDownloadingList()) return; boolean downloadSource = jEdit.getBooleanProperty("plugin-manager.downloadSource"); boolean installUser = jEdit.getBooleanProperty("plugin-manager.installUser"); Roster roster = new Roster(); String installDirectory; if (installUser) { installDirectory = MiscUtilities.constructPath(jEdit.getSettingsDirectory(), "jars"); } else { installDirectory = MiscUtilities.constructPath(jEdit.getJEditHome(), "jars"); } int length = pluginModel.entries.size(); int instcount = 0; for (int i = 0; i < length; i++) { Entry entry = (Entry) pluginModel.entries.get(i); if (entry.install) { entry.plugin.install(roster, installDirectory, downloadSource); if (updates) entry .plugin .getCompatibleBranch() .satisfyDependencies(roster, installDirectory, downloadSource); instcount++; } } if (roster.isEmpty()) return; boolean cancel = false; if (updates && roster.getOperationCount() > instcount) if (GUIUtilities.confirm( window, "install-plugins.depend", null, JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE) == JOptionPane.CANCEL_OPTION) cancel = true; if (!cancel) { new PluginManagerProgress(window, roster); roster.performOperationsInAWTThread(window); pluginModel.update(); } }
// {{{ loadDirectory() method public void loadDirectory( final Object node, String path, final boolean addToHistory, final Runnable delayedAWTTask) { path = MiscUtilities.constructPath(browser.getDirectory(), path); VFS vfs = VFSManager.getVFSForPath(path); Object session = vfs.createVFSSession(path, this); if (session == null) { if (delayedAWTTask != null) ThreadUtilities.runInDispatchThread(delayedAWTTask); return; } if (node == null) { parentDirectories.setListData(new Object[] {new LoadingPlaceholder()}); } final Object[] loadInfo = new Object[2]; Runnable awtRunnable = new Runnable() { public void run() { browser.directoryLoaded(node, loadInfo, addToHistory); if (delayedAWTTask != null) delayedAWTTask.run(); } }; ThreadUtilities.runInBackground( new ListDirectoryBrowserTask(browser, session, vfs, path, loadInfo, awtRunnable)); } // }}}