This is an automated email from the git hooks/post-receive script. ben pushed a commit to branch master in repository autocomplete.
commit d0dc53133dd7a4fd9bb59e093803e42b04121fa8 Author: bobbylight <[email protected]> Date: Tue May 1 23:32:52 2012 +0000 AutoComplete: Make popup decorations for main autocomplete windows optional separate from all other RSTA popups for performance reasons. Miscellaneous cleanup. --- build.xml | 3 ++- .../ui/autocomplete/AutoCompleteDescWindow.java | 8 +++--- .../ui/autocomplete/AutoCompletePopupWindow.java | 8 +++--- src/org/fife/ui/autocomplete/Util.java | 27 ++++++++++++++++++++ 4 files changed, 39 insertions(+), 7 deletions(-) diff --git a/build.xml b/build.xml index efca7c1..6c22da0 100644 --- a/build.xml +++ b/build.xml @@ -23,7 +23,7 @@ <!-- Set global properties for this build. --> - <property name="version" value="2.0.2"/> + <property name="version" value="2.0.3"/> <property name="source-dir" location="src"/> <property name="class-dir" location="ant-classes"/> <property name="dist-dir" location="dist"/> @@ -51,6 +51,7 @@ <jar destfile="${dist-dir}/autocomplete.jar"> <fileset dir="${class-dir}"/> <fileset dir="${source-dir}"> + <include name="**/*.dtd"/> <include name="**/*.png"/> </fileset> <fileset dir="i18n"/> diff --git a/src/org/fife/ui/autocomplete/AutoCompleteDescWindow.java b/src/org/fife/ui/autocomplete/AutoCompleteDescWindow.java index a7d5956..2c3fed0 100644 --- a/src/org/fife/ui/autocomplete/AutoCompleteDescWindow.java +++ b/src/org/fife/ui/autocomplete/AutoCompleteDescWindow.java @@ -188,9 +188,11 @@ class AutoCompleteDescWindow extends JWindow implements HyperlinkListener { setFocusableWindowState(false); // Give apps a chance to decorate us with drop shadows, etc. - PopupWindowDecorator decorator = PopupWindowDecorator.get(); - if (decorator!=null) { - decorator.decorate(this); + if (Util.getShouldAllowDecoratingMainAutoCompleteWindows()) { + PopupWindowDecorator decorator = PopupWindowDecorator.get(); + if (decorator!=null) { + decorator.decorate(this); + } } history = new ArrayList(1); // Usually small diff --git a/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java b/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java index 6020710..a58be47 100644 --- a/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java +++ b/src/org/fife/ui/autocomplete/AutoCompletePopupWindow.java @@ -169,9 +169,11 @@ class AutoCompletePopupWindow extends JWindow implements CaretListener, applyComponentOrientation(o); // Give apps a chance to decorate us with drop shadows, etc. - PopupWindowDecorator decorator = PopupWindowDecorator.get(); - if (decorator!=null) { - decorator.decorate(this); + if (Util.getShouldAllowDecoratingMainAutoCompleteWindows()) { + PopupWindowDecorator decorator = PopupWindowDecorator.get(); + if (decorator!=null) { + decorator.decorate(this); + } } pack(); diff --git a/src/org/fife/ui/autocomplete/Util.java b/src/org/fife/ui/autocomplete/Util.java index d498069..5eef8db 100644 --- a/src/org/fife/ui/autocomplete/Util.java +++ b/src/org/fife/ui/autocomplete/Util.java @@ -16,6 +16,8 @@ import java.awt.Rectangle; import java.lang.reflect.Method; import java.net.URI; +import org.fife.ui.rsyntaxtextarea.PopupWindowDecorator; + /** * Utility methods for the auto-complete framework. @@ -25,6 +27,17 @@ import java.net.URI; */ public class Util { + /** + * If this system property is <code>true</code>, then even the "main" two + * auto-complete windows will allow window decorations via + * {@link PopupWindowDecorator}. If this property is undefined or + * <code>false</code>, they won't honor such decorations. This is due to + * certain performance issues with translucent windows (used for drop + * shadows), even as of Java 7u2. + */ + public static final String PROPERTY_ALLOW_DECORATED_AUTOCOMPLETE_WINDOWS = + "org.fife.ui.autocomplete.allowDecoratedAutoCompleteWindows"; + private static boolean desktopCreationAttempted; private static Object desktop; private static final Object LOCK_DESKTOP_CREATION = new Object(); @@ -166,6 +179,20 @@ public class Util { /** + * Give apps a chance to decorate us with drop shadows, etc. Since very + * scrolly things such as lists (of e.g. completions) are *very* slow when + * in per-pixel translucent windows, even as of Java 7u2, we force the user + * to specify an extra option for the two "main" auto-complete windows. + * + * @return Whether to allow decorating the main auto-complete windows. + * @see #PROPERTY_ALLOW_DECORATED_AUTOCOMPLETE_WINDOWS + */ + public static boolean getShouldAllowDecoratingMainAutoCompleteWindows() { + return Boolean.getBoolean(PROPERTY_ALLOW_DECORATED_AUTOCOMPLETE_WINDOWS); + } + + + /** * Returns whether <code>str</code> starts with <code>start</code>, * ignoring case. * -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/autocomplete.git _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

