diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/theme/ThemeManager.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/theme/ThemeManager.java index 947173c6c8..5e77bbe1dc 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/theme/ThemeManager.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/theme/ThemeManager.java @@ -19,6 +19,7 @@ import org.adempiere.webui.apps.AEnv; import org.compiere.model.MClientInfo; import org.compiere.model.MImage; import org.compiere.model.MSysConfig; +import org.compiere.util.CCache; import org.compiere.util.Env; import org.compiere.util.Util; import org.zkoss.image.AImage; @@ -146,7 +147,26 @@ public final class ThemeManager { return null; } } + + private static final CCache s_themeHasCustomCSSCache = new CCache(null, "ThemeHasCustomCSSCache", 2, -1, false); + /** + * @return true if custom css exists + */ + public static Boolean isThemeHasCustomCSSFragment() { + String theme = getTheme(); + Boolean flag = s_themeHasCustomCSSCache.get(theme); + if (flag != null) + return flag; + if (ThemeManager.class.getResource(ITheme.THEME_PATH_PREFIX + theme + "/css/fragment/custom.css.dsp") == null) { + flag = Boolean.FALSE; + } else { + flag = Boolean.TRUE; + } + s_themeHasCustomCSSCache.put(theme, flag); + return flag; + } + public static boolean isUseCSSForWindowSize() { return "Y".equals(Env.getContext(Env.getCtx(), ITheme.USE_CSS_FOR_WINDOW_SIZE)); } diff --git a/org.adempiere.ui.zk/WEB-INF/tld/web/idempiere-util.dsp.tld b/org.adempiere.ui.zk/WEB-INF/tld/web/idempiere-util.dsp.tld index 6c34124d6e..39682b15c0 100644 --- a/org.adempiere.ui.zk/WEB-INF/tld/web/idempiere-util.dsp.tld +++ b/org.adempiere.ui.zk/WEB-INF/tld/web/idempiere-util.dsp.tld @@ -39,4 +39,15 @@ Clean all ampersand from string + + + isThemeHasCustomCSSFragment + org.adempiere.webui.theme.ThemeManager + + java.lang.Boolean isThemeHasCustomCSSFragment() + + + Returns whether theme has fragment/custom.css.dsp + + \ No newline at end of file diff --git a/org.adempiere.ui.zk/theme/default/css/theme.css.dsp b/org.adempiere.ui.zk/theme/default/css/theme.css.dsp index 5577112eca..ffd22d5004 100644 --- a/org.adempiere.ui.zk/theme/default/css/theme.css.dsp +++ b/org.adempiere.ui.zk/theme/default/css/theme.css.dsp @@ -124,4 +124,6 @@ table.z-vbox > tbody > tr > td > table { - + + + \ No newline at end of file