diff options
author | Joonas Lehtinen <joonas.lehtinen@itmill.com> | 2007-07-23 09:18:40 +0000 |
---|---|---|
committer | Joonas Lehtinen <joonas.lehtinen@itmill.com> | 2007-07-23 09:18:40 +0000 |
commit | 88dd2ed5a48efcf2e63d37ace96915668466332e (patch) | |
tree | 631dc798bda4a2928adb56213dd4d79924d4b905 /src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java | |
parent | 4c1baacd3186c5dd01dc82a06a584c7d48360232 (diff) | |
download | vaadin-framework-88dd2ed5a48efcf2e63d37ace96915668466332e.tar.gz vaadin-framework-88dd2ed5a48efcf2e63d37ace96915668466332e.zip |
Better webbrowser impl
svn changeset:1896/svn branch:trunk
Diffstat (limited to 'src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java')
-rw-r--r-- | src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java | 73 |
1 files changed, 66 insertions, 7 deletions
diff --git a/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java b/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java index 52db76fcfd..c065a85deb 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/WebBrowser.java @@ -1,27 +1,86 @@ package com.itmill.toolkit.terminal.gwt.server; +import java.util.Locale; + +import javax.servlet.http.HttpServletRequest; + import com.itmill.toolkit.terminal.Terminal; public class WebBrowser implements Terminal { + private int screenHeight = 0; + private int screenWidth = 0; + private String browserApplication = null; + private Locale locale; + private String address; + private boolean secureConnection; + + /** There is no default-theme for this terminal type. + * + * @return Allways returns null. + */ public String getDefaultTheme() { - // TODO Auto-generated method stub return null; } + /** Get the height of the users display in pixels. + * + */ public int getScreenHeight() { - // TODO Auto-generated method stub - return 0; + return screenHeight; } + /** Get the width of the users display in pixels. + * + */ public int getScreenWidth() { - // TODO Auto-generated method stub - return 0; + return screenWidth; } + /** Get the browser user-agent string. + * + * @return + */ public String getBrowserApplication() { - // TODO Auto-generated method stub - return ""; + return browserApplication; + } + + void updateBrowserProperties(HttpServletRequest request) { + locale = request.getLocale(); + address = request.getRemoteAddr(); + secureConnection = request.isSecure(); + + String agent = request.getHeader("user-agent"); + if (agent != null) browserApplication = agent; + + String sw = request.getParameter("screenWidth"); + String sh = request.getParameter("screenHeight"); + if (sw != null && sh != null) { + try { + screenHeight = Integer.parseInt(sh); + screenWidth = Integer.parseInt(sw); + } catch (NumberFormatException e) { + screenHeight = screenWidth = 0; + } + } + } + + /** Get the IP-address of the web browser. + * + * @return IP-address in 1.12.123.123 -format + */ + public String getAddress() { + return address; + } + + /** Get the default locate of the browser. */ + public Locale getLocale() { + return locale; + } + + /** Is the connection made using HTTPS? */ + public boolean isSecureConnection() { + return secureConnection; } } |