Changeset 9e12801


Ignore:
Timestamp:
Jul 11, 2013 12:19:31 AM (7 years ago)
Author:
str4d <str4d@…>
Branches:
master
Children:
b0b0124
Parents:
67859f6
Message:

susimail: Improvements to layout in mobile browsers

Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • apps/susimail/src/src/i2p/susi/webmail/WebMail.java

    r67859f6 r9e12801  
    171171        private static final String RC_PROP_THEME = "routerconsole.theme";
    172172        private static final String RC_PROP_UNIVERSAL_THEMING = "routerconsole.universal.theme";
     173        private static final String RC_PROP_FORCE_MOBILE_CONSOLE = "routerconsole.forceMobileConsole";
    173174        private static final String CONFIG_THEME = "theme";
    174175        private static final String DEFAULT_THEME = "light";
     
    325326                public boolean reallyDelete;
    326327                String themePath, imgPath;
     328                boolean isMobile;
    327329               
    328330               
     
    11841186                return sessionObject;
    11851187        }
     1188    /**
     1189     * Copied from net.i2p.router.web.CSSHelper
     1190     * @since 0.9.7
     1191     */
     1192    private static boolean isMobile(String ua) {
     1193        return
     1194                               // text
     1195                              (ua.startsWith("Lynx") || ua.startsWith("w3m") ||
     1196                               ua.startsWith("ELinks") || ua.startsWith("Links") ||
     1197                               ua.startsWith("Dillo") ||
     1198                               // mobile
     1199                               // http://www.zytrax.com/tech/web/mobile_ids.html
     1200                               // Android tablet UAs don't have "Mobile" in them
     1201                               (ua.contains("Android") && ua.contains("Mobile")) ||
     1202                               ua.contains("iPhone") ||
     1203                               ua.contains("iPod") || ua.contains("iPad") ||
     1204                               ua.contains("Kindle") || ua.contains("Mobile") ||
     1205                               ua.contains("Nintendo Wii") ||
     1206                               ua.contains("Opera Mini") || ua.contains("Opera Mobi") ||
     1207                               ua.contains("Palm") ||
     1208                               ua.contains("PLAYSTATION") || ua.contains("Playstation") ||
     1209                               ua.contains("Profile/MIDP-") || ua.contains("SymbianOS") ||
     1210                               ua.contains("Windows CE") || ua.contains("Windows Phone") ||
     1211                               ua.startsWith("BlackBerry") || ua.startsWith("DoCoMo") ||
     1212                               ua.startsWith("Nokia") || ua.startsWith("OPWV-SDK") ||
     1213                               ua.startsWith("MOT-") || ua.startsWith("SAMSUNG-") ||
     1214                               ua.startsWith("nook") || ua.startsWith("SCH-") ||
     1215                               ua.startsWith("SEC-") || ua.startsWith("SonyEricsson") ||
     1216                               ua.startsWith("Vodafone"));
     1217    }
    11861218        /**
    11871219         *
     
    12111243                        }
    12121244                }
     1245                boolean forceMobileConsole = ctx.getBooleanProperty(RC_PROP_FORCE_MOBILE_CONSOLE);
     1246                boolean isMobile = (forceMobileConsole || isMobile(httpRequest.getHeader("User-Agent")));
    12131247
    12141248                httpRequest.setCharacterEncoding("UTF-8");
     
    12331267                        sessionObject.themePath = "/themes/susimail/" + theme + '/';
    12341268                        sessionObject.imgPath = sessionObject.themePath + "images/";
     1269                        sessionObject.isMobile = isMobile;
    12351270                       
    12361271                        processStateChangeButtons( sessionObject, request );
     
    12911326                                        "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n" +
    12921327                                        "<title>susimail - " + subtitle + "</title>\n" +
    1293                                         "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + sessionObject.themePath + "susimail.css\">\n" +
    1294                                         "</head>\n<body>\n" +
     1328                                        "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + sessionObject.themePath + "susimail.css\">\n" );
     1329                                if (sessionObject.isMobile ) {
     1330                                        out.println( "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes\" />\n" +
     1331                                                "<link rel=\"stylesheet\" type=\"text/css\" href=\"" + sessionObject.themePath + "mobile.css\" />\n" );
     1332                                }
     1333                                out.println( "</head>\n<body>\n" +
    12951334                                        "<div class=\"page\"><p><img src=\"" + sessionObject.imgPath + "susimail.png\" alt=\"Susimail\"><br>&nbsp;</p>\n" +
    12961335                                        "<form method=\"POST\" enctype=\"multipart/form-data\" action=\"" + myself + "\">" );
     
    16361675                        button( REFRESH, _("Check Mail") ) + spacer +
    16371676                        button( RELOAD, _("Reload Config") ) + spacer +
    1638                         button( LOGOUT, _("Logout") ) + "<table cellspacing=\"0\" cellpadding=\"5\">\n" +
     1677                        button( LOGOUT, _("Logout") ) + "<table id=\"mailbox\" cellspacing=\"0\" cellpadding=\"5\">\n" +
    16391678                        "<tr><td colspan=\"8\"><hr></td></tr>\n<tr>" +
    16401679                        thSpacer + "<th>" + sortHeader( SORT_SENDER, _("Sender"), sessionObject.imgPath ) + "</th>" +
  • history.txt

    r67859f6 r9e12801  
     12013-07-11 str4d
     2 * susimail: Improvements to layout in mobile browsers
     3
    142013-07-06 zzz
    25 * TunnelPool: Don't reuse peers for exploratory tunnels
Note: See TracChangeset for help on using the changeset viewer.