IDEMPIERE-724 Zk: Make iDempiere theme more easily customizable. Added theme preference support. Added toolbar button size preference.
This commit is contained in:
parent
c155937c9e
commit
a1fdf9420e
|
@ -43,6 +43,7 @@ import org.compiere.model.X_AD_ToolBarButton;
|
||||||
import org.compiere.util.CLogger;
|
import org.compiere.util.CLogger;
|
||||||
import org.compiere.util.Env;
|
import org.compiere.util.Env;
|
||||||
import org.compiere.util.Msg;
|
import org.compiere.util.Msg;
|
||||||
|
import org.compiere.util.Util;
|
||||||
import org.compiere.util.ValueNamePair;
|
import org.compiere.util.ValueNamePair;
|
||||||
import org.zkoss.image.AImage;
|
import org.zkoss.image.AImage;
|
||||||
import org.zkoss.zk.au.out.AuScript;
|
import org.zkoss.zk.au.out.AuScript;
|
||||||
|
@ -220,7 +221,15 @@ public class ADWindowToolbar extends FToolbar implements EventListener<Event>
|
||||||
btn.setName(BTNPREFIX+name);
|
btn.setName(BTNPREFIX+name);
|
||||||
btn.setId(btn.getName());
|
btn.setId(btn.getName());
|
||||||
if (image != null)
|
if (image != null)
|
||||||
btn.setImage(ThemeManager.getThemeResource("images/"+image + "24.png"));
|
{
|
||||||
|
String size = Env.getContext(Env.getCtx(), "#ZK_Toolbar_Button_Size");
|
||||||
|
String suffix = "24.png";
|
||||||
|
if (!Util.isEmpty(size))
|
||||||
|
{
|
||||||
|
suffix = size + ".png";
|
||||||
|
}
|
||||||
|
btn.setImage(ThemeManager.getThemeResource("images/"+image + suffix));
|
||||||
|
}
|
||||||
btn.setTooltiptext(Msg.getMsg(Env.getCtx(),tooltip));
|
btn.setTooltiptext(Msg.getMsg(Env.getCtx(),tooltip));
|
||||||
btn.setSclass("toolbar-button");
|
btn.setSclass("toolbar-button");
|
||||||
|
|
||||||
|
|
|
@ -384,7 +384,13 @@ public class BreadCrumb extends Div implements EventListener<Event> {
|
||||||
ToolBarButton btn = new ToolBarButton("");
|
ToolBarButton btn = new ToolBarButton("");
|
||||||
btn.setName(BTNPREFIX+name);
|
btn.setName(BTNPREFIX+name);
|
||||||
btn.setId(name);
|
btn.setId(name);
|
||||||
btn.setImage(ThemeManager.getThemeResource("images/"+image + "24.png"));
|
String size = Env.getContext(Env.getCtx(), "#ZK_Toolbar_Button_Size");
|
||||||
|
String suffix = "24.png";
|
||||||
|
if (!Util.isEmpty(size))
|
||||||
|
{
|
||||||
|
suffix = size + ".png";
|
||||||
|
}
|
||||||
|
btn.setImage(ThemeManager.getThemeResource("images/"+image + suffix));
|
||||||
btn.setTooltiptext(Msg.getMsg(Env.getCtx(),tooltip));
|
btn.setTooltiptext(Msg.getMsg(Env.getCtx(),tooltip));
|
||||||
btn.setSclass("breadcrumb-toolbar-button");
|
btn.setSclass("breadcrumb-toolbar-button");
|
||||||
|
|
||||||
|
|
|
@ -41,17 +41,6 @@ public interface ITheme {
|
||||||
public static final String LOGIN_LABEL_CLASS = "login-label";
|
public static final String LOGIN_LABEL_CLASS = "login-label";
|
||||||
public static final String LOGIN_FIELD_CLASS = "login-field";
|
public static final String LOGIN_FIELD_CLASS = "login-field";
|
||||||
|
|
||||||
//optional top, bottom, left, right content for the login page
|
|
||||||
public static final String LOGIN_NORTH_PANEL_CLASS = "login-north-panel";
|
|
||||||
public static final String LOGIN_SOUTH_PANEL_CLASS = "login-south-panel";
|
|
||||||
public static final String LOGIN_WEST_PANEL_CLASS = "login-west-panel";
|
|
||||||
public static final String LOGIN_EAST_PANEL_CLASS = "login-east-panel";
|
|
||||||
|
|
||||||
public static final String LOGIN_TOP_PANEL_ZUL = "/login-top.zul";
|
|
||||||
public static final String LOGIN_BOTTOM_PANEL_ZUL = "/login-bottom.zul";
|
|
||||||
public static final String LOGIN_LEFT_PANEL_ZUL = "/login-left.zul";
|
|
||||||
public static final String LOGIN_RIGHT_PANEL_ZUL = "/login-right.zul";
|
|
||||||
|
|
||||||
//logo
|
//logo
|
||||||
public static final String LOGIN_LOGO_IMAGE = "/images/login-logo.png";
|
public static final String LOGIN_LOGO_IMAGE = "/images/login-logo.png";
|
||||||
public static final String HEADER_LOGO_IMAGE = "/images/header-logo.png";
|
public static final String HEADER_LOGO_IMAGE = "/images/header-logo.png";
|
||||||
|
@ -60,4 +49,7 @@ public interface ITheme {
|
||||||
//stylesheet url
|
//stylesheet url
|
||||||
public static final String THEME_STYLESHEET = "/css/theme.css.dsp";
|
public static final String THEME_STYLESHEET = "/css/theme.css.dsp";
|
||||||
public static final String THEME_STYLESHEET_BY_BROWSER = "/css/theme*.css.dsp*";
|
public static final String THEME_STYLESHEET_BY_BROWSER = "/css/theme*.css.dsp*";
|
||||||
|
|
||||||
|
//theme preference
|
||||||
|
public static final String THEME_PREFERENCE = "/preference.zul";
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,6 +67,13 @@ public final class ThemeManager {
|
||||||
return ITheme.THEME_PATH_PREFIX + getTheme() + ITheme.THEME_STYLESHEET_BY_BROWSER;
|
return ITheme.THEME_PATH_PREFIX + getTheme() + ITheme.THEME_STYLESHEET_BY_BROWSER;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return url of theme preference page
|
||||||
|
*/
|
||||||
|
public static String getPreference() {
|
||||||
|
return ITheme.THEME_PATH_PREFIX + getTheme() + ITheme.THEME_PREFERENCE;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return title text for the browser window
|
* @return title text for the browser window
|
||||||
*/
|
*/
|
||||||
|
@ -74,38 +81,6 @@ public final class ThemeManager {
|
||||||
return MSysConfig.getValue(MSysConfig.ZK_BROWSER_TITLE, AdempiereWebUI.APP_NAME);
|
return MSysConfig.getValue(MSysConfig.ZK_BROWSER_TITLE, AdempiereWebUI.APP_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @return url for right panel
|
|
||||||
*/
|
|
||||||
public static String getLoginRightPanel() {
|
|
||||||
String theme = getTheme();
|
|
||||||
return ITheme.THEME_PATH_PREFIX + theme + ITheme.LOGIN_RIGHT_PANEL_ZUL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return url for left panel
|
|
||||||
*/
|
|
||||||
public static String getLoginLeftPanel() {
|
|
||||||
String theme = getTheme();
|
|
||||||
return ITheme.THEME_PATH_PREFIX + theme + ITheme.LOGIN_LEFT_PANEL_ZUL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return url for top panel
|
|
||||||
*/
|
|
||||||
public static String getLoginTopPanel() {
|
|
||||||
String theme = getTheme();
|
|
||||||
return ITheme.THEME_PATH_PREFIX + theme + ITheme.LOGIN_TOP_PANEL_ZUL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return url for bottom panel
|
|
||||||
*/
|
|
||||||
public static String getLoginBottomPanel() {
|
|
||||||
String theme = getTheme();
|
|
||||||
return ITheme.THEME_PATH_PREFIX + theme + ITheme.LOGIN_BOTTOM_PANEL_ZUL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return url for browser icon
|
* @return url for browser icon
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -11,5 +11,6 @@ Copyright (C) 2007 Ashley G Ramdass.
|
||||||
<?link rel="stylesheet" type="text/css" href="${themeStyleSheetByBrowser}"?>
|
<?link rel="stylesheet" type="text/css" href="${themeStyleSheetByBrowser}"?>
|
||||||
<?link rel="stylesheet" type="text/css" href="css/PAPanel.css"?>
|
<?link rel="stylesheet" type="text/css" href="css/PAPanel.css"?>
|
||||||
<zk>
|
<zk>
|
||||||
|
<include src="${themePreference}"/>
|
||||||
<window use="org.adempiere.webui.AdempiereWebUI"/>
|
<window use="org.adempiere.webui.AdempiereWebUI"/>
|
||||||
</zk>
|
</zk>
|
|
@ -2,3 +2,4 @@ import org.adempiere.webui.theme.ThemeManager;
|
||||||
var themeStyleSheet = ThemeManager.getStyleSheet();
|
var themeStyleSheet = ThemeManager.getStyleSheet();
|
||||||
var themeStyleSheetByBrowser = ThemeManager.getStyleSheetByBrowser();
|
var themeStyleSheetByBrowser = ThemeManager.getStyleSheetByBrowser();
|
||||||
var browserIcon = ThemeManager.getBrowserIcon();
|
var browserIcon = ThemeManager.getBrowserIcon();
|
||||||
|
var themePreference = ThemeManager.getPreference();
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<zk>
|
||||||
|
<script defer="true">
|
||||||
|
<![CDATA[
|
||||||
|
adempiere.store.set("zkTimeoutURL", "sessiontimeout.zul");
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
<zscript>
|
||||||
|
<![CDATA[
|
||||||
|
import org.compiere.util.Env;
|
||||||
|
|
||||||
|
Env.setContext(Env.getCtx(), "#ZK_Toolbar_Button_Size", "24");
|
||||||
|
]]>
|
||||||
|
</zscript>
|
||||||
|
</zk>
|
Loading…
Reference in New Issue