From: <va...@us...> - 2010-02-28 00:35:48
|
Revision: 17400 http://jedit.svn.sourceforge.net/jedit/?rev=17400&view=rev Author: vanza Date: 2010-02-28 00:35:34 +0000 (Sun, 28 Feb 2010) Log Message: ----------- Sync to git @5e879118. Modified Paths: -------------- plugins/ProjectViewer/trunk/ProjectViewer.props plugins/ProjectViewer/trunk/description.html plugins/ProjectViewer/trunk/projectviewer/ProjectManager.java plugins/ProjectViewer/trunk/projectviewer/ProjectViewer.java plugins/ProjectViewer/trunk/projectviewer/action/OpenWithAppAction.java plugins/ProjectViewer/trunk/projectviewer/config/AppLauncher.java plugins/ProjectViewer/trunk/projectviewer/persist/OldConfigLoader.java plugins/ProjectViewer/trunk/projectviewer/vpt/ProjectTreePanel.java plugins/ProjectViewer/trunk/projectviewer/vpt/VPTProject.java Modified: plugins/ProjectViewer/trunk/ProjectViewer.props =================================================================== --- plugins/ProjectViewer/trunk/ProjectViewer.props 2010-02-27 22:45:49 UTC (rev 17399) +++ plugins/ProjectViewer/trunk/ProjectViewer.props 2010-02-28 00:35:34 UTC (rev 17400) @@ -78,15 +78,15 @@ plugin.projectviewer.ProjectPlugin.menu.label=Project Viewer plugin.projectviewer.ProjectPlugin.menu.code=new projectviewer.PVMenuProvider(); projectviewer.menu=\ - projectviewer \ + projectviewer \ projectviewer_focuswindow \ - projectviewer_parent-group \ - projectviewer_set-active \ + projectviewer_parent-group \ + projectviewer_set-active \ - \ projectviewer_wrapper_edit \ projectviewer_wrapper_reimport \ projectviewer_jarmaker_dialog \ - projectviewer_new-file \ + projectviewer_new-file \ - \ projectviewer_open_all_files \ projectviewer_close_all_files \ Modified: plugins/ProjectViewer/trunk/description.html =================================================================== --- plugins/ProjectViewer/trunk/description.html 2010-02-27 22:45:49 UTC (rev 17399) +++ plugins/ProjectViewer/trunk/description.html 2010-02-28 00:35:34 UTC (rev 17400) @@ -1,5 +1,5 @@ The ProjectViewer plugin provides an interface for managing a -"project", i.e. a related group of source files. +project - a related group of source files. The plugin provides a GUI for managing the projects and their contents, and provides a powerful extension mechanism for other plugins that Modified: plugins/ProjectViewer/trunk/projectviewer/ProjectManager.java =================================================================== --- plugins/ProjectViewer/trunk/projectviewer/ProjectManager.java 2010-02-27 22:45:49 UTC (rev 17399) +++ plugins/ProjectViewer/trunk/projectviewer/ProjectManager.java 2010-02-28 00:35:34 UTC (rev 17400) @@ -240,7 +240,7 @@ Properties p = new Properties(); List<VPTFilterData> filters = getGlobalFilterList(); for (int i = 0; i < filters.size(); i++) { - VPTFilterData fd = (VPTFilterData) filters.get(i); + VPTFilterData fd = filters.get(i); p.setProperty("filter." + i + ".glob", fd.getGlob()); p.setProperty("filter." + i + ".name", fd.getName()); } @@ -273,7 +273,7 @@ * @since PV 2.1.3.6 */ public void saveProject(VPTProject p, boolean wait) { - Entry e = (Entry) projects.get(p.getName()); + Entry e = projects.get(p.getName()); Runnable task; synchronized (e) { if (!e.isLoaded) { @@ -301,7 +301,7 @@ * the project does not exist anymore. */ public void removeProject(VPTProject p) { - Entry e = (Entry) projects.get(p.getName()); + Entry e = projects.get(p.getName()); if (e == null) return; projects.remove(p.getName()); @@ -626,11 +626,11 @@ e.project.setRootPath(attrs.getValue(PRJ_ROOT)); projects.put(pName, e); - VPTGroup g = (VPTGroup) grpStack.peek(); + VPTGroup g = grpStack.peek(); g.insert(e.project, g.findIndexForChild(e.project)); } else if (qName.equals(GRP_ELEMENT)) { VPTGroup g = new VPTGroup(attrs.getValue(GRP_NAME)); - VPTGroup parent = (VPTGroup) grpStack.peek(); + VPTGroup parent = grpStack.peek(); parent.insert(g, parent.findIndexForChild(g)); grpStack.push(g); } else if (!qName.equals(PROJECT_ROOT)) { Modified: plugins/ProjectViewer/trunk/projectviewer/ProjectViewer.java =================================================================== --- plugins/ProjectViewer/trunk/projectviewer/ProjectViewer.java 2010-02-27 22:45:49 UTC (rev 17399) +++ plugins/ProjectViewer/trunk/projectviewer/ProjectViewer.java 2010-02-28 00:35:34 UTC (rev 17400) @@ -22,6 +22,7 @@ import java.io.File; import java.util.ArrayList; +import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -1207,11 +1208,13 @@ if (esu.getWhat() == ErrorSourceUpdate.ERROR_ADDED || esu.getWhat() == ErrorSourceUpdate.ERROR_REMOVED) { - VPTProject p = (VPTProject) treeRoot; ErrorSource.Error error = esu.getError(); - VPTNode f = p.getChildNode(error.getFilePath()); - if (f != null) { - treePanel.nodeChanged(f); + if (treeRoot.isGroup()) { + checkGroup((VPTGroup) treeRoot, + error.getFilePath()); + } else if (treeRoot.isProject()) { + checkErrorPath((VPTProject) treeRoot, + error.getFilePath()); } } if (esu.getWhat() == ErrorSourceUpdate.ERROR_SOURCE_ADDED @@ -1222,6 +1225,35 @@ } } + + private void checkGroup(VPTGroup grp, + String path) + { + Enumeration e = grp.children(); + while (e.hasMoreElements()) { + VPTNode n = (VPTNode) e.nextElement(); + if (n.isGroup()) { + checkGroup((VPTGroup) n, path); + } else { + VPTProject p = (VPTProject) n; + /* Don't bother if the project isn't loaded yet. */ + if (ProjectManager.getInstance().isLoaded(p.getName())) { + checkErrorPath(p, path); + } + } + } + } + + + private void checkErrorPath(VPTProject p, + String path) + { + VPTNode f = p.getChildNode(path); + if (f != null) { + treePanel.nodeChanged(f); + } + } + } //}}} public void focusOnDefaultComponent() Modified: plugins/ProjectViewer/trunk/projectviewer/action/OpenWithAppAction.java =================================================================== --- plugins/ProjectViewer/trunk/projectviewer/action/OpenWithAppAction.java 2010-02-27 22:45:49 UTC (rev 17399) +++ plugins/ProjectViewer/trunk/projectviewer/action/OpenWithAppAction.java 2010-02-28 00:35:34 UTC (rev 17400) @@ -55,7 +55,7 @@ //{{{ +actionPerformed(ActionEvent) : void /** Creates a new project. */ public void actionPerformed(ActionEvent e) { - VPTNode node = (VPTNode) viewer.getSelectedNode(); + VPTNode node = viewer.getSelectedNode(); appList.launchApp(node.getNodePath(), viewer); } //}}} Modified: plugins/ProjectViewer/trunk/projectviewer/config/AppLauncher.java =================================================================== --- plugins/ProjectViewer/trunk/projectviewer/config/AppLauncher.java 2010-02-27 22:45:49 UTC (rev 17399) +++ plugins/ProjectViewer/trunk/projectviewer/config/AppLauncher.java 2010-02-28 00:35:34 UTC (rev 17400) @@ -227,7 +227,7 @@ String name = VFSManager.getVFSForPath(path).getFileName(path); for (ComparablePattern re : appCol.keySet()) { if (re.matches(name)) { - return (String) appCol.get(re); + return appCol.get(re); } } Modified: plugins/ProjectViewer/trunk/projectviewer/persist/OldConfigLoader.java =================================================================== --- plugins/ProjectViewer/trunk/projectviewer/persist/OldConfigLoader.java 2010-02-27 22:45:49 UTC (rev 17399) +++ plugins/ProjectViewer/trunk/projectviewer/persist/OldConfigLoader.java 2010-02-28 00:35:34 UTC (rev 17400) @@ -200,7 +200,7 @@ return p; } if (dirs.get(path) != null) { - return (VPTNode) dirs.get(path); + return dirs.get(path); } Stack<VPTNode> toAdd = new Stack<VPTNode>(); @@ -213,7 +213,7 @@ while (where == null) { if (dirs.get(parent) != null) { - where = (VPTNode) dirs.get(parent); + where = dirs.get(parent); } else { if (parent.equals(p.getRootPath())) { where = p; @@ -227,7 +227,7 @@ } while (!toAdd.isEmpty()) { - VPTNode o = (VPTNode) toAdd.pop(); + VPTNode o = toAdd.pop(); where.add(o); where = o; } Modified: plugins/ProjectViewer/trunk/projectviewer/vpt/ProjectTreePanel.java =================================================================== --- plugins/ProjectViewer/trunk/projectviewer/vpt/ProjectTreePanel.java 2010-02-27 22:45:49 UTC (rev 17399) +++ plugins/ProjectViewer/trunk/projectviewer/vpt/ProjectTreePanel.java 2010-02-28 00:35:34 UTC (rev 17400) @@ -298,7 +298,7 @@ public void reloadIconComposer(VPTProject proj) { VersionControlService svc = null; - String svcname = ((VPTProject)proj).getProperty(VersionControlService.VC_SERVICE_KEY); + String svcname = proj.getProperty(VersionControlService.VC_SERVICE_KEY); if (svcname != null) { svc = (VersionControlService) ServiceManager.getService(VersionControlService.class.getName(), Modified: plugins/ProjectViewer/trunk/projectviewer/vpt/VPTProject.java =================================================================== --- plugins/ProjectViewer/trunk/projectviewer/vpt/VPTProject.java 2010-02-27 22:45:49 UTC (rev 17399) +++ plugins/ProjectViewer/trunk/projectviewer/vpt/VPTProject.java 2010-02-28 00:35:34 UTC (rev 17400) @@ -163,7 +163,16 @@ /** Returns the list of open files the project knows about. */ public List<String> getOpenFiles() { - return openFiles; + List<String> oldOpenFiles; + List<String> newOpenFiles = new ArrayList<String>(); + lock(true); + try { + oldOpenFiles = openFiles; + openFiles = newOpenFiles; + } finally { + unlock(true); + } + return oldOpenFiles; } @@ -172,23 +181,40 @@ * Adds a file to the list of the project's opened files. */ public void addOpenFile(String path) { - if (!openFiles.contains(path)) - openFiles.add(path); + lock(true); + try { + if (!openFiles.contains(path)) + openFiles.add(path); + } finally { + unlock(true); + } } //}}} + /** * Remove an open file from the list. * * @since PV 2.1.3.5 */ public void removeOpenFile(String path) { - openFiles.remove(path); + lock(true); + try { + openFiles.remove(path); + } finally { + unlock(true); + } } + //{{{ +clearOpenFiles() : void /** Clears the list of open files. */ public void clearOpenFiles() { - openFiles.clear(); + lock(true); + try { + openFiles.clear(); + } finally { + unlock(true); + } } //}}} //{{{ +isInProject(String) : boolean This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |