You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2013/09/12 05:40:04 UTC
svn commit: r1522232 - in /james/hupa/trunk/client/src/main:
java/org/apache/hupa/ java/org/apache/hupa/client/
java/org/apache/hupa/client/evo/ java/org/apache/hupa/client/ioc/
java/org/apache/hupa/client/ui/ webapp/
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}">echowdx@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-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org