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

Reply via email to