From: Jarek C. <jar...@us...> - 2012-03-12 17:17:39
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "ProjectViewer jEdit plugin". The branch, master has been updated via a418b56a9f38239b8b69ac3f5942baea623d289a (commit) from 81368dd0d781ff67587116f64663d0cd2437fa31 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit: http://jedit.git.sourceforge.net/git/gitweb.cgi?p=jedit/ProjectViewer;a=commit;h=a418b56a9f38239b8b69ac3f5942baea623d289a commitdiff: http://jedit.git.sourceforge.net/git/gitweb.cgi?p=jedit/ProjectViewer;a=commitdiff;h=a418b56a9f38239b8b69ac3f5942baea623d289a tree: http://jedit.git.sourceforge.net/git/gitweb.cgi?p=jedit/ProjectViewer;a=tree;h=a418b56a9f38239b8b69ac3f5942baea623d289a;hb=a418b56a9f38239b8b69ac3f5942baea623d289a commit a418b56a9f38239b8b69ac3f5942baea623d289a Author: Jarek Czekalski <jar...@po...> Date: Mon Mar 12 18:18:09 2012 +0100 Restored 3 argument method ProjectOptions.run() which was removed by commit 936cc2c7e0ce229d7dd58538aea959f18aca43cd. The 3 argument run() is deprecated and additionally shows a warning message when being used. diff --git a/ProjectViewer.props b/ProjectViewer.props index e995702..c5edff1 100644 --- a/ProjectViewer.props +++ b/ProjectViewer.props @@ -195,6 +195,8 @@ projectviewer.path_not_in_project=Open buffer is not part of the active project. projectviewer.fileNotExist=File does not exist:\n{0} projectviewer.noNodeSelected=No node selected. projectviewer.noProjectForSelNode=No project found for the selected node. +projectviewer.warnDeprecated=Another plugin uses a method from Project Viewer that is no longer supported.\nUpgrade your plugins and if the issue is not resolved, please report it. +projectviewer.messageOnce=This message will not show again until jEdit is restarted. projectviewer.general.choose=Choose projectviewer.general.no_active_project=(No Active Project) diff --git a/projectviewer/ProjectViewer.java b/projectviewer/ProjectViewer.java index a3c69e9..f402cb2 100644 --- a/projectviewer/ProjectViewer.java +++ b/projectviewer/ProjectViewer.java @@ -126,17 +126,24 @@ public final class ProjectViewer extends JPanel /** For methods returning results: if no result is available, * show a warning message to the user. * @since 3.3.0 */ - public static final int METHOD_WARN = 2; //}}} + public static final int METHOD_WARN = 2; /** Accept doing the call later, in idle state. * @since 3.3.0 */ - public static final int METHOD_LATER = 4; //}}} + public static final int METHOD_LATER = 4; + /** Perform only once per session. + * @since 3.4.2 */ + public static final int METHOD_ONCE = 8; //}}} private static final ProjectViewerConfig config; private static final Map<View,ViewerEntry> viewers; + /** Stores contents of messages that are to be shown only once per + jEdit session. */ + private static HashSet<String> msgsShowedOnce; static { config = ProjectViewerConfig.getInstance(); viewers = new HashMap<View,ViewerEntry>(); + msgsShowedOnce = new HashSet<String>(); } //{{{ +_getViewer(View)_ : ProjectViewer @@ -1424,7 +1431,7 @@ public final class ProjectViewer extends JPanel } } //}}} - //{{{ showMessage(...) + //{{{ showMessage(...) methods /** Shows a message dialog through * <code>JOptionPane.showMessageDialog</code>. * It can be called either from AWT Event Thread or from other thread. @@ -1435,13 +1442,20 @@ public final class ProjectViewer extends JPanel * @param flags <ul> * <li><code>METHOD_NO_FLAGS</code>: default behaviour.</li> * <li><code>METHOD_FORCE</code>: blocks always, even if current thread - * is not awt. May cause deadlocks.</li> + * is not awt. May cause deadlocks.</li> + * <li><code>METHOD_ONCE</code>: do not repeat this message until + * jEdit restart. * </ul> * @since 3.3.0 */ public static void showMessage(int flags, Component parent, String message, String title, int messageType) { + if ((flags & METHOD_ONCE) != 0) { + if (msgsShowedOnce.contains(message)) { return; } + msgsShowedOnce.add(message); + message += "\n" + jEdit.getProperty("projectviewer.messageOnce"); + } Messager msger = new Messager(parent, message, title, messageType); if ((flags & METHOD_FORCE) != 0) { @@ -1466,6 +1480,17 @@ public final class ProjectViewer extends JPanel } /** Same as {@link ProjectViewer#showMessage(int, Component, String, String, int)}, + * but with a default title and default <code>messageType</code>. + * Current view is used as a parent component. */ + public static void showMessage(int flags, String message) + { + Component parent = jEdit.getActiveView(); + String title = jEdit.getProperty("projectviewer.title"); + showMessage(flags, parent, message, title, + JOptionPane.PLAIN_MESSAGE); + } + + /** Same as {@link ProjectViewer#showMessage(int, Component, String, String, int)}, * but with no flags. */ public static void showMessage(Component parent, String message, String title, int messageType) diff --git a/projectviewer/config/ProjectOptions.java b/projectviewer/config/ProjectOptions.java index 84fd722..2c99547 100644 --- a/projectviewer/config/ProjectOptions.java +++ b/projectviewer/config/ProjectOptions.java @@ -31,6 +31,7 @@ import org.gjt.sp.jedit.OptionPane; import org.gjt.sp.jedit.ServiceManager; import org.gjt.sp.jedit.gui.OptionsDialog; +import projectviewer.ProjectViewer; import projectviewer.vpt.VPTGroup; import projectviewer.vpt.VPTProject; //}}} @@ -55,7 +56,6 @@ public class ProjectOptions private Map<OptionsService, OptionGroup> groups; private Map<OptionsService, OptionPane> panes; - /** * Shows the project options dialog for the given project. * <p>Should not be called from outside ProjectViewer. @@ -83,14 +83,22 @@ public class ProjectOptions return dlg.run(); } - /** Shows the project options dialog for the given project. - * This version is provided for backward compatibility only. - * @since 3.0.0 */ + /** + * Shows the project options dialog for the given project. Since 3.4.2 + * a 4 argument method is used internally, but neither should be called + * from outside Project Viewer.<p> + * This method displays a warning when being used, to detect potential + * plugins that call it. + * @since PV 3.0.0 + */ @Deprecated - public static VPTProject xrun(VPTProject proj, + public static VPTProject run(VPTProject proj, boolean isNew, VPTGroup parent) { + ProjectViewer.showMessage( + ProjectViewer.METHOD_ONCE, + jEdit.getProperty("projectviewer.warnDeprecated") ); return run(proj, isNew, parent, null); } ----------------------------------------------------------------------- Summary of changes: ProjectViewer.props | 2 + projectviewer/ProjectViewer.java | 33 ++++++++++++++++++++++++++--- projectviewer/config/ProjectOptions.java | 18 +++++++++++---- 3 files changed, 44 insertions(+), 9 deletions(-) hooks/post-receive -- ProjectViewer jEdit plugin |