Author: dongxu Date: Thu Sep 12 03:40:03 2013 New Revision: 1522232 URL: http://svn.apache.org/r1522232 Log: move new theme ui from experiment to hupa evo
Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutView.java - copied, changed from r1522230, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutView.ui.xml james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/buttons.png james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/hupa_logo_49_transparent.png james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/linen_header.jpg james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/roundcube_logo.png Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/Hupa.gwt.xml james/hupa/trunk/client/src/main/java/org/apache/hupa/client/Hupa.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinjector.java james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.java james/hupa/trunk/client/src/main/webapp/styles.css Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/Hupa.gwt.xml URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/Hupa.gwt.xml?rev=1522232&r1=1522231&r2=1522232&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/Hupa.gwt.xml (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/Hupa.gwt.xml Thu Sep 12 03:40:03 2013 @@ -114,6 +114,7 @@ <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD <entry-point class='org.apache.hupa.client.evo.HupaEvo'/> ======= <entry-point class='org.apache.hupa.client.Hupa'/> @@ -124,4 +125,7 @@ ======= <entry-point class='org.apache.hupa.client.evo.HupaEvo'/> >>>>>>> Make the evo more clear. +======= + <entry-point class='org.apache.hupa.client.Hupa'/> +>>>>>>> move new theme ui from experiment to hupa evo </module> Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/Hupa.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/Hupa.java?rev=1522232&r1=1522231&r2=1522232&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/Hupa.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/Hupa.java Thu Sep 12 03:40:03 2013 @@ -25,6 +25,9 @@ package org.apache.hupa.client; <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= +>>>>>>> move new theme ui from experiment to hupa evo import org.apache.hupa.client.ioc.AppGinjector; import com.google.gwt.core.client.EntryPoint; @@ -42,7 +45,12 @@ public class Hupa implements EntryPoint private void initApp() { replaceLoading(); +<<<<<<< HEAD injector.getHupaController().start(); +======= + HupaController hupaController = injector.getHupaController(); + hupaController.start(); +>>>>>>> move new theme ui from experiment to hupa evo } private void handleExceptionsAsync() { @@ -59,6 +67,7 @@ public class Hupa implements EntryPoint } private final AppGinjector injector = GWT.create(AppGinjector.class); +<<<<<<< HEAD ======= ======= >>>>>>> Change to new mvp framework - first step @@ -176,5 +185,7 @@ public class Hupa implements EntryPoint{ ======= } >>>>>>> Change to new mvp framework - first step +======= +>>>>>>> move new theme ui from experiment to hupa evo } Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java?rev=1522232&r1=1522231&r2=1522232&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/HupaController.java Thu Sep 12 03:40:03 2013 @@ -19,6 +19,7 @@ package org.apache.hupa.client; +<<<<<<< HEAD import org.apache.hupa.client.activity.NotificationActivity; import org.apache.hupa.client.activity.ToolBarActivity; import org.apache.hupa.client.activity.TopBarActivity; @@ -43,12 +44,24 @@ import org.apache.hupa.shared.events.Log import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler.ScheduledCommand; +======= +import org.apache.hupa.client.bundles.HupaResources; +import org.apache.hupa.client.evo.ActivityManagerInitializer; +import org.apache.hupa.client.place.DefaultPlace; +import org.apache.hupa.client.place.MailFolderPlace; +import org.apache.hupa.client.rf.CheckSessionRequest; +import org.apache.hupa.client.rf.HupaRequestFactory; +import org.apache.hupa.client.ui.AppLayout; +import org.apache.hupa.client.ui.HupaLayout; + +>>>>>>> move new theme ui from experiment to hupa evo import com.google.gwt.dom.client.StyleInjector; import com.google.gwt.event.shared.EventBus; import com.google.gwt.place.shared.Place; import com.google.gwt.place.shared.PlaceChangeEvent; import com.google.gwt.place.shared.PlaceController; import com.google.gwt.place.shared.PlaceHistoryHandler; +<<<<<<< HEAD import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.ui.RootLayoutPanel; import com.google.inject.Inject; @@ -76,10 +89,27 @@ public class HupaController { this.placeController = placeController; this.placeHistoryHandler = placeHistoryHandler; this.eventBus = eventBus; +======= +import com.google.gwt.user.client.ui.RootLayoutPanel; +import com.google.inject.Inject; +import com.google.web.bindery.requestfactory.shared.Receiver; + +public class HupaController { + + @Inject private PlaceHistoryHandler placeHistoryHandler; + @Inject private HupaLayout hupaLayout; + @Inject private PlaceController placeController; + @Inject private HupaRequestFactory requestFactory; + private Place currentPlace; + + @Inject + public HupaController(EventBus eventBus) { +>>>>>>> move new theme ui from experiment to hupa evo eventBus.addHandler(PlaceChangeEvent.TYPE, new PlaceChangHandler()); } public void start() { +<<<<<<< HEAD bindCss(); placeHistoryHandler.handleCurrentHistory(); } @@ -198,4 +228,59 @@ public class HupaController { } } } +======= + StyleInjector.inject(HupaResources.INSTANCE.stylesheet().getText());// TODO + // need + // this? + RootLayoutPanel.get().add(hupaLayout.get()); + placeHistoryHandler.handleCurrentHistory(); + } + + private final class PlaceChangHandler implements PlaceChangeEvent.Handler { + @Override + public void onPlaceChange(PlaceChangeEvent event) { + if (placeChange(event)) { + checkSession(); + } + refreshActivities(event); + } + + private void refreshActivities(PlaceChangeEvent event) { + Place newPlace = event.getNewPlace(); + if (newPlace != currentPlace) { + if (isAuth(newPlace, currentPlace)) { + // appPanelView.setDefaultLayout(); + } else if (newPlace instanceof DefaultPlace) { + // appPanelView.setLoginLayout(); + } + currentPlace = newPlace; + } + } + + private void checkSession() { + CheckSessionRequest checkSession = requestFactory.sessionRequest(); + checkSession.isValid().fire(new Receiver<Boolean>() { + @Override + public void onSuccess(Boolean sessionValid) { + if (!sessionValid) { + HupaController.this.placeController + .goTo(new DefaultPlace()); + } + } + }); + } + + private boolean placeChange(PlaceChangeEvent event) { + return currentPlace != null + && !(currentPlace instanceof DefaultPlace) + && event.getNewPlace() != currentPlace; + } + + private boolean isAuth(Place newPlace, Place currentPlace) { + return (newPlace instanceof MailFolderPlace) + && !(currentPlace instanceof MailFolderPlace); + } + } + +>>>>>>> move new theme ui from experiment to hupa evo } Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java?rev=1522232&r1=1522231&r2=1522232&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/AppController.java Thu Sep 12 03:40:03 2013 @@ -19,12 +19,14 @@ package org.apache.hupa.client.evo; +import org.apache.hupa.client.bundles.HupaResources; import org.apache.hupa.client.place.DefaultPlace; import org.apache.hupa.client.place.MailFolderPlace; import org.apache.hupa.client.rf.CheckSessionRequest; import org.apache.hupa.client.rf.HupaRequestFactory; import org.apache.hupa.client.ui.AppLayout; +import com.google.gwt.dom.client.StyleInjector; import com.google.gwt.event.shared.EventBus; import com.google.gwt.place.shared.Place; import com.google.gwt.place.shared.PlaceChangeEvent; @@ -48,6 +50,7 @@ public class AppController { } public void start() { + StyleInjector.inject(HupaResources.INSTANCE.stylesheet().getText()); RootLayoutPanel.get().add(appPanelView.getAppLayoutPanel()); placeHistoryHandler.handleCurrentHistory(); } Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java?rev=1522232&r1=1522231&r2=1522232&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java Thu Sep 12 03:40:03 2013 @@ -19,13 +19,11 @@ package org.apache.hupa.client.evo; -import org.apache.hupa.client.bundles.HupaResources; import org.apache.hupa.client.ioc.AppGinjector; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT.UncaughtExceptionHandler; -import com.google.gwt.dom.client.StyleInjector; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.ui.RootPanel; @@ -35,7 +33,6 @@ public class HupaEvo implements EntryPoi handleExceptionsAsync(); replaceLoading(); AppController appController = injector.getAppController(); - StyleInjector.inject(HupaResources.INSTANCE.stylesheet().getText()); appController.start(); } Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java?rev=1522232&r1=1522231&r2=1522232&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinModule.java Thu Sep 12 03:40:03 2013 @@ -36,6 +36,7 @@ import java.util.logging.Logger; <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD import org.apache.hupa.client.HupaController; import org.apache.hupa.client.activity.ComposeActivity; import org.apache.hupa.client.activity.ComposeToolBarActivity; @@ -115,6 +116,9 @@ import net.customware.gwt.dispatch.clien <<<<<<< HEAD <<<<<<< HEAD import org.apache.hupa.client.CachingDispatchAsync; +======= +import org.apache.hupa.client.HupaController; +>>>>>>> move new theme ui from experiment to hupa evo import org.apache.hupa.client.activity.IMAPMessageActivity; import org.apache.hupa.client.activity.IMAPMessageListActivity; import org.apache.hupa.client.activity.LoginActivity; @@ -165,6 +169,8 @@ import org.apache.hupa.client.rf.HupaReq import org.apache.hupa.client.ui.AppLayout; import org.apache.hupa.client.ui.AppLayoutImpl; import org.apache.hupa.client.ui.FoldersTreeViewModel; +import org.apache.hupa.client.ui.HupaLayout; +import org.apache.hupa.client.ui.HupaLayoutView; import org.apache.hupa.client.ui.IMAPMessageListView; <<<<<<< HEAD <<<<<<< HEAD @@ -230,6 +236,7 @@ public class AppGinModule extends Abstra // Views <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD bind(HupaLayoutable.class).to(HupaLayout.class).in(Singleton.class); bind(LoginLayoutable.class).to(LoginLayout.class).in(Singleton.class); @@ -389,6 +396,9 @@ public class AppGinModule extends Abstra ======= >>>>>>> Change to new mvp framework - first step bind(AppLayout.class).to(AppLayoutImpl.class).in(Singleton.class); +======= + bind(HupaLayout.class).to(HupaLayoutView.class).in(Singleton.class); +>>>>>>> move new theme ui from experiment to hupa evo // Activities bind(LoginActivity.Displayable.class).to(LoginView.class); @@ -446,6 +456,7 @@ public class AppGinModule extends Abstra bind(EventBus.class).to(SimpleEventBus.class).in(Singleton.class); // Application Controller +<<<<<<< HEAD bind(AppController.class).in(Singleton.class); <<<<<<< HEAD @@ -456,6 +467,10 @@ public class AppGinModule extends Abstra ======= >>>>>>> Make chechsession and login work with RF, with refactoring fetch >>>>>>> folders. +======= +// bind(AppController.class).in(Singleton.class); + bind(HupaController.class).in(Singleton.class); +>>>>>>> move new theme ui from experiment to hupa evo // bind(ExceptionHandler.class).to(DefaultExceptionHandler.class); } Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinjector.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinjector.java?rev=1522232&r1=1522231&r2=1522232&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinjector.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ioc/AppGinjector.java Thu Sep 12 03:40:03 2013 @@ -26,6 +26,7 @@ package org.apache.hupa.client.ioc; import org.apache.hupa.client.HupaController; +<<<<<<< HEAD ======= ======= >>>>>>> remove both of gwt-representer and gwt-dispatch dependencies, add >>>>>>> license headers to all new files @@ -44,6 +45,8 @@ package org.apache.hupa.client.ioc; import org.apache.hupa.client.AppController; >>>>>>> Change to new mvp framework - first step ======= +======= +>>>>>>> move new theme ui from experiment to hupa evo import org.apache.hupa.client.evo.AppController; >>>>>>> Make the evo more clear. @@ -66,5 +69,9 @@ public interface AppGinjector extends Gi >>>>>>> Change to new mvp framework - first step ======= AppController getAppController(); +<<<<<<< HEAD >>>>>>> Change to new mvp framework - first step +======= + HupaController getHupaController(); +>>>>>>> move new theme ui from experiment to hupa evo } Modified: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.java URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.java?rev=1522232&r1=1522231&r2=1522232&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayout.java Thu Sep 12 03:40:03 2013 @@ -19,6 +19,7 @@ package org.apache.hupa.client.ui; +<<<<<<< HEAD import org.apache.hupa.client.place.SettingPlace; import com.google.gwt.core.client.GWT; @@ -222,4 +223,10 @@ public class HupaLayout implements HupaL private static HupaLayoutUiBinder binder = GWT.create(HupaLayoutUiBinder.class); +======= +import com.google.gwt.user.client.ui.LayoutPanel; + +public interface HupaLayout { + LayoutPanel get(); +>>>>>>> move new theme ui from experiment to hupa evo } Copied: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutView.java (from r1522230, james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java) URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutView.java?p2=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutView.java&p1=james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java&r1=1522230&r2=1522232&rev=1522232&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/evo/HupaEvo.java (original) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutView.java Thu Sep 12 03:40:03 2013 @@ -17,40 +17,23 @@ * under the License. * ****************************************************************/ -package org.apache.hupa.client.evo; +package org.apache.hupa.client.ui; -import org.apache.hupa.client.bundles.HupaResources; -import org.apache.hupa.client.ioc.AppGinjector; - -import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; -import com.google.gwt.core.client.GWT.UncaughtExceptionHandler; -import com.google.gwt.dom.client.StyleInjector; -import com.google.gwt.user.client.DOM; -import com.google.gwt.user.client.ui.RootPanel; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.user.client.ui.LayoutPanel; + +public class HupaLayoutView implements HupaLayout { -public class HupaEvo implements EntryPoint { @Override - public void onModuleLoad() { - handleExceptionsAsync(); - replaceLoading(); - AppController appController = injector.getAppController(); - StyleInjector.inject(HupaResources.INSTANCE.stylesheet().getText()); - appController.start(); - } - - private void handleExceptionsAsync(){ - GWT.setUncaughtExceptionHandler(new UncaughtExceptionHandler() { - public void onUncaughtException(Throwable e) { - e.printStackTrace(); - } - }); + public LayoutPanel get() { + return binder.createAndBindUi(this); } - private void replaceLoading() { - DOM.removeChild(RootPanel.getBodyElement(), DOM.getElementById("loading")); + interface HupaLayoutUiBinder extends UiBinder<LayoutPanel, HupaLayoutView> { } - private final AppGinjector injector = GWT.create(AppGinjector.class); + private static HupaLayoutUiBinder binder = GWT + .create(HupaLayoutUiBinder.class); } Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutView.ui.xml URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutView.ui.xml?rev=1522232&view=auto ============================================================================== --- james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutView.ui.xml (added) +++ james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/HupaLayoutView.ui.xml Thu Sep 12 03:40:03 2013 @@ -0,0 +1,468 @@ +<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' + xmlns:g='urn:import:com.google.gwt.user.client.ui'> + <ui:image field="linen_header" /> + <ui:image field="roundcube_logo" /> + <ui:image field="buttons" /> + <ui:image field="hupa_logo_49_transparent"></ui:image> + <ui:style> + .minWidth { + min-width: 1150px; + } + + @sprite .topBar { + gwt-image: 'linen_header'; + width: 100%; + height: 100%; + background-repeat: repeat-x; + text-decoration: none; + border-bottom: 1px solid #4F4F4F; + padding: 2px 0 2px 10px; + color: #AAA; + height: 18px; + } + + .topLeft { + float: left; + } + + .about-link { + display: inline-block; + padding: 4px 0.8em 0 10px; + color: #AAA; + text-decoration: none; + cursor: pointer; + } + + .topNav { + height: 46px; + margin-bottom: 10px; + padding: 0 0 0 10px; + background: -moz-linear-gradient(top, #404040 0%, #060606 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #404040), + color-stop(100%, #060606) ); + background: -o-linear-gradient(top, #404040 0%, #060606 100%); + background: -ms-linear-gradient(top, #404040 0%, #060606 100%); + background: linear-gradient(top, #404040 0%, #060606 100%); + } + + .main { + + } + + .right { + float: right; + } + + .topRight { + float: right; + } + + @sprite .button-logout { + gwt-image: 'buttons'; + display: inline-block; + padding: 4px 8px 2px 20px; + color: white; + background-position: -4px -191px; + cursor: pointer; + } + + .username { + padding-top: 4px; + padding-right: 1em; + } + + .eastPanel { + border-radius: 4px; + background-color: #F60; + } + + .westPanel { + border-radius: 4px; + background-color: #EEE; + } + + .northPanel { + border-radius: 4px; + background-color: #39F; + } + + .southPanel { + border-radius: 4px; + background-color: #99C; + } + + .centerPanel { + border-radius: 4px; + background-color: #FFC; + } + + /*** taskbar ***/ + .taskbar { + display: inline-block; + height: 34px; + padding: 12px 10px 0 6px; + } + + @sprite .taskbar .button-inner { + gwt-image: 'buttons'; + display: inline-block; + font-size: 110%; + font-weight: normal; + text-shadow: 0px 1px 1px black; + padding: 5px 0 0 34px; + height: 19px; + cursor: pointer; + color: #eee; + } + + .button-selected { + background-color: #2c2c2c; + } + + .taskbar .button-mail-button-inner { + background-position: 0 -22px; + color: #3cf; + /*background-position: 0 2px;*/ + } + + .taskbar button-mail-button-inner:hover,.taskbar .button-mail-button-inner.button-selected + { + background-position: 0 -22px; + } + + .taskbar .button-addressbook-button-inner { + background-position: 0 -48px; + } + + .taskbar a.button-addressbook:hover span.button-inner,.taskbar a.button-addressbook.button-selected span.button-inner + { + background-position: 0 -72px; + } + + .taskbar .button-settings-button-inner { + background-position: 0 -96px; + } + + .taskbar a.button-settings:hover span.button-inner,.taskbar a.button-settings.button-selected span.button-inner + { + background-position: 0 -120px; + } + + .taskbar a.button-calendar span.button-inner { + background-position: 0 -144px; + } + + .taskbar a.button-calendar:hover span.button-inner,.taskbar a.button-calendar.button-selected span.button-inner + { + background-position: 0 -168px; + } + + .topLogo { + padding-top: 2px; + } + + .toolsBar { + position: absolute; + top: -6px; + right: 390px; + left: 0; + height: 40px; + white-space: nowrap; + z-index: 10; + } + + @sprite .toolsBarButton { + gwt-image: 'buttons'; + text-align: center; + font-size: 10px; + color: #555; + min-width: 50px; + max-width: 75px; + height: 13px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + padding: 24px 2px 0 2px; + text-shadow: 0px 1px 1px #EEE; + box-shadow: none; + -webkit-box-shadow: none; + background-position: -100px 0; + border: 0; + display: inline-block; + margin: 0 2px; + border-radius: 4px; + text-decoration: none; + cursor: pointer; + } + + .checkMail { + background-position: center -1180px; + } + + .compose { + background-position: center -534px; + } + + .spacer { + display: inline-block; + width: 24px; + height: 36px; + padding: 0; + } + + .reply { + background-position: center -574px; + } + + .dropButton { + display: inline-block; + position: relative; + } + + .dropButton .toolsBarButton { + margin-left: 0; + padding-left: 0; + margin-right: 0; + padding-right: 0; + } + + .replyAll { + min-width: 64px; + background-position: left -614px; + } + + @sprite .dropButton .dropButtonTip { + gwt-image: 'buttons'; + display: block; + position: absolute; + right: 0; + top: 0; + height: 42px; + width: 18px; + background-position: 0 -1259px; + cursor: pointer; + } + + .forward { + min-width: 64px; + background-position: left -654px; + } + + .delete { + background-position: center -694px; + } + + .mark { + background-position: center -1098px; + } + + .more { + background-position: center -854px; + } + + .folderList { + position: absolute; + top: 0; + left: 0; + width: 100%; + bottom: 0; + overflow-x: hidden; + overflow-y: auto; + } + + .uibox { + border: 1px solid #A3A3A3; + border-radius: 4px; + overflow: hidden; + box-shadow: 0 0 2px #999; + -o-box-shadow: 0 0 2px #999; + -webkit-box-shadow: 0 0 2px #999; + -moz-box-shadow: 0 0 2px #999; + background: white; + } + + .listbox { + background: #D9ECF4; + overflow: hidden; + } + + .uibox .boxfooter { + border-radius: 0 0 4px 4px; + } + + .listbox .boxfooter { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 42px; + border-top: 1px solid #CCDDE4; + background: #D9ECF4; + -webkit-box-shadow: inset 0 1px 0 0 white; + -moz-box-shadow: inset 0 1px 0 0 #fff; + box-shadow: inset 0 1px 0 0 white; + white-space: nowrap; + overflow: hidden; + } + + </ui:style> + <g:LayoutPanel addStyleNames="{style.minWidth}"> + <g:layer left='0' right='0' top='0' height='92px'> + <g:DockLayoutPanel unit="PX"> + <g:north size="23"> + <g:DockLayoutPanel unit="PX" addStyleNames="{style.topBar}"> + <g:west size="60"> + <g:SimplePanel addStyleNames="{style.topLeft}"> + <g:Anchor styleName="{style.about-link}">About</g:Anchor> + </g:SimplePanel> + </g:west> + <g:center> + <g:FlowPanel> + <g:Anchor addStyleNames="{style.topRight} {style.button-logout}">Logout</g:Anchor> + <g:HTMLPanel tag="span" addStyleNames="{style.topRight} {style.username}">echo...@gmail.com + </g:HTMLPanel> + </g:FlowPanel> + + </g:center> + </g:DockLayoutPanel> + + + </g:north> + <g:center> + <g:LayoutPanel addStyleNames="{style.topNav}"> + <g:layer width="177px" left="10px"> + <!-- <g:Image resource='{roundcube_logo}' /> --> + <g:SimplePanel> + <g:Image resource='{hupa_logo_49_transparent}' /> + </g:SimplePanel> + + </g:layer> + <g:layer width="301px" right="0"> + <g:DockLayoutPanel unit="PX"> + <g:west size="74"> + <g:SimplePanel addStyleNames="{style.taskbar} {style.button-selected}"> + <g:Anchor + addStyleNames=" + {style.button-mail-button-inner} {style.button-inner}"> + Mail + </g:Anchor> + </g:SimplePanel> + </g:west> + <g:center> + <g:SimplePanel addStyleNames="{style.taskbar}"> + <g:Anchor + addStyleNames=" + {style.button-addressbook-button-inner} {style.button-inner}"> + Contacts + </g:Anchor> + </g:SimplePanel> + </g:center> + <g:east size="97"> + <g:SimplePanel addStyleNames="{style.taskbar}"> + <g:Anchor + addStyleNames=" + {style.button-settings-button-inner} {style.button-inner}"> + Settings + </g:Anchor> + </g:SimplePanel> + </g:east> + </g:DockLayoutPanel> + </g:layer> + </g:LayoutPanel> + </g:center> + </g:DockLayoutPanel> + </g:layer> + <g:layer left='10px' right='10px' top='88px' bottom="20px"> + <g:DockLayoutPanel ui:field="mainSplitLayoutPanel"> + <g:north size="40"> + <g:FlowPanel addStyleNames="{style.toolsBar}"> + <g:Anchor addStyleNames="{style.toolsBarButton} {style.checkMail}">Refresh</g:Anchor> + <g:Anchor addStyleNames="{style.toolsBarButton} {style.compose}">Compose</g:Anchor> + <g:HTMLPanel tag="span" addStyleNames="{style.spacer}"></g:HTMLPanel> + <g:Anchor addStyleNames="{style.toolsBarButton} {style.reply}">Reply</g:Anchor> + <g:HTMLPanel tag="span" addStyleNames="{style.dropButton}"> + <g:Anchor addStyleNames="{style.toolsBarButton} {style.replyAll}">Reply all</g:Anchor> + <g:HTMLPanel tag="span" addStyleNames="{style.dropButtonTip}"></g:HTMLPanel> + </g:HTMLPanel> + <g:HTMLPanel tag="span" addStyleNames="{style.dropButton}"> + <g:Anchor addStyleNames="{style.toolsBarButton} {style.forward}">Forward</g:Anchor> + <g:HTMLPanel tag="span" addStyleNames="{style.dropButtonTip}"></g:HTMLPanel> + </g:HTMLPanel> + <g:Anchor addStyleNames="{style.toolsBarButton} {style.delete}">Delete</g:Anchor> + <g:Anchor addStyleNames="{style.toolsBarButton} {style.mark}">Mark</g:Anchor> + <g:Anchor addStyleNames="{style.toolsBarButton} {style.more}">More</g:Anchor> + </g:FlowPanel> + </g:north> + <g:center> + <g:SplitLayoutPanel> + <g:west size="373"> + <g:LayoutPanel + addStyleNames="{style.folderList} {style.uibox} {style.listbox}"> + <g:layer top="0" height="100%"> + <g:SimplePanel> + <g:HTMLPanel></g:HTMLPanel> + </g:SimplePanel> + </g:layer> + <g:layer bottom="0" height="41px"> + <g:SimplePanel styleName="{style.boxfooter}"> + <g:HTMLPanel tag="span"></g:HTMLPanel> + </g:SimplePanel> + </g:layer> + </g:LayoutPanel> + + </g:west> + <g:center> + <g:DockLayoutPanel unit="PCT"> + <g:west size="100"><!-- dynamic layout --> + <g:SplitLayoutPanel> + <g:north size="200"> + <g:LayoutPanel addStyleNames="{style.uibox}"> + <g:layer> + <g:HTMLPanel styleName="{style.southPanel}">MessageList + </g:HTMLPanel> + </g:layer> + <g:layer bottom="0" height="25px"> + <g:HTMLPanel>MessageListFooter + </g:HTMLPanel> + </g:layer> + </g:LayoutPanel> + </g:north> + <g:center> + <g:LayoutPanel addStyleNames="{style.uibox}"> + <g:layer> + <g:HTMLPanel>MessageContent</g:HTMLPanel> + </g:layer> + <g:layer bottom="0" height="25px"> + <g:HTMLPanel styleName="{style.centerPanel}">StatusBar</g:HTMLPanel> + </g:layer> + </g:LayoutPanel> + </g:center> + </g:SplitLayoutPanel> + </g:west> + <g:center size="0"><!-- dynamic layout --> + <g:SplitLayoutPanel> + <g:west size="150"> + <g:HTMLPanel addStyleNames="{style.uibox}">Address</g:HTMLPanel> + </g:west> + <g:center size="100"> + <g:LayoutPanel addStyleNames="{style.uibox}"> + <g:layer> + <g:HTMLPanel styleName="{style.southPanel}">MessageContent + </g:HTMLPanel> + </g:layer> + <g:layer bottom="0" height="25px"> + <g:HTMLPanel styleName="{style.centerPanel}">StatusBar</g:HTMLPanel> + </g:layer> + </g:LayoutPanel> + </g:center> + </g:SplitLayoutPanel> + </g:center> + </g:DockLayoutPanel> + </g:center> + + </g:SplitLayoutPanel> + </g:center> + </g:DockLayoutPanel> + </g:layer> + </g:LayoutPanel> +</ui:UiBinder> Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/buttons.png URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/buttons.png?rev=1522232&view=auto ============================================================================== Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/buttons.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/buttons.png Thu Sep 12 03:40:03 2013 differ Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/hupa_logo_49_transparent.png URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/hupa_logo_49_transparent.png?rev=1522232&view=auto ============================================================================== Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/hupa_logo_49_transparent.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/hupa_logo_49_transparent.png Thu Sep 12 03:40:03 2013 differ Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/linen_header.jpg URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/linen_header.jpg?rev=1522232&view=auto ============================================================================== Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/linen_header.jpg (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/linen_header.jpg Thu Sep 12 03:40:03 2013 differ Added: james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/roundcube_logo.png URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/roundcube_logo.png?rev=1522232&view=auto ============================================================================== Files james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/roundcube_logo.png (added) and james/hupa/trunk/client/src/main/java/org/apache/hupa/client/ui/roundcube_logo.png Thu Sep 12 03:40:03 2013 differ Modified: james/hupa/trunk/client/src/main/webapp/styles.css URL: http://svn.apache.org/viewvc/james/hupa/trunk/client/src/main/webapp/styles.css?rev=1522232&r1=1522231&r2=1522232&view=diff ============================================================================== --- james/hupa/trunk/client/src/main/webapp/styles.css (original) +++ james/hupa/trunk/client/src/main/webapp/styles.css Thu Sep 12 03:40:03 2013 @@ -4522,3 +4522,16 @@ fieldset.tab { margin-left: 0; >>>>>>> refactoring theme 1 - login page } +.gwt-SplitLayoutPanel-HDragger { + cursor: col-resize; + position: absolute; + background: url(images/splitter.png) center no-repeat; + background-position: 0 center; +} + +.gwt-SplitLayoutPanel-VDragger { + cursor: row-resize; + position: absolute; + background: url(images/splitter.png) center no-repeat; + background-position: center 0; +} --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org