X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui.rap%2Fsrc%2Forg%2Fargeo%2Fcms%2Fweb%2FCmsWebApp.java;h=e5b6c7efca1e37b6d76b1ffb5086a5505047e84f;hb=b7683883512d924a039a43c2e1102290aa49f64d;hp=75509bd640dfec58071cceca6a219ddd93f826d7;hpb=958c7142baa531d444d56725609c43c6a1ebd762;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebApp.java b/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebApp.java index 75509bd64..e5b6c7efc 100644 --- a/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebApp.java +++ b/org.argeo.cms.ui.rap/src/org/argeo/cms/web/CmsWebApp.java @@ -3,19 +3,21 @@ package org.argeo.cms.web; import java.util.Dictionary; import java.util.HashMap; import java.util.Map; +import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.cms.ui.CmsApp; -import org.argeo.cms.ui.CmsAppListener; -import org.argeo.cms.ui.CmsTheme; -import org.argeo.cms.ui.CmsView; +import org.argeo.api.cms.CmsApp; +import org.argeo.api.cms.CmsAppListener; +import org.argeo.api.cms.CmsTheme; +import org.argeo.api.cms.CmsView; +import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.util.LangUtils; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.application.Application; +import org.eclipse.rap.rwt.application.Application.OperationMode; import org.eclipse.rap.rwt.application.ApplicationConfiguration; import org.eclipse.rap.rwt.application.ExceptionHandler; -import org.eclipse.rap.rwt.application.Application.OperationMode; import org.eclipse.rap.rwt.client.WebClient; import org.eclipse.swt.widgets.Display; import org.osgi.framework.BundleContext; @@ -37,6 +39,8 @@ public class CmsWebApp implements ApplicationConfiguration, ExceptionHandler, Cm private final static String CONTEXT_NAME = "contextName"; private String contextName; + private final static String FAVICON_PNG = "favicon.png"; + public void init(BundleContext bundleContext, Map properties) { this.bundleContext = bundleContext; contextName = properties.get(CONTEXT_NAME); @@ -75,7 +79,7 @@ public class CmsWebApp implements ApplicationConfiguration, ExceptionHandler, Cm public void handleException(Throwable throwable) { Display display = Display.getCurrent(); if (display != null && !display.isDisposed()) { - CmsView cmsView = CmsView.getCmsView(display.getActiveShell()); + CmsView cmsView = CmsSwtUtils.getCmsView(display.getActiveShell()); cmsView.exception(throwable); } else { log.error("Unexpected exception outside an UI thread", throwable); @@ -91,6 +95,10 @@ public class CmsWebApp implements ApplicationConfiguration, ExceptionHandler, Cm properties.put(WebClient.THEME_ID, theme.getThemeId()); properties.put(WebClient.HEAD_HTML, theme.getHtmlHeaders()); properties.put(WebClient.BODY_HTML, theme.getBodyHtml()); + Set imagePaths = theme.getImagesPaths(); + if (imagePaths.contains(FAVICON_PNG)) { + properties.put(WebClient.FAVICON, FAVICON_PNG); + } } else { properties.put(WebClient.THEME_ID, RWT.DEFAULT_THEME_ID); }