[kune-commits] r1170 - in trunk: . img/icons img/webtemplate src/main/java/cc/kune/core/client src/main/java/cc/kune/core/client/cookies src/main/java/cc/kune/core/client/errors src/main/java/cc/kune/core/client/i18n src/main/java/cc/kune/core/client/init src/main/java/cc/kune/core/client/notify src/main/java/cc/kune/core/client/resources src/main/java/cc/kune/core/client/sitebar src/main/java/cc/kune/core/client/sitebar/logo src/main/java/cc/kune/core/client/state src/main/java/cc/kune/core/client/ws src/main/java/cc/kune/core/public src/main/java/cc/kune/core/public/images src/main/java/cc/kune/core/shared/domain src/main/java/cc/kune/core/shared/domain/utils src/main/java/org/ourproject/kune/app/client src/main/java/org/ourproject/kune/blogs src/main/java/org/ourproject/kune/chat src/main/java/org/ourproject/kune/chat/client src/main/java/org/ourproject/kune/docs src/main/java/org/ourproject/kune/gallery src/main/java/org/ourproject/kune/platf src/main/java/org/ourproject/kune/platf/client/app src/main/java/org/ourproject/kune/platf/client/services src/main/java/org/ourproject/kune/platf/client/utils src/main/java/org/ourproject/kune/wiki src/main/java/org/ourproject/kune/workspace src/main/java/org/ourproject/kune/workspace/client src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo src/test/java/cc/kune/core/client/state

Vicente J. Ruiz Jurado vjrj_ at ourproject.org
Sun Dec 19 03:58:54 CET 2010


Author: vjrj_
Date: 2010-12-19 03:58:53 +0100 (Sun, 19 Dec 2010)
New Revision: 1170

Added:
   trunk/img/icons/loading-spiner.gif
   trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerViewImpl.java
   trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java
   trunk/src/main/java/cc/kune/core/client/init/
   trunk/src/main/java/cc/kune/core/client/init/AppStart.java
   trunk/src/main/java/cc/kune/core/client/init/AppStarter.java
   trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java
   trunk/src/main/java/cc/kune/core/client/init/AppStop.java
   trunk/src/main/java/cc/kune/core/client/init/PrefetchUtilities.java
   trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java
   trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java
   trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml
   trunk/src/main/java/cc/kune/core/client/resources/
   trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
   trunk/src/main/java/cc/kune/core/client/resources/core.css
   trunk/src/main/java/cc/kune/core/client/resources/loading-spiner.gif
   trunk/src/main/java/cc/kune/core/client/sitebar/
   trunk/src/main/java/cc/kune/core/client/sitebar/logo/
   trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java
   trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java
   trunk/src/main/java/cc/kune/core/public/images/
   trunk/src/main/java/cc/kune/core/public/images/kune-logo-16px.png
Removed:
   trunk/src/main/java/cc/kune/core/client/cookies/CookiesView.java
   trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java
   trunk/src/main/java/org/ourproject/kune/platf/client/app/Application.java
   trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java
   trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo/SiteLogoPanel.java
Modified:
   trunk/TODO
   trunk/img/webtemplate/web_template-2011.svg
   trunk/pom.xml
   trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
   trunk/src/main/java/cc/kune/core/client/CoreGinjector.java
   trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java
   trunk/src/main/java/cc/kune/core/client/errors/DefaultException.java
   trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
   trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
   trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java
   trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java
   trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java
   trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java
   trunk/src/main/java/cc/kune/core/client/state/Session.java
   trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
   trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
   trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java
   trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java
   trunk/src/main/java/cc/kune/core/public/ws.css
   trunk/src/main/java/cc/kune/core/public/ws.html
   trunk/src/main/java/cc/kune/core/shared/domain/TagCloudResult.java
   trunk/src/main/java/cc/kune/core/shared/domain/utils/AccessRights.java
   trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java
   trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml
   trunk/src/main/java/org/ourproject/kune/chat/KuneChat.gwt.xml
   trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java
   trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java
   trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml
   trunk/src/main/java/org/ourproject/kune/gallery/KuneGallery.gwt.xml
   trunk/src/main/java/org/ourproject/kune/platf/KunePlatform.gwt.xml
   trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java
   trunk/src/main/java/org/ourproject/kune/wiki/KuneWiki.gwt.xml
   trunk/src/main/java/org/ourproject/kune/workspace/KuneWorkspace.gwt.xml
   trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
   trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java
Log:
Some more MVC patterns

Modified: trunk/TODO
===================================================================
--- trunk/TODO	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/TODO	2010-12-19 02:58:53 UTC (rev 1170)
@@ -11,6 +11,9 @@
    Use org-mode in emacs to easy manage this file
 
 * SHORT-TERM (URGENT)
+** Update Dev Guide
+*** Annotations generation http://code.google.com/p/gwt-platform/wiki/BoilerplateGeneration#Eclipse
+*** Add -startupUrl to your GWT Run launch with /ws/?locale=en&log_level=INFO (or similar)
 ** new UI library (gwt-ext is dead)
 - mosaic, 
 - gtx

Added: trunk/img/icons/loading-spiner.gif
===================================================================
(Binary files differ)


Property changes on: trunk/img/icons/loading-spiner.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/img/webtemplate/web_template-2011.svg
===================================================================
--- trunk/img/webtemplate/web_template-2011.svg	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/img/webtemplate/web_template-2011.svg	2010-12-19 02:58:53 UTC (rev 1170)
@@ -51,16 +51,16 @@
      borderopacity="1.0"
      inkscape:pageopacity="0"
      inkscape:pageshadow="2"
-     inkscape:zoom="0.6953125"
-     inkscape:cx="512"
-     inkscape:cy="729.16854"
+     inkscape:zoom="1"
+     inkscape:cx="174.00056"
+     inkscape:cy="641.30184"
      inkscape:current-layer="layer1"
      inkscape:document-units="px"
      showgrid="false"
      inkscape:window-width="1280"
-     inkscape:window-height="749"
+     inkscape:window-height="977"
      inkscape:window-x="0"
-     inkscape:window-y="1024"
+     inkscape:window-y="20"
      inkscape:window-maximized="1"
      inkscape:snap-bbox="true"
      inkscape:bbox-paths="true"
@@ -94,7 +94,7 @@
         <dc:format>image/svg+xml</dc:format>
         <dc:type
            rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
+        <dc:title />
       </cc:Work>
     </rdf:RDF>
   </metadata>
@@ -2208,6 +2208,15 @@
        inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90" />
+    <rect
+       style="color:#000000;fill:#feb295;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect4635"
+       width="87.859406"
+       height="19.905512"
+       x="130.07086"
+       y="111.27247"
+       rx="4"
+       ry="4" />
     <g
        style="opacity:0.5;display:inline"
        id="g5064"
@@ -2456,7 +2465,7 @@
          id="tspan3098"
          x="91.84803"
          y="201.77293"
-         style="-inkscape-font-specification:Ubuntu Bold;font-family:Ubuntu;font-weight:bold;font-style:normal;font-stretch:normal;font-variant:normal">Name of the Initiative</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold">Name of the Initiative</tspan></text>
     <text
        sodipodi:linespacing="125%"
        id="text3073-8"
@@ -2580,7 +2589,7 @@
          id="tspan3926"
          sodipodi:role="line"
          x="543.98315"
-         y="708.99359"
+         y="708.89807"
          style="font-size:16px"><tspan
            style="font-size:16px;fill:#784421"
            id="tspan3930">English</tspan><tspan
@@ -2670,7 +2679,7 @@
          sodipodi:role="line"
          id="tspan14835" /><tspan
          style="font-size:16px;fill:#280b0b"
-         y="710.39124"
+         y="710.29572"
          x="377.75659"
          sodipodi:role="line"
          id="tspan14837"><tspan
@@ -3211,14 +3220,14 @@
    id="tspan19968" /></tspan><tspan
          sodipodi:role="line"
          x="833"
-         y="728.54651"
+         y="728.30774"
          style="fill:#000080"
          id="tspan19970"><tspan
            style="font-size:12px;fill:#000080"
            id="tspan19972">resilience         sustainability</tspan></tspan><tspan
          sodipodi:role="line"
          x="833"
-         y="743.69556"
+         y="743.55231"
          style="fill:#000080"
          id="tspan19974">environmentalism</tspan></text>
     <image
@@ -3269,7 +3278,7 @@
          id="tspan22977"
          sodipodi:role="line"
          x="633.75659"
-         y="743.39124"
+         y="743.29572"
          style="font-size:16px"><tspan
            style="font-size:16px;fill:#784421"
            id="tspan22979">License:</tspan></tspan></text>
@@ -3409,7 +3418,7 @@
          sodipodi:linespacing="100%"><tspan
            sodipodi:role="line"
            id="tspan25503"
-           x="798.60547"
+           x="798.04688"
            y="163">See this in the </tspan><tspan
            id="tspan25505"
            sodipodi:role="line"
@@ -3441,7 +3450,7 @@
          sodipodi:role="line"
          id="tspan3672" /><tspan
          style="font-size:16px"
-         y="743.39124"
+         y="743.29572"
          x="25.756592"
          sodipodi:role="line"
          id="tspan3674"><tspan
@@ -3896,7 +3905,7 @@
          id="tspan4990"
          sodipodi:role="line"
          x="29.756592"
-         y="708.39124"
+         y="708.29572"
          style="font-size:16px"><tspan
            style="font-size:16px;fill:#784421"
            id="tspan4992">Tags:</tspan></tspan></text>
@@ -4430,6 +4439,43 @@
        inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/def-theme-doc-arrow-down.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90" />
+    <image
+       y="112.88816"
+       x="135.45085"
+       id="image4632"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAV5JREFU
+OI2lk01OAkEQhb8axgGG30EiEEiMLoxuvK1X8ABewDsQdy4gBhNiJgg4IuhMl4vWAQSFxFp2+n2v
+XnW1mJsr5R/l/jyQSh3qbai1oVhFb6/3B0jnDDrnUArAcTZvOw4Ysx0grRM4uQTXQx/vkXAAk3CD
+IRkXTeJ1gJQC6FxAxoX+HfS6bB2MMeB5FvI+t00BELQg56PDPtrr/pmZJIaMi2TcJUArddteOPhb
+DKgaEAe83BIgfhmSD5huZt4aAyyE7yEakx7sVQcemGQlwssI1IBf3qkVL2fNkhWARCPbRdDc7Z7N
+W4CaJYDREH0dQ62JNI5/d/fLkC9Z8dczugA6myJPD2jrFI6OES8P09BGAyRXhKwPhbIVLmbpMqWb
+qOEASWI4bKGlGhSq0IgRk9i8SQzzCKIx+halXa39BX0eIvMIKVTtQL2sFc8msHiD2TTdwK0AwNJX
+HHbVJ0YdhWYwKlACAAAAAElFTkSuQmCC
+"
+       height="16"
+       width="16" />
+    <text
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
+       sodipodi:linespacing="125%"
+       id="text4717"
+       y="125.59216"
+       x="153.17085"
+       style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+       xml:space="preserve"><tspan
+         y="125.59216"
+         x="153.17085"
+         id="tspan4719"
+         sodipodi:role="line"
+         style="font-size:16px;font-weight:bold;-inkscape-font-specification:Ubuntu Bold">Loading</tspan></text>
+    <rect
+       style="color:#000000;fill:#feb295;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect4721"
+       width="87.663948"
+       height="3.7137473"
+       x="130.07883"
+       y="111.25339" />
   </g>
   <g
      inkscape:groupmode="layer"

Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/pom.xml	2010-12-19 02:58:53 UTC (rev 1170)
@@ -66,7 +66,7 @@
 		<dependency>
 			<groupId>cc.kune.core.ws.armor</groupId>
 			<artifactId>ws-armor</artifactId>
-			<version>0.0.6</version>
+			<version>0.0.7</version>
 		</dependency>
 		<dependency>
 			<groupId>com.gwtplatform</groupId>

Modified: trunk/src/main/java/cc/kune/core/client/CoreGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinModule.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinModule.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,24 +1,33 @@
 package cc.kune.core.client;
 
+import cc.kune.core.client.cookies.CookiesManager;
+import cc.kune.core.client.cookies.CookiesManagerViewImpl;
 import cc.kune.core.client.errors.ErrorHandler;
 import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.init.AppStarter;
+import cc.kune.core.client.init.AppStarterDefault;
+import cc.kune.core.client.init.PrefetchUtilities;
 import cc.kune.core.client.notify.SpinerPresenter;
 import cc.kune.core.client.notify.SpinerViewImpl;
 import cc.kune.core.client.notify.UserNotifierPresenter;
 import cc.kune.core.client.notify.UserNotifierPresenter.UserNotifierProxy;
 import cc.kune.core.client.notify.UserNotifierViewImpl;
+import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
+import cc.kune.core.client.sitebar.logo.SiteLogoViewImpl;
 import cc.kune.core.client.state.ContentProvider;
 import cc.kune.core.client.state.ContentProviderDefault;
 import cc.kune.core.client.state.HistoryWrapper;
 import cc.kune.core.client.state.HistoryWrapperDefault;
 import cc.kune.core.client.state.Session;
 import cc.kune.core.client.state.SessionDefault;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.client.state.StateManagerDefault;
 import cc.kune.core.client.ws.CorePlaceManager;
 import cc.kune.core.client.ws.CorePresenter;
 import cc.kune.core.client.ws.CoreViewImpl;
 import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.core.ws.armor.client.Body;
-import cc.kune.core.ws.armor.client.IBody;
+import cc.kune.core.ws.armor.client.WsArmor;
+import cc.kune.core.ws.armor.client.WsArmorImpl;
 
 import com.google.inject.Singleton;
 import com.gwtplatform.mvp.client.DefaultEventBus;
@@ -31,9 +40,6 @@
 import com.gwtplatform.mvp.client.proxy.ProxyFailureHandler;
 import com.gwtplatform.mvp.client.proxy.TokenFormatter;
 
-/**
- * The Class Core GinModule.
- */
 public class CoreGinModule extends AbstractPresenterModule {
 
     /*
@@ -56,14 +62,20 @@
                 SpinerPresenter.SpinerProxy.class);
         bindPresenter(UserNotifierPresenter.class, UserNotifierPresenter.UserNotifierView.class,
                 UserNotifierViewImpl.class, UserNotifierProxy.class);
+        bindPresenter(CookiesManager.class, CookiesManager.CookiesManagerView.class, CookiesManagerViewImpl.class,
+                CookiesManager.CookiesManagerProxy.class);
+        bindPresenter(SiteLogoPresenter.class, SiteLogoPresenter.SiteLogoView.class, SiteLogoViewImpl.class,
+                SiteLogoPresenter.SiteLogoProxy.class);
 
-        bind(IBody.class).to(Body.class).in(Singleton.class);
+        bind(WsArmorImpl.class).in(Singleton.class);
+        bind(WsArmor.class).to(WsArmorImpl.class);
         bind(Session.class).to(SessionDefault.class).in(Singleton.class);
         bind(I18nTranslationService.class).to(I18nUITranslationService.class).in(Singleton.class);
         bind(ErrorHandler.class).in(Singleton.class);
-      //  bind(ContentProvider.class).to(ContentProviderDefault.class).in(Singleton.class);
+        bind(StateManager.class).to(StateManagerDefault.class).in(Singleton.class);
+        bind(ContentProvider.class).to(ContentProviderDefault.class).in(Singleton.class);
         bind(HistoryWrapper.class).to(HistoryWrapperDefault.class).in(Singleton.class);
-        // bind(StateManager.class).to(StateManagerDefault.class).in(Singleton.class);
+        bind(PrefetchUtilities.class).in(Singleton.class);
+        bind(AppStarter.class).to(AppStarterDefault.class).in(Singleton.class);
     }
-
 }

Modified: trunk/src/main/java/cc/kune/core/client/CoreGinjector.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreGinjector.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/CoreGinjector.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,7 +1,9 @@
 package cc.kune.core.client;
 
+import cc.kune.core.client.cookies.CookiesManager;
 import cc.kune.core.client.notify.SpinerPresenter;
 import cc.kune.core.client.notify.UserNotifierPresenter;
+import cc.kune.core.client.sitebar.logo.SiteLogoPresenter;
 import cc.kune.core.client.ws.CorePresenter;
 
 import com.google.gwt.inject.client.AsyncProvider;
@@ -14,16 +16,20 @@
 @GinModules({ CoreGinModule.class })
 public interface CoreGinjector extends Ginjector {
 
-	AsyncProvider<CorePresenter> getCorePresenter();
+    AsyncProvider<CorePresenter> getCorePresenter();
 
-	EventBus getEventBus();
+    AsyncProvider<CookiesManager> getCookiesManager();
 
-	PlaceManager getPlaceManager();
+    EventBus getEventBus();
 
-	ProxyFailureHandler getProxyFailureHandler();
+    PlaceManager getPlaceManager();
 
-	AsyncProvider<SpinerPresenter> getSpinerPresenter();
+    ProxyFailureHandler getProxyFailureHandler();
 
-	AsyncProvider<UserNotifierPresenter> getUserNotifierPresenter();
+    AsyncProvider<SpinerPresenter> getSpinerPresenter();
 
+    AsyncProvider<SiteLogoPresenter> getSiteLogoPresenter();
+
+    AsyncProvider<UserNotifierPresenter> getUserNotifierPresenter();
+
 }
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/cookies/CookiesManager.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,25 +1,33 @@
 package cc.kune.core.client.cookies;
 
-import cc.kune.core.client.state.Session;
-
-import com.google.gwt.user.client.Cookies;
 import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.proxy.Proxy;
 
-public class CookiesManager {
-    public interface ICookiesView {
+public class CookiesManager extends Presenter<CookiesManager.CookiesManagerView, CookiesManager.CookiesManagerProxy> {
+
+    @ProxyCodeSplit
+    public interface CookiesManagerProxy extends Proxy<CookiesManager> {
+    }
+
+    public interface CookiesManagerView extends View {
         String getCurrentCookie();
     }
 
     @Inject
-    public CookiesManager() {
+    public CookiesManager(final EventBus eventBus, final CookiesManagerView view, final CookiesManagerProxy proxy) {
+        super(eventBus, view, proxy);
     }
 
     public String getCurrentCookie() {
-        return Cookies.getCookie(Session.USERHASH);
-        // view.getCurrentCookie();
+        return getView().getCurrentCookie();
     }
 
-    public void onDoNothing() {
+    @Override
+    protected void revealInParent() {
     }
 
 }

Copied: trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerViewImpl.java (from rev 1168, trunk/src/main/java/cc/kune/core/client/cookies/CookiesView.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerViewImpl.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerViewImpl.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,27 @@
+package cc.kune.core.client.cookies;
+
+import cc.kune.core.client.cookies.CookiesManager.CookiesManagerView;
+import cc.kune.core.client.state.Session;
+
+import com.google.gwt.user.client.Cookies;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class CookiesManagerViewImpl extends ViewImpl implements CookiesManagerView {
+
+    @Inject
+    public CookiesManagerViewImpl() {
+    }
+
+    @Override
+    public String getCurrentCookie() {
+        return Cookies.getCookie(Session.USERHASH);
+    }
+
+    @Override
+    public Widget asWidget() {
+        return null;
+    }
+
+}


Property changes on: trunk/src/main/java/cc/kune/core/client/cookies/CookiesManagerViewImpl.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Deleted: trunk/src/main/java/cc/kune/core/client/cookies/CookiesView.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/cookies/CookiesView.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/cookies/CookiesView.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,19 +0,0 @@
-package cc.kune.core.client.cookies;
-
-import cc.kune.core.client.cookies.CookiesManager.ICookiesView;
-import cc.kune.core.client.state.Session;
-
-import com.google.gwt.user.client.Cookies;
-import com.google.inject.Inject;
-
-public class CookiesView implements ICookiesView {
-
-    @Inject
-    public CookiesView() {
-    }
-
-    public String getCurrentCookie() {
-        return Cookies.getCookie(Session.USERHASH);
-    }
-
-}

Modified: trunk/src/main/java/cc/kune/core/client/errors/DefaultException.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/DefaultException.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/errors/DefaultException.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -19,10 +19,10 @@
  \*/
 package cc.kune.core.client.errors;
 
+import com.google.gwt.user.client.rpc.InvocationException;
 import com.google.gwt.user.client.rpc.IsSerializable;
-import com.google.gwt.user.client.rpc.StatusCodeException;
 
-public class DefaultException extends StatusCodeException implements IsSerializable {
+public class DefaultException extends InvocationException implements IsSerializable {
 
     private static final long serialVersionUID = -6111471089427505005L;
 
@@ -31,7 +31,7 @@
     }
 
     public DefaultException(final int statusCode, final String message) {
-        super(statusCode, message);
+        super(statusCode + " " + message);
     }
 
     public DefaultException(final String message) {

Modified: trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/errors/ErrorHandler.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -22,7 +22,7 @@
 import org.ourproject.common.client.notify.NotifyLevel;
 
 import cc.kune.core.client.notify.AlertEvent;
-import cc.kune.core.client.notify.SpinerPresenter;
+import cc.kune.core.client.notify.ProgressHideEvent;
 import cc.kune.core.client.notify.UserNotifyEvent;
 import cc.kune.core.client.state.Session;
 import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -40,18 +40,16 @@
     private final Session session;
     private final I18nTranslationService i18n;
     private final Event0 onSessionExpired;
-    private final SpinerPresenter spiner;
     private final PlaceManager placeManager;
-	private final EventBus eventBus;
+    private final EventBus eventBus;
 
     @Inject
-    public ErrorHandler(final Session session, final I18nTranslationService i18n,
-            final SpinerPresenter spiner, final PlaceManager placeManager, EventBus eventBus) {
+    public ErrorHandler(final Session session, final I18nTranslationService i18n, final PlaceManager placeManager,
+            EventBus eventBus) {
         this.session = session;
         this.i18n = i18n;
-        this.spiner = spiner;
         this.placeManager = placeManager;
-		this.eventBus = eventBus;
+        this.eventBus = eventBus;
         this.onSessionExpired = new Event0("onSessionExpired");
     }
 
@@ -65,10 +63,11 @@
     }
 
     public void process(final Throwable caught) {
-        spiner.fade();
+        eventBus.fireEvent(new ProgressHideEvent());
         if (caught instanceof AccessViolationException) {
             logException(caught);
-            eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, i18n.t("You do not have rights to perform that action")));
+            eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error,
+                    i18n.t("You do not have rights to perform that action")));
         } else if (caught instanceof SessionExpiredException) {
             logException(caught);
             doSessionExpired();
@@ -77,7 +76,8 @@
             if (session.isLogged()) {
                 doSessionExpired();
             } else {
-                eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.important, i18n.t("Please sign in or register to collaborate")));
+                eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.important,
+                        i18n.t("Please sign in or register to collaborate")));
             }
         } else if (caught instanceof GroupNotFoundException) {
             logException(caught);

Copied: trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java (from rev 1168, trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,7 @@
+package cc.kune.core.client.i18n;
+
+import com.gwtplatform.annotation.GenEvent;
+
+ at GenEvent
+public class I18nReady {
+}
\ No newline at end of file


Property changes on: trunk/src/main/java/cc/kune/core/client/i18n/I18nReady.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Deleted: trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nReadyEvent.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,32 +0,0 @@
-package cc.kune.core.client.i18n;
-
-import com.google.gwt.event.shared.EventHandler;
-import com.google.gwt.event.shared.GwtEvent;
-
-public class I18nReadyEvent extends GwtEvent<I18nReadyEvent.I18nReadyHandler> {
-
-    public interface I18nReadyHandler extends EventHandler {
-
-        void fire(I18nReadyEvent event);
-    }
-
-    public static final GwtEvent.Type<I18nReadyHandler> TYPE = new GwtEvent.Type<I18nReadyHandler>();
-
-    public static Type<I18nReadyHandler> getType() {
-        return TYPE;
-    }
-
-    public I18nReadyEvent() {
-    }
-
-    @Override
-    public com.google.gwt.event.shared.GwtEvent.Type<I18nReadyHandler> getAssociatedType() {
-        return TYPE;
-    }
-
-    @Override
-    protected void dispatch(final I18nReadyHandler handler) {
-        handler.fire(this);
-    }
-
-}
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/i18n/I18nUITranslationService.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -71,6 +71,7 @@
                     public void onSuccess(final HashMap<String, String> result) {
                         lexicon = result;
                         session.setCurrentLanguage(currentLang);
+                        eventBus.fireEvent(new I18nReadyEvent());
                     }
                 });
             }

Added: trunk/src/main/java/cc/kune/core/client/init/AppStart.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStart.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStart.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,12 @@
+package cc.kune.core.client.init;
+
+import cc.kune.core.shared.dto.InitDataDTO;
+
+import com.gwtplatform.annotation.GenEvent;
+import com.gwtplatform.annotation.Order;
+
+ at GenEvent
+public class AppStart {
+    @Order(1)
+    InitDataDTO initData;
+}


Property changes on: trunk/src/main/java/cc/kune/core/client/init/AppStart.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: trunk/src/main/java/cc/kune/core/client/init/AppStarter.java (from rev 1168, trunk/src/main/java/org/ourproject/kune/platf/client/app/Application.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStarter.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStarter.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,27 @@
+/*
+ *
+ * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.init;
+
+
+public interface AppStarter {
+
+    void start();
+
+}

Copied: trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java (from rev 1168, trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStarterDefault.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,98 @@
+/*
+ *
+ * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.init;
+
+import org.ourproject.common.client.notify.NotifyLevel;
+
+import cc.kune.core.client.notify.ProgressHideEvent;
+import cc.kune.core.client.notify.UserNotifyEvent;
+import cc.kune.core.client.rpcservices.SiteServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.InitDataDTO;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
+import com.google.gwt.user.client.Timer;
+import com.google.gwt.user.client.Window;
+import com.google.gwt.user.client.Window.ClosingEvent;
+import com.google.gwt.user.client.Window.ClosingHandler;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+
+public class AppStarterDefault implements AppStarter {
+    private final Session session;
+    private final SiteServiceAsync siteService;
+    private final EventBus eventBus;
+    private final PrefetchUtilities prefetchUtilities;
+
+    @Inject
+    public AppStarterDefault(final Session session, final SiteServiceAsync siteService, final EventBus eventBus,
+            PrefetchUtilities prefetchUtilities) {
+        this.session = session;
+        this.siteService = siteService;
+        this.eventBus = eventBus;
+        this.prefetchUtilities = prefetchUtilities;
+        Window.addWindowClosingHandler(new ClosingHandler() {
+            @Override
+            public void onWindowClosing(final ClosingEvent event) {
+                eventBus.fireEvent(new AppStopEvent());
+            }
+        });
+    }
+
+    @Override
+    public void start() {
+        prefetchUtilities.preFetchImpImages();
+        getInitData();
+        final Timer prefetchTimer = new Timer() {
+            @Override
+            public void run() {
+                prefetchUtilities.doTasksDeferred();
+            }
+        };
+        prefetchTimer.schedule(20000);
+    }
+
+    private void getInitData() {
+        siteService.getInitData(session.getUserHash(), new AsyncCallback<InitDataDTO>() {
+            @Override
+            public void onFailure(final Throwable error) {
+                eventBus.fireEvent(new ProgressHideEvent());
+                eventBus.fireEvent(new UserNotifyEvent(NotifyLevel.error, "Error fetching initial data"));
+                Log.debug(error.getMessage());
+            }
+
+            @Override
+            public void onSuccess(final InitDataDTO initData) {
+                session.setInitData(initData);
+                session.setCurrentUserInfo(initData.getUserInfo());
+                eventBus.fireEvent(new AppStartEvent(initData));
+                Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+                    @Override
+                    public void execute() {
+                        eventBus.fireEvent(new ProgressHideEvent());
+                    }
+                });
+            }
+        });
+    }
+}

Added: trunk/src/main/java/cc/kune/core/client/init/AppStop.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/AppStop.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/AppStop.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,8 @@
+package cc.kune.core.client.init;
+
+import com.gwtplatform.annotation.GenEvent;
+
+ at GenEvent
+public class AppStop {
+
+}


Property changes on: trunk/src/main/java/cc/kune/core/client/init/AppStop.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: trunk/src/main/java/cc/kune/core/client/init/PrefetchUtilities.java (from rev 1168, trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/PrefetchUtilities.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/init/PrefetchUtilities.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,121 @@
+/*
+ *
+ * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.init;
+
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.RepeatingCommand;
+import com.google.gwt.user.client.ui.Image;
+
+public class PrefetchUtilities {
+    public PrefetchUtilities() {
+    }
+
+    public void doTasksDeferred() {
+
+        Scheduler.get().scheduleIncremental(new RepeatingCommand() {
+            int i = 0;
+            int j = 0;
+
+            String[] lic = { "gnu-fdl.gif", "bynd80x15.png", "byncsa80x15.png", "byncnd80x15.png", "bync80x15.png",
+                    "by80x15.png", "fal-license.gif" };
+
+            String[] ext = {};
+
+            // "default/form/text-bg.gif", "default/form/trigger.gif",
+            // "default/form/date-trigger.gif",
+            // "gray/window/left-corners.png", "gray/button/btn-sprite.gif",
+            // "gray/window/top-bottom.png",
+            // "gray/window/right-corners.png", "gray/window/left-right.png",
+            // "default/sizer/s-handle.gif",
+            // "default/sizer/e-handle.gif", "default/sizer/ne-handle.gif",
+            // "default/sizer/se-handle.gif",
+            // "default/sizer/sw-handle.gif", "gray/panel/tool-sprites.gif",
+            // "default/sizer/nw-handle.gif",
+            // "gray/tabs/tabs-sprite.gif", "gray/tabs/tab-strip-bg.gif",
+            // "default/shadow.png",
+            // "default/shadow-lr.png", "default/shadow-c.png",
+            // "default/grid/invalid_line.gif",
+            // "default/form/exclamation.gif", "default/box/tb-blue.gif",
+            // "default/grid/loading.gif",
+            // "gray/toolbar/bg.gif", "default/grid/grid3-hrow.gif",
+            // "default/dd/drop-no.gif",
+            // "default/grid/col-move-top.gif",
+            // "default/grid/col-move-bottom.gif", "default/grid/row-over.gif",
+            // "default/grid/grid-split.gif",
+            // "default/grid/page-first-disabled.gif",
+            // "default/grid/page-last-disabled.gif", "default/grid/done.gif",
+            // "default/grid/page-prev-disabled.gif", "default/grid/done.gif",
+            // "default/grid/page-next-disabled.gif",
+            // "default/qtip/tip-sprite.gif",
+            // "default/grid/grid3-hrow-over.gif",
+            // "default/grid/grid3-hd-btn.gif",
+            // "gray/panel/white-top-bottom.gif", "gray/tabs/tab-close.gif",
+            // "gray/toolbar/btn-arrow.gif",
+            // "gray/toolbar/tb-btn-sprite.gif", "gray/panel/light-hd.gif" };
+
+            @Override
+            public boolean execute() {
+
+                while (i < lic.length) {
+                    final String licImg = lic[i];
+                    Image.prefetch("images/lic/" + licImg);
+                    i++;
+                }
+
+                while (j < ext.length) {
+                    final String extImg = ext[j];
+                    Image.prefetch("js/ext/resources/images/" + extImg);
+                    j++;
+                }
+
+                final boolean notFinished = i + j < lic.length + ext.length;
+
+                final boolean finished = !notFinished;
+
+                if (finished) {
+                    // In the future maybe: workspace.getLoginComponent()
+                }
+
+                return notFinished;
+            }
+        });
+    }
+
+    public void preFetchImpImages() {
+        final String[] imgs = {};
+        // "images/spin-kune-thund-green.gif", "css/img/button-bg-hard.gif",
+        // "css/img/button-bg-soft.gif", "css/img/arrow-down-white.gif",
+        // "css/img/arrow-right-white.gif",
+        // "images/lic/bysa80x15.png", "images/nav/blog.png",
+        // "images/nav/download.png", "images/nav/film.png",
+        // "images/nav/folder.png", "images/nav/gallery.png",
+        // "images/nav/go.png", "images/nav/page_pdf.png",
+        // "images/nav/page.png", "images/nav/page_pps.png",
+        // "images/nav/page_text.png",
+        // "images/nav/page_word.png", "images/nav/page_zip.png",
+        // "images/nav/picture.png", "images/nav/post.png",
+        // "images/nav/refresh.png", "images/nav/room_add.png",
+        // "images/nav/room.png", "images/nav/upload.png",
+        // "images/nav/wikipage.png", "images/nav/wiki.png" };
+        for (final String img : imgs) {
+            Image.prefetch(img);
+        }
+    }
+}

Added: trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,7 @@
+package cc.kune.core.client.notify;
+
+import com.gwtplatform.annotation.GenEvent;
+
+ at GenEvent
+public class ProgressHide {
+}


Property changes on: trunk/src/main/java/cc/kune/core/client/notify/ProgressHide.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,10 @@
+package cc.kune.core.client.notify;
+
+import com.gwtplatform.annotation.GenEvent;
+import com.gwtplatform.annotation.Order;
+
+ at GenEvent
+public class ProgressShow {
+    @Order(1)
+    String message;
+}


Property changes on: trunk/src/main/java/cc/kune/core/client/notify/ProgressShow.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerPresenter.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,48 +1,56 @@
 package cc.kune.core.client.notify;
 
+import cc.kune.core.client.i18n.I18nReadyEvent;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
 import com.google.inject.Inject;
 import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.PopupView;
 import com.gwtplatform.mvp.client.Presenter;
-import com.gwtplatform.mvp.client.View;
 import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
-import com.gwtplatform.mvp.client.annotations.ProxyStandard;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
 import com.gwtplatform.mvp.client.proxy.Proxy;
-import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
+import com.gwtplatform.mvp.client.proxy.RevealRootPopupContentEvent;
 
 public class SpinerPresenter extends Presenter<SpinerPresenter.SpinerView, SpinerPresenter.SpinerProxy> {
-	
-	@ProxyCodeSplit
+
+    private final I18nTranslationService i18n;
+
+    @ProxyCodeSplit
     public interface SpinerProxy extends Proxy<SpinerPresenter> {
     }
 
-    public interface SpinerView extends View {
-
+    public interface SpinerView extends PopupView {
         void fade();
 
         void show(String message);
-
-        void showLoading();
     }
 
     @Inject
-    public SpinerPresenter(final EventBus eventBus, final SpinerView view, final SpinerProxy proxy) {
+    public SpinerPresenter(final EventBus eventBus, final SpinerView view, final SpinerProxy proxy,
+            I18nTranslationService i18n) {
         super(eventBus, view, proxy);
+        this.i18n = i18n;
     }
 
-    public void fade() {
-        getView().fade();
+    @ProxyEvent
+    public void onProgressShow(ProgressShowEvent event) {
+        getView().show(event.getMessage());
     }
 
-    public void show(final String message) {
-        getView().show(message);
+    @ProxyEvent
+    public void onI18nReady(I18nReadyEvent event) {
+        getView().show(i18n.t("Loading"));
     }
 
-    public void showLoading() {
-        getView().showLoading();
+    @ProxyEvent
+    public void onProgressHide(ProgressHideEvent event) {
+        getView().fade();
     }
 
     @Override
     protected void revealInParent() {
-        RevealRootContentEvent.fire(this, this);
+        RevealRootPopupContentEvent.fire(this, this);
+        // RevealRootContentEvent.fire(this, this);
     }
 }

Modified: trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,38 +1,59 @@
 package cc.kune.core.client.notify;
 
 import cc.kune.core.client.notify.SpinerPresenter.SpinerView;
+import cc.kune.core.ws.armor.client.WsArmor;
 
-import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.uibinder.client.UiBinder;
+import com.google.gwt.uibinder.client.UiField;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.InlineLabel;
 import com.google.gwt.user.client.ui.Widget;
-import com.gwtplatform.mvp.client.ViewImpl;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.PopupViewWithUiHandlers;
+import com.gwtplatform.mvp.client.UiHandlers;
 
-public class SpinerViewImpl extends ViewImpl implements SpinerView {
+public class SpinerViewImpl extends PopupViewWithUiHandlers<UiHandlers> implements SpinerView {
 
-    private final Label label;
+    @Inject
+    protected SpinerViewImpl(EventBus eventBus, WsArmor armor) {
+        super(eventBus);
+        widget = uiBinder.createAndBindUi(this);
+        armor.getSitebar().add(widget);
+    }
 
-    public SpinerViewImpl() {
-        label = new Label();
+    private static SpinerViewImplUiBinder uiBinder = GWT.create(SpinerViewImplUiBinder.class);
+
+    interface SpinerViewImplUiBinder extends UiBinder<Widget, SpinerViewImpl> {
     }
 
+    @UiField
+    HorizontalPanel panel;
+    @UiField
+    InlineLabel label;
+    @UiField
+    Image img;
+    Widget widget;
+
     @Override
     public Widget asWidget() {
-        return label;
+        return widget;
     }
 
     @Override
     public void fade() {
-        // TODO Auto-generated method stub
-
+        panel.setVisible(false);
     }
 
     @Override
-    public void show(final String message) {
-        label.setText(message);
+    public void show(String message) {
+        if (message == null || message.isEmpty()) {
+            label.setText("Fixme");
+        } else {
+            label.setText(message);
+        }
+        panel.setVisible(true);
     }
-
-    @Override
-    public void showLoading() {
-        label.setText("FIXME");
-    }
-
 }

Added: trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,11 @@
+<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
+<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
+	xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:p1="urn:import:com.extjs.gxt.ui.client.widget">
+	<ui:with field='res' type='cc.kune.core.client.resources.CoreResources' />
+	<g:FlowPanel>
+		<g:HorizontalPanel ui:field="panel" styleName="kLoadingPanel" verticalAlignment="ALIGN_MIDDLE" horizontalAlignment="ALIGN_CENTER" borderWidth="0">
+			<g:Image ui:field="img" styleName="{res.css.loadingSpiner}" />
+			<g:InlineLabel ui:field="label" styleName="kLoadingLabel" horizontalAlignment="ALIGN_CENTER" />
+		</g:HorizontalPanel>
+	</g:FlowPanel>
+</ui:UiBinder> 
\ No newline at end of file


Property changes on: trunk/src/main/java/cc/kune/core/client/notify/SpinerViewImpl.ui.xml
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/notify/UserNotifierPresenter.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -3,67 +3,49 @@
 import org.ourproject.common.client.notify.ConfirmationAsk;
 import org.ourproject.common.client.notify.NotifyLevel;
 
-import cc.kune.core.client.notify.AlertEvent.AlertHandler;
 import cc.kune.core.client.notify.UserNotifierPresenter.UserNotifierProxy;
 import cc.kune.core.client.notify.UserNotifierPresenter.UserNotifierView;
-import cc.kune.core.client.notify.UserNotifyEvent.UserNotifyHandler;
 
+import com.google.gwt.user.client.ui.RootPanel;
 import com.google.inject.Inject;
 import com.gwtplatform.mvp.client.EventBus;
 import com.gwtplatform.mvp.client.Presenter;
 import com.gwtplatform.mvp.client.View;
 import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
 import com.gwtplatform.mvp.client.annotations.ProxyEvent;
-import com.gwtplatform.mvp.client.annotations.ProxyStandard;
 import com.gwtplatform.mvp.client.proxy.Proxy;
 
-public class UserNotifierPresenter extends
-		Presenter<UserNotifierView, UserNotifierProxy> {
-	@ProxyCodeSplit
-	public interface UserNotifierProxy extends
-			Proxy<UserNotifierPresenter> {
-	}
+public class UserNotifierPresenter extends Presenter<UserNotifierView, UserNotifierProxy> {
+    @ProxyCodeSplit
+    public interface UserNotifierProxy extends Proxy<UserNotifierPresenter> {
+    }
 
-	public interface UserNotifierView extends View {
-		public void alert(String title, String message);
+    public interface UserNotifierView extends View {
+        public void alert(String title, String message);
 
-		public void confirmationAsk(ConfirmationAsk<?> ask);
+        public void confirmationAsk(ConfirmationAsk<?> ask);
 
-		public void notify(NotifyLevel level, String message);
-	}
+        public void notify(NotifyLevel level, String message);
+    }
 
-	@Inject
-	public UserNotifierPresenter(final EventBus eventBus,
-			final UserNotifierView view, final UserNotifierProxy proxy) {
-		super(eventBus, view, proxy);
-		addRegisteredHandler(UserNotifyEvent.getType(),
-				new UserNotifyHandler() {
-					@Override
-					public void onUserNotify(UserNotifyEvent event) {
-						view.notify(event.getLevel(), event.getMessage());
-					}
-				});
-		addRegisteredHandler(AlertEvent.getType(), new AlertHandler() {
-			@Override
-			public void onAlert(AlertEvent event) {
-				view.alert(event.getTitle(), event.getMessage());
-			}
-		});
-	}
+    @Inject
+    public UserNotifierPresenter(final EventBus eventBus, final UserNotifierView view, final UserNotifierProxy proxy) {
+        super(eventBus, view, proxy);
+    }
 
-	@ProxyEvent
-	public void onUserNotify(UserNotifyEvent event) {
-		// FIXME test this
-		getView().notify(event.getLevel(), event.getMessage());
-	}
+    @ProxyEvent
+    public void onUserNotify(UserNotifyEvent event) {
+        getView().notify(event.getLevel(), event.getMessage());
+    }
 
-	@ProxyEvent
-	public void onAlert(AlertEvent event) {
-		getView().alert(event.getTitle(), event.getMessage());
-	};
+    @ProxyEvent
+    public void onAlert(AlertEvent event) {
+        getView().alert(event.getTitle(), event.getMessage());
+    }
 
-	@Override
-	protected void revealInParent() {
-	}
+    @Override
+    protected void revealInParent() {
+        RootPanel.get().add(getWidget());
+    }
 
 }
\ No newline at end of file

Added: trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,17 @@
+package cc.kune.core.client.resources;
+
+import com.google.gwt.resources.client.ClientBundle;
+import com.google.gwt.resources.client.CssResource;
+import com.google.gwt.resources.client.ImageResource;
+
+public interface CoreResources extends ClientBundle {
+    public interface Style extends CssResource {
+        String loadingSpiner();
+    }
+
+    @Source("loading-spiner.gif")
+    ImageResource loadingSpiner();
+
+    @Source("core.css")
+    Style css();
+}


Property changes on: trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/src/main/java/cc/kune/core/client/resources/core.css
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/core.css	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/resources/core.css	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,6 @@
+ at CHARSET "UTF-8";
+
+ at sprite .loadingSpiner {
+	gwt-image: 'loadingSpiner';
+	margin-top: 2px;
+}


Property changes on: trunk/src/main/java/cc/kune/core/client/resources/core.css
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Added: trunk/src/main/java/cc/kune/core/client/resources/loading-spiner.gif
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/cc/kune/core/client/resources/loading-spiner.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,38 @@
+package cc.kune.core.client.sitebar.logo;
+
+import cc.kune.core.client.init.AppStartEvent;
+
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
+import com.gwtplatform.mvp.client.Presenter;
+import com.gwtplatform.mvp.client.View;
+import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
+import com.gwtplatform.mvp.client.proxy.Proxy;
+import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
+
+public class SiteLogoPresenter extends Presenter<SiteLogoPresenter.SiteLogoView, SiteLogoPresenter.SiteLogoProxy> {
+
+    public interface SiteLogoView extends View {
+        void setSiteLogoUrl(String siteLogoUrl);
+    }
+
+    @ProxyCodeSplit
+    public interface SiteLogoProxy extends Proxy<SiteLogoPresenter> {
+    }
+
+    @Inject
+    public SiteLogoPresenter(EventBus eventBus, SiteLogoView view, SiteLogoProxy proxy) {
+        super(eventBus, view, proxy);
+    }
+
+    @Override
+    protected void revealInParent() {
+        RevealRootContentEvent.fire(this, this);
+    }
+
+    @ProxyEvent
+    public void onAppStart(AppStartEvent event) {
+        getView().setSiteLogoUrl(event.getInitData().getSiteLogoUrl());
+    }
+}
\ No newline at end of file


Property changes on: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoPresenter.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Copied: trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java (from rev 1168, trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo/SiteLogoPanel.java)
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sitebar/logo/SiteLogoViewImpl.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -0,0 +1,49 @@
+/*
+ *
+ * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ \*/
+package cc.kune.core.client.sitebar.logo;
+
+import cc.kune.core.ws.armor.client.WsArmor;
+
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.ViewImpl;
+
+public class SiteLogoViewImpl extends ViewImpl implements SiteLogoPresenter.SiteLogoView {
+
+    private final Image siteLogoImg;
+
+    @Inject
+    public SiteLogoViewImpl(WsArmor armor) {
+        siteLogoImg = new Image();
+        siteLogoImg.addStyleName("k-floatright");
+        armor.getSitebar().add(siteLogoImg);
+    }
+
+    @Override
+    public void setSiteLogoUrl(final String siteLogoUrl) {
+        siteLogoImg.setUrl(siteLogoUrl);
+    }
+
+    @Override
+    public Widget asWidget() {
+        return siteLogoImg;
+    }
+}

Modified: trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/state/ContentProviderDefault.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -21,32 +21,35 @@
 
 import java.util.HashMap;
 
-import cc.kune.core.client.notify.SpinerPresenter;
+import cc.kune.core.client.notify.ProgressShowEvent;
 import cc.kune.core.client.rpcservices.ContentServiceAsync;
 import cc.kune.core.shared.domain.utils.StateToken;
 import cc.kune.core.shared.dto.StateAbstractDTO;
 
 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
 
 public class ContentProviderDefault implements ContentProvider {
     private final ContentServiceAsync server;
     private final HashMap<StateToken, StateAbstractDTO> cache;
-    private final SpinerPresenter spiner;
+    private final EventBus eventBus;
 
     @Inject
-    public ContentProviderDefault(final ContentServiceAsync server, final SpinerPresenter spiner) {
+    public ContentProviderDefault(final ContentServiceAsync server, final EventBus eventBus) {
         this.server = server;
-        this.spiner = spiner;
+        this.eventBus = eventBus;
         this.cache = new HashMap<StateToken, StateAbstractDTO>();
     }
 
+    @Override
     public void cache(final StateToken encodeState, final StateAbstractDTO content) {
         cache.put(encodeState, content);
     }
 
+    @Override
     public void getContent(final String user, final StateToken newState, final AsyncCallback<StateAbstractDTO> callback) {
-        spiner.showLoading();
+        eventBus.fireEvent(new ProgressShowEvent(""));
         final StateAbstractDTO catched = getCached(newState);
         if (catched != null) {
             callback.onSuccess(catched);

Modified: trunk/src/main/java/cc/kune/core/client/state/Session.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/Session.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/state/Session.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -41,7 +41,6 @@
 import java.util.Collection;
 import java.util.List;
 
-
 import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
 import cc.kune.core.shared.domain.utils.StateToken;
 import cc.kune.core.shared.dto.I18nCountryDTO;
@@ -136,10 +135,13 @@
 
     boolean isNotLogged();
 
+    @Deprecated
     void onInitDataReceived(Listener<InitDataDTO> listener);
 
+    @Deprecated
     void onUserSignIn(Listener<UserInfoDTO> listener);
 
+    @Deprecated
     void onUserSignOut(Listener0 listener);
 
     void setCurrentLanguage(final I18nLanguageDTO currentLanguage);

Modified: trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -23,7 +23,6 @@
 import java.util.List;
 
 import cc.kune.core.client.cookies.CookiesManager;
-import cc.kune.core.client.i18n.I18nReadyEvent;
 import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
 import cc.kune.core.client.rpcservices.UserServiceAsync;
 import cc.kune.core.shared.domain.utils.StateToken;
@@ -47,7 +46,6 @@
 import com.google.gwt.core.client.GWT;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
-import com.gwtplatform.mvp.client.EventBus;
 
 public class SessionDefault implements Session {
     private String userHash;
@@ -62,12 +60,9 @@
     private final Event<UserInfoDTO> onUserSignIn;
     private final Event0 onUserSignOut;
     private final Provider<UserServiceAsync> userServiceProvider;
-    private final EventBus eventBus;
 
     @Inject
-    public SessionDefault(final CookiesManager cookieManager, final Provider<UserServiceAsync> userServiceProvider,
-            EventBus eventBus) {
-        this.eventBus = eventBus;
+    public SessionDefault(final CookiesManager cookieManager, final Provider<UserServiceAsync> userServiceProvider) {
         this.userHash = cookieManager.getCurrentCookie();
         this.userHash = userHash == null || userHash.equals("null") ? null : userHash;
         this.userServiceProvider = userServiceProvider;
@@ -282,7 +277,6 @@
     @Override
     public void setCurrentLanguage(final I18nLanguageDTO currentLanguage) {
         this.currentLanguage = currentLanguage;
-        eventBus.fireEvent(new I18nReadyEvent());
     }
 
     @Override

Modified: trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -23,7 +23,7 @@
 
 import cc.kune.core.client.actions.BeforeActionCollection;
 import cc.kune.core.client.actions.BeforeActionListener;
-import cc.kune.core.client.notify.SpinerPresenter;
+import cc.kune.core.client.notify.ProgressHideEvent;
 import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
 import cc.kune.core.shared.domain.utils.StateToken;
 import cc.kune.core.shared.dto.SocialNetworkDataDTO;
@@ -40,6 +40,7 @@
 import com.google.gwt.event.logical.shared.ValueChangeHandler;
 import com.google.gwt.user.client.History;
 import com.google.inject.Inject;
+import com.gwtplatform.mvp.client.EventBus;
 
 public class StateManagerDefault implements StateManager, ValueChangeHandler<String> {
     private final ContentProvider contentProvider;
@@ -57,12 +58,12 @@
     private final Event2<String, String> onToolChanged;
     private final Event2<String, String> onGroupChanged;
     private final BeforeActionCollection beforeStateChangeCollection;
-    private final SpinerPresenter spiner;
+    private final EventBus eventBus;
 
     @Inject
     public StateManagerDefault(final ContentProvider contentProvider, final Session session,
-            final HistoryWrapper history, final SpinerPresenter spinner) {
-        this.spiner = spinner;
+            final HistoryWrapper history, final EventBus eventBus) {
+        this.eventBus = eventBus;
         // Put this outside here
         History.addValueChangeHandler(this);
         this.contentProvider = contentProvider;
@@ -75,6 +76,7 @@
         this.onToolChanged = new Event2<String, String>("onToolChanged");
         this.onSocialNetworkChanged = new Event<StateAbstractDTO>("onSocialNetworkChanged");
         session.onUserSignIn(new Listener<UserInfoDTO>() {
+            @Override
             public void onEvent(final UserInfoDTO parameter) {
                 if (previousToken == null) {
                     // starting up
@@ -85,6 +87,7 @@
             }
         });
         session.onUserSignOut(new Listener0() {
+            @Override
             public void onEvent() {
                 reload();
             }
@@ -93,39 +96,48 @@
         beforeStateChangeCollection = new BeforeActionCollection();
     }
 
+    @Override
     public void addBeforeStateChangeListener(final BeforeActionListener listener) {
         beforeStateChangeCollection.add(listener);
     }
 
+    @Override
     public void addSiteToken(final String token, final Listener0 listener) {
         siteTokens.put(token, listener);
     }
 
+    @Override
     public void gotoToken(final StateToken newToken) {
         Log.debug("StateManager: history goto-token newItem (" + newToken + ")");
         history.newItem(newToken.getEncoded());
     }
 
+    @Override
     public void gotoToken(final String token) {
         gotoToken(new StateToken(token));
     }
 
+    @Override
     public void onGroupChanged(final Listener2<String, String> listener) {
         onGroupChanged.add(listener);
     }
 
+    @Override
     public void onSocialNetworkChanged(final Listener<StateAbstractDTO> listener) {
         onSocialNetworkChanged.add(listener);
     }
 
+    @Override
     public void onStateChanged(final Listener<StateAbstractDTO> listener) {
         onStateChanged.add(listener);
     }
 
+    @Override
     public void onToolChanged(final Listener2<String, String> listener) {
         onToolChanged.add(listener);
     }
 
+    @Override
     public void onValueChange(final ValueChangeEvent<String> event) {
         onHistoryChanged(event.getValue());
     }
@@ -135,22 +147,27 @@
      * Reload current state (using client cache if available)
      * </p>
      */
+    @Override
     public void reload() {
         onHistoryChanged(history.getToken());
     }
 
+    @Override
     public void removeBeforeStateChangeListener(final BeforeActionListener listener) {
         beforeStateChangeCollection.remove(listener);
     }
 
+    @Override
     public void removeSiteToken(final String token) {
         siteTokens.remove(token);
     }
 
+    @Override
     public void restorePreviousToken() {
         gotoToken(previousToken);
     }
 
+    @Override
     public void resumeTokenChange() {
         if (resumedToken != null) {
             reload();
@@ -159,12 +176,14 @@
         }
     }
 
+    @Override
     public void setRetrievedState(final StateAbstractDTO newState) {
         contentProvider.cache(newState.getStateToken(), newState);
         // setState(newState);
         history.newItem(newState.getStateToken().toString());
     }
 
+    @Override
     public void setSocialNetwork(final SocialNetworkDataDTO socialNet) {
         StateAbstractDTO state;
         if (session != null && (state = session.getCurrentState()) != null) {
@@ -201,7 +220,7 @@
     void setState(final StateAbstractDTO newState) {
         session.setCurrentState(newState);
         onStateChanged.fire(newState);
-        spiner.fade();
+        eventBus.fireEvent(new ProgressHideEvent());
         checkGroupAndToolChange(newState);
         previousToken = newState.getStateToken();
 
@@ -229,6 +248,7 @@
 
     private void onHistoryChanged(final StateToken newState) {
         contentProvider.getContent(session.getUserHash(), newState, new AsyncCallbackSimple<StateAbstractDTO>() {
+            @Override
             public void onSuccess(final StateAbstractDTO newState) {
                 setState(newState);
             }

Modified: trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/ws/CorePresenter.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,6 +1,8 @@
 package cc.kune.core.client.ws;
 
-import cc.kune.core.client.notify.AlertEvent;
+import cc.kune.core.client.i18n.I18nReadyEvent;
+import cc.kune.core.client.init.AppStarter;
+import cc.kune.core.client.notify.SpinerPresenter;
 import cc.kune.core.client.notify.UserNotifierPresenter;
 import cc.kune.core.shared.i18n.I18nTranslationService;
 
@@ -10,6 +12,7 @@
 import com.gwtplatform.mvp.client.View;
 import com.gwtplatform.mvp.client.annotations.NameToken;
 import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit;
+import com.gwtplatform.mvp.client.annotations.ProxyEvent;
 import com.gwtplatform.mvp.client.proxy.ProxyPlace;
 import com.gwtplatform.mvp.client.proxy.RevealRootLayoutContentEvent;
 
@@ -17,7 +20,9 @@
  * The Class CorePresenter.
  */
 public class CorePresenter extends Presenter<CorePresenter.CoreView, CorePresenter.CoreProxy> {
-	@ProxyCodeSplit
+    private final AppStarter appStarter;
+
+    @ProxyCodeSplit
     @NameToken("home")
     public interface CoreProxy extends ProxyPlace<CorePresenter> {
     }
@@ -27,13 +32,28 @@
 
     @Inject
     public CorePresenter(final EventBus eventBus, final CoreView view, final CoreProxy proxy,
-            final I18nTranslationService i18n, UserNotifierPresenter userNotifier) {
+            final I18nTranslationService i18n, UserNotifierPresenter userNotifier, SpinerPresenter spiner,
+            AppStarter appStarter) {
         super(eventBus, view, proxy);
+        this.appStarter = appStarter;
     }
 
+    @ProxyEvent
+    public void onI18nReady(I18nReadyEvent event) {
+        appStarter.start();
+    }
+
     @Override
     protected void revealInParent() {
-        RevealRootLayoutContentEvent.fire(getEventBus(), this);    
+        RevealRootLayoutContentEvent.fire(getEventBus(), this);
+        // getEventBus().fireEvent(new ProgressShowEvent("Something"));
+        // Timer timer = new Timer() {
+        // @Override
+        // public void run() {
+        // getEventBus().fireEvent(new ProgressHideEvent());
+        // }
+        // };
+        // // timer.schedule(4);
     }
 
 }

Modified: trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/client/ws/CoreViewImpl.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,6 +1,7 @@
 package cc.kune.core.client.ws;
 
-import cc.kune.core.ws.armor.client.Body;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.ws.armor.client.WsArmorImpl;
 import cc.kune.core.ws.armor.client.resources.WsArmorResources;
 
 import com.google.gwt.core.client.GWT;
@@ -14,24 +15,25 @@
  */
 public class CoreViewImpl extends ViewImpl implements CorePresenter.CoreView {
 
-    private final Body body;
+    private final WsArmorImpl armor;
 
     /**
      * Instantiates a new core view.
      * 
-     * @param body
+     * @param armor
      *            the body
      */
     @Inject
-    public CoreViewImpl(final Body body) {
-        this.body = body;
+    public CoreViewImpl(final WsArmorImpl armor) {
+        this.armor = armor;
+        GWT.<CoreResources> create(CoreResources.class).css().ensureInjected();
         GWT.<WsArmorResources> create(WsArmorResources.class).style().ensureInjected();
-        body.getEntityHeader().add(new InlineLabel("Test - a, e, i, o, u"));
-        body.getDocHeader().add(new InlineLabel("doc title"));
+        armor.getEntityHeader().add(new InlineLabel("Test - a, e, i, o, u"));
+        armor.getDocHeader().add(new InlineLabel("doc title"));
     }
 
     @Override
     public Widget asWidget() {
-        return body;
+        return armor;
     }
 }

Added: trunk/src/main/java/cc/kune/core/public/images/kune-logo-16px.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/cc/kune/core/public/images/kune-logo-16px.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/public/ws.css	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,308 +1,367 @@
 @CHARSET "UTF-8";
 
-body { 
-    background-color: white;
-    color: black;
-    font-family: 'Droid Sans', Arial;
-    font-size: small;
-    margin: 5px;
+body {
+	background-color: white;
+	color: black;
+	font-family: 'Inconsolata', Arial;
+	font-size: small;
+	margin: 5px;
 }
 
 * {
- font-family: 'Droid Sans', Arial;
+	font-family: 'Inconsolata', Arial;
 }
 
-body.fontface {font: 'Droid Sans', Arial;}
+body.fontface {
+	font: 'Inconsolata', Arial;
+}
 
-a { 
-    color: darkblue;
+a {
+	color: darkblue;
 }
 
-a:visited { 
-    color: darkblue; 
+a:visited {
+	color: darkblue;
 }
 
 .gwt-DialogBox {
-    border: 2px solid #AAAAAA;
-    background-color: white;
+	border: 2px solid #AAAAAA;
+	background-color: white;
 }
 
 .gwt-DialogBox .Caption {
-    background-image: url(gray_gradient.gif);
-    background-repeat: repeat-x;
-    padding: 4px;
-    padding-bottom: 8px;
-    font-weight: bold;
-    cursor: default;
+	background-image: url(gray_gradient.gif);
+	background-repeat: repeat-x;
+	padding: 4px;
+	padding-bottom: 8px;
+	font-weight: bold;
+	cursor: default;
 }
 
 .gwt-MenuBar {
-    background-color: #C3D9FF;
-    cursor: default;
+	background-color: #C3D9FF;
+	cursor: default;
 }
 
 .gwt-MenuItem {
-    font-size: 80%;
-    margin: 1px;
-    cursor: default;
+	font-size: 80%;
+	margin: 1px;
+	cursor: default;
 }
 
 .gwt-MenuItem-selected {
-    background-color: #E8EEF7;
+	background-color: #E8EEF7;
 }
 
 .gwt-Tree {
+	
 }
 
 .gwt-Tree .gwt-TreeItem {
-    font-size: 80%;
-    cursor: default;
+	font-size: 80%;
+	cursor: default;
 }
 
 .gwt-Tree .gwt-TreeItem-selected {
-    background-color: #C3D9FF;
+	background-color: #C3D9FF;
 }
 
 .gwt-StackPanel {
-    background-color: white;
-    border: 1px solid #AAAAAA;
-    width: 15em;
+	background-color: white;
+	border: 1px solid #AAAAAA;
+	width: 15em;
 }
 
 .gwt-StackPanel .gwt-StackPanelItem {
-    background-image: url(blue_gradient.gif);
-    background-repeat: repeat-x;
-    background-color: #EEEEEE;
-    cursor: pointer;
-    cursor: hand;
+	background-image: url(blue_gradient.gif);
+	background-repeat: repeat-x;
+	background-color: #EEEEEE;
+	cursor: pointer;
+	cursor: hand;
 }
 
 .gwt-StackPanel .gwt-StackPanelItem-selected {
+	
 }
 
 .gwt-TabPanel {
-    
+	
 }
 
 .gwt-TabPanelBottom {
-    border-left: 1px solid #87b3ff;
-    border-right: 1px solid #87b3ff;
-    border-bottom: 1px solid #87b3ff;
+	border-left: 1px solid #87b3ff;
+	border-right: 1px solid #87b3ff;
+	border-bottom: 1px solid #87b3ff;
 }
 
 .gwt-TabBar {
-    font-size: smaller;
+	font-size: smaller;
 }
 
 .gwt-TabBar .gwt-TabBarFirst {
-    height: 100%;
-    border-bottom: 1px solid #87b3ff;
-    border-right: 1px solid #87b3ff;
-    padding-left: 3px;
+	height: 100%;
+	border-bottom: 1px solid #87b3ff;
+	border-right: 1px solid #87b3ff;
+	padding-left: 3px;
 }
 
 .gwt-TabBar .gwt-TabBarRest {
-    border-bottom: 1px solid #87b3ff;
-    padding-right: 3px;
+	border-bottom: 1px solid #87b3ff;
+	padding-right: 3px;
 }
 
 .gwt-TabBar .gwt-TabBarItem {
-    border-top: 1px solid #87b3ff;
-    border-bottom: 1px solid #87b3ff;
-    padding: 2px;
-    cursor: hand;
-    white-space: nowrap;
-    border-right: 1px solid #87b3ff;
+	border-top: 1px solid #87b3ff;
+	border-bottom: 1px solid #87b3ff;
+	padding: 2px;
+	cursor: hand;
+	white-space: nowrap;
+	border-right: 1px solid #87b3ff;
 }
 
 .gwt-TabBar .gwt-TabBarItem-selected {
-    font-weight: bold;
-    background-color: #e8eef7;
-    border-top: 1px solid #87b3ff;
-    border-right: 1px solid #87b3ff;
-    border-bottom: 1px solid #e8eef7;
-    padding: 2px;
-    cursor: default;
-    white-space: nowrap;
+	font-weight: bold;
+	background-color: #e8eef7;
+	border-top: 1px solid #87b3ff;
+	border-right: 1px solid #87b3ff;
+	border-bottom: 1px solid #e8eef7;
+	padding: 2px;
+	cursor: default;
+	white-space: nowrap;
 }
 
 .gwt-PushButton-up {
-  background-color: #C3D9FF;
-  padding: 2px;
-  border: 2px solid transparent;
-  border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) rgb(232, 241, 255);
-  cursor: pointer;
-  cursor: hand;
+	background-color: #C3D9FF;
+	padding: 2px;
+	border: 2px solid transparent;
+	border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+		rgb(232, 241, 255);
+	cursor: pointer;
+	cursor: hand;
 }
 
 .gwt-PushButton-up-hovering {
-  background-color: #C3D9FF;
-  padding: 2px;
-  border: 2px solid transparent;
-  border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) rgb(232, 241, 255);
-  cursor: pointer;
-  cursor: hand;
+	background-color: #C3D9FF;
+	padding: 2px;
+	border: 2px solid transparent;
+	border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+		rgb(232, 241, 255);
+	cursor: pointer;
+	cursor: hand;
 }
 
 .gwt-PushButton-down {
-  background-color: #C3D9FF;
-  padding: 2px;
-  border: 2px solid transparent;
-  border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) rgb(157, 174, 205);
-  cursor: pointer;
-  cursor: hand;
+	background-color: #C3D9FF;
+	padding: 2px;
+	border: 2px solid transparent;
+	border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+		rgb(157, 174, 205);
+	cursor: pointer;
+	cursor: hand;
 }
 
 .gwt-PushButton-down-hovering {
-  background-color: #C3D9FF;
-  padding: 2px;
-  border: 2px solid transparent;
-  border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) rgb(157, 174, 205);
-  cursor: pointer;
-  cursor: hand;
+	background-color: #C3D9FF;
+	padding: 2px;
+	border: 2px solid transparent;
+	border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+		rgb(157, 174, 205);
+	cursor: pointer;
+	cursor: hand;
 }
 
 .gwt-ToggleButton-up {
-  background-color: #C3D9FF;
-  padding: 2px;
-  border: 2px solid transparent;
-  border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) rgb(232, 241, 255);
-  cursor: pointer;
-  cursor: hand;
+	background-color: #C3D9FF;
+	padding: 2px;
+	border: 2px solid transparent;
+	border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+		rgb(232, 241, 255);
+	cursor: pointer;
+	cursor: hand;
 }
 
 .gwt-ToggleButton-up-hovering {
-  background-color: #C3D9FF;
-  padding: 2px;
-  border: 2px solid transparent;
-  border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) rgb(232, 241, 255);
-  cursor: pointer;
-  cursor: hand;
+	background-color: #C3D9FF;
+	padding: 2px;
+	border: 2px solid transparent;
+	border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+		rgb(232, 241, 255);
+	cursor: pointer;
+	cursor: hand;
 }
 
 .gwt-ToggleButton-down {
-  background-color: #C3D9FF;
-  padding: 2px;
-  background-color: #E8F1FF;
-  border: 2px solid transparent;
-  border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) rgb(157, 174, 205);
-  cursor: pointer;
-  cursor: hand;
+	background-color: #C3D9FF;
+	padding: 2px;
+	background-color: #E8F1FF;
+	border: 2px solid transparent;
+	border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+		rgb(157, 174, 205);
+	cursor: pointer;
+	cursor: hand;
 }
 
 .gwt-ToggleButton-down-hovering {
-  background-color: #C3D9FF;
-  padding: 2px;
-  background-color: #E8F1FF;
-  border: 2px solid transparent;
-  border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) rgb(157, 174, 205);
-  cursor: pointer;
-  cursor: hand;
+	background-color: #C3D9FF;
+	padding: 2px;
+	background-color: #E8F1FF;
+	border: 2px solid transparent;
+	border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+		rgb(157, 174, 205);
+	cursor: pointer;
+	cursor: hand;
 }
 
 .gwt-RichTextArea {
-  border: 1px solid black;
-  background-color: white;
+	border: 1px solid black;
+	background-color: white;
 }
 
 .gwt-RichTextToolbar {
-  background-color: #C3D9FF;
-  padding: 2px;
+	background-color: #C3D9FF;
+	padding: 2px;
 }
 
 .gwt-RichTextToolbar .gwt-PushButton-up {
-  margin-right: 2px;
-  border: 1px solid #C3D9FF;
+	margin-right: 2px;
+	border: 1px solid #C3D9FF;
 }
 
 .gwt-RichTextToolbar .gwt-PushButton-up-hovering {
-  margin-right: 2px;
-  border: 1px solid #C3D9FF;
-  border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) rgb(232, 241, 255);
+	margin-right: 2px;
+	border: 1px solid #C3D9FF;
+	border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+		rgb(232, 241, 255);
 }
 
 .gwt-RichTextToolbar .gwt-PushButton-down {
-  margin-right: 2px;
-  border: 1px solid #C3D9FF;
-  border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) rgb(157, 174, 205);
+	margin-right: 2px;
+	border: 1px solid #C3D9FF;
+	border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+		rgb(157, 174, 205);
 }
 
 .gwt-RichTextToolbar .gwt-PushButton-down-hovering {
-  margin-right: 2px;
-  border: 1px solid #C3D9FF;
-  border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) rgb(157, 174, 205);
+	margin-right: 2px;
+	border: 1px solid #C3D9FF;
+	border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+		rgb(157, 174, 205);
 }
 
 .gwt-RichTextToolbar .gwt-ToggleButton-up {
-  margin-right: 2px;
-  border: 1px solid #C3D9FF;
+	margin-right: 2px;
+	border: 1px solid #C3D9FF;
 }
 
 .gwt-RichTextToolbar .gwt-ToggleButton-up-hovering {
-  margin-right: 2px;
-  border: 1px solid #C3D9FF;
-  border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205) rgb(232, 241, 255);
+	margin-right: 2px;
+	border: 1px solid #C3D9FF;
+	border-color: #E8F1FF rgb(157, 174, 205) rgb(157, 174, 205)
+		rgb(232, 241, 255);
 }
 
 .gwt-RichTextToolbar .gwt-ToggleButton-down {
-  margin-right: 2px;
-  background-color: #E8F1FF;
-  border: 1px solid #C3D9FF;
-  border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) rgb(157, 174, 205);
+	margin-right: 2px;
+	background-color: #E8F1FF;
+	border: 1px solid #C3D9FF;
+	border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+		rgb(157, 174, 205);
 }
 
 .gwt-RichTextToolbar .gwt-ToggleButton-down-hovering {
-  margin-right: 2px;
-  background-color: #E8F1FF;
-  border: 1px solid #C3D9FF;
-  border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255) rgb(157, 174, 205);
+	margin-right: 2px;
+	background-color: #E8F1FF;
+	border: 1px solid #C3D9FF;
+	border-color: #9DAECD rgb(232, 241, 255) rgb(232, 241, 255)
+		rgb(157, 174, 205);
 }
 
 .gwt-HorizontalSplitPanel {
-    border: 8px solid #C3D9FF;
+	border: 8px solid #C3D9FF;
 }
 
 .gwt-HorizontalSplitPanel .splitter {
-    background-color: #C3D9FF;
-    cursor: move;
+	background-color: #C3D9FF;
+	cursor: move;
 }
 
 .gwt-HorizontalSplitPanel .left {
-  background-color: #E8EEF7;
+	background-color: #E8EEF7;
 }
 
 .gwt-VerticalSplitPanel {
-    border: 8px solid #C3D9FF;
+	border: 8px solid #C3D9FF;
 }
 
 .gwt-VerticalSplitPanel .splitter {
-    background-color: #C3D9FF;
-    height: 8px;
-    cursor: move;
+	background-color: #C3D9FF;
+	height: 8px;
+	cursor: move;
 }
 
 .gwt-SuggestBoxPopup {
-    border: 2px solid #C3D9FF;
+	border: 2px solid #C3D9FF;
 }
 
 .gwt-SuggestBoxPopup .item {
-    padding: 2px;
+	padding: 2px;
 }
 
 .gwt-SuggestBoxPopup .item-selected {
-    background-color: #C3D9FF;
-    padding: 2px;
+	background-color: #C3D9FF;
+	padding: 2px;
 }
 
 .gwt-DisclosurePanel {
-    border: 2px solid #C3D9FF;
+	border: 2px solid #C3D9FF;
 }
 
 .gwt-DisclosurePanel .header {
-    background-color: #e8eef7;
-    cursor: hand;
+	background-color: #e8eef7;
+	cursor: hand;
 }
 
-.gwt-SplitLayoutPanel { }
-.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger { background-color: white; background: none; }
-.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger {  }
+.gwt-SplitLayoutPanel {
+	
+}
+
+.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-HDragger {
+	background-color: white;
+	background: none;
+}
+
+.gwt-SplitLayoutPanel .gwt-SplitLayoutPanel-VDragger {
+	
+}
+
+.kLoadingPanel {
+	background-color: #feb295;
+	-webkit-border-bottom-left-radius: 4px;
+	-moz-border-bottom-left-radius: 4px;
+	border-bottom-left-radius: 4px;
+	-webkit-border-bottom-right-radius: 4px;
+	-moz-border-bottom-right-radius: 4px;
+	border-bottom-right-radius: 4px;
+	-webkit-border-top-right-radius: 4px;
+	-moz-border-top-right-radius: 4px;
+	border-top-right-radius: 4px;
+	-webkit-border-top-left-radius: 4px;
+	-moz-border-top-left-radius: 4px;
+	border-top-left-radius: 4px;
+	padding: 0 10px 0 7px;
+}
+
+.kLoadingLabel {
+	font-size: 14px;
+	color: white;
+	font-weight: bold;
+	padding: 0 0 0 5px;
+}
+
+.k-floatleft {
+  float: left;
+}
+
+.k-floatright {
+  float: right;
+}
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/core/public/ws.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.html	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/public/ws.html	2010-12-19 02:58:53 UTC (rev 1170)
@@ -7,7 +7,8 @@
 	src="/ws/ws.nocache.js"></script>
 </head>
 <!-- FIXME: make something local -->
-<link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>
+<!--<link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>-->
+<link href='http://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
 <body>
 <iframe id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe>
 <iframe src="" id="__download" style="width: 0; height: 0; border: 0"></iframe>

Modified: trunk/src/main/java/cc/kune/core/shared/domain/TagCloudResult.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/domain/TagCloudResult.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/shared/domain/TagCloudResult.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -28,6 +28,9 @@
     private int maxValue;
     private int minValue;
 
+    public TagCloudResult() {
+    }
+
     public TagCloudResult(final List<TagCount> tagCountList, final int maxValue, final int minValue) {
         this.tagCountList = tagCountList;
         this.maxValue = maxValue;

Modified: trunk/src/main/java/cc/kune/core/shared/domain/utils/AccessRights.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/domain/utils/AccessRights.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/cc/kune/core/shared/domain/utils/AccessRights.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -19,83 +19,83 @@
  */
 package cc.kune.core.shared.domain.utils;
 
-public class AccessRights {
-	boolean administrable;
-	boolean editable;
-	boolean visible;
+import com.google.gwt.user.client.rpc.IsSerializable;
 
-	public AccessRights() {
-		this(false, false, false);
-	}
+public class AccessRights implements IsSerializable {
+    boolean administrable;
+    boolean editable;
+    boolean visible;
 
-	public AccessRights(final boolean administrable, final boolean editable,
-			final boolean visible) {
-		this.administrable = administrable;
-		this.editable = editable;
-		this.visible = visible;
-	}
+    public AccessRights() {
+        this(false, false, false);
+    }
 
-	public boolean isAdministrable() {
-		return administrable;
-	}
+    public AccessRights(final boolean administrable, final boolean editable, final boolean visible) {
+        this.administrable = administrable;
+        this.editable = editable;
+        this.visible = visible;
+    }
 
-	public boolean isEditable() {
-		return editable;
-	}
+    public boolean isAdministrable() {
+        return administrable;
+    }
 
-	public boolean isVisible() {
-		return visible;
-	}
+    public boolean isEditable() {
+        return editable;
+    }
 
-	public void setAdministrable(final boolean isAdministrable) {
-		this.administrable = isAdministrable;
-	}
+    public boolean isVisible() {
+        return visible;
+    }
 
-	public void setEditable(final boolean isEditable) {
-		this.editable = isEditable;
-	}
+    public void setAdministrable(final boolean isAdministrable) {
+        this.administrable = isAdministrable;
+    }
 
-	public void setVisible(final boolean isVisible) {
-		this.visible = isVisible;
-	}
+    public void setEditable(final boolean isEditable) {
+        this.editable = isEditable;
+    }
 
-	@Override
-	public boolean equals(final Object obj) {
-		if (this == obj) {
-			return true;
-		}
-		if (obj == null) {
-			return false;
-		}
-		if (getClass() != obj.getClass()) {
-			return false;
-		}
-		final AccessRights other = (AccessRights) obj;
-		if (administrable != other.administrable) {
-			return false;
-		}
-		if (editable != other.editable) {
-			return false;
-		}
-		if (visible != other.visible) {
-			return false;
-		}
-		return true;
-	}
+    public void setVisible(final boolean isVisible) {
+        this.visible = isVisible;
+    }
 
-	@Override
-	public int hashCode() {
-		final int prime = 31;
-		int result = 1;
-		result = prime * result + (administrable ? 1231 : 1237);
-		result = prime * result + (editable ? 1231 : 1237);
-		result = prime * result + (visible ? 1231 : 1237);
-		return result;
-	}
+    @Override
+    public boolean equals(final Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        final AccessRights other = (AccessRights) obj;
+        if (administrable != other.administrable) {
+            return false;
+        }
+        if (editable != other.editable) {
+            return false;
+        }
+        if (visible != other.visible) {
+            return false;
+        }
+        return true;
+    }
 
-	@Override
-	public String toString() {
-		return "AccessRights[a: " + administrable + ", e: " + editable
-				+ ", v: " + visible + "]";
-	}
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + (administrable ? 1231 : 1237);
+        result = prime * result + (editable ? 1231 : 1237);
+        result = prime * result + (visible ? 1231 : 1237);
+        return result;
+    }
+
+    @Override
+    public String toString() {
+        return "AccessRights[a: " + administrable + ", e: " + editable + ", v: " + visible + "]";
+    }
 }

Modified: trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/app/client/KuneEntryPoint.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -22,21 +22,19 @@
 import org.ourproject.kune.platf.client.services.Loader;
 import org.ourproject.kune.platf.client.services.PlatformModule;
 
-import cc.kune.core.ws.armor.client.Body;
-import cc.kune.core.ws.armor.client.resources.WsArmorResources;
-
 import com.allen_sauer.gwt.log.client.Log;
 import com.google.gwt.core.client.EntryPoint;
 import com.google.gwt.core.client.Scheduler;
 import com.google.gwt.core.client.Scheduler.ScheduledCommand;
-import com.google.gwt.user.client.ui.RootLayoutPanel;
 
 public class KuneEntryPoint implements EntryPoint {
 
+    @Override
     public void onModuleLoad() {
         Log.setUncaughtExceptionHandler();
 
         Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+            @Override
             public void execute() {
                 onModuleLoadCont();
             }
@@ -46,11 +44,11 @@
     public void onModuleLoadCont() {
         // At the moment, in runtime:
         Log.setCurrentLogLevel(Log.LOG_LEVEL_DEBUG);
-        final WsArmorResources resources = WsArmorResources.INSTANCE;
-        resources.style().ensureInjected();
-
-        final Body body = new Body();
-        RootLayoutPanel.get().add(body);
+        // final WsArmorResources resources = WsArmorResources.INSTANCE;
+        // resources.style().ensureInjected();
+        //
+        // final Body body = new Body();
+        // RootLayoutPanel.get().add(body);
         // Loader.install(new RegistryModule(), new DocumentClientModule(), new
         // BlogClientModule(),
         // new WikiClientModule(), new GalleryClientModule(), new

Modified: trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/blogs/KuneBlogs.gwt.xml	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
 <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/src/gwt-module.dtd">
 <module>
+  <inherits name="cc.kune.core.Core" />
   <inherits name='org.ourproject.kune.platf.KunePlatform' />
   <inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
   <source path="client" />

Modified: trunk/src/main/java/org/ourproject/kune/chat/KuneChat.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/KuneChat.gwt.xml	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/chat/KuneChat.gwt.xml	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
 <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/src/gwt-module.dtd">
 <module>
+  <inherits name="cc.kune.core.Core" />
   <inherits name='org.ourproject.kune.platf.KunePlatform' />
   <inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
   <inherits name="com.calclab.emiteuimodule.EmiteUIModule" />

Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatClientModule.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -27,7 +27,6 @@
 import org.ourproject.kune.chat.client.ctx.room.AddRoom;
 import org.ourproject.kune.chat.client.ctx.room.AddRoomPanel;
 import org.ourproject.kune.chat.client.ctx.room.AddRoomPresenter;
-import org.ourproject.kune.platf.client.app.Application;
 import org.ourproject.kune.platf.client.app.ToolGroup;
 import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
 import org.ourproject.kune.platf.client.services.AbstractExtendedModule;
@@ -44,6 +43,7 @@
 import org.ourproject.kune.workspace.client.tool.ToolSelector;
 
 import cc.kune.core.client.i18n.I18nUITranslationService;
+import cc.kune.core.client.init.AppStarter;
 import cc.kune.core.client.rpcservices.ContentServiceAsync;
 import cc.kune.core.client.state.Session;
 import cc.kune.core.client.state.StateManager;
@@ -88,7 +88,7 @@
             @Override
             public ChatEngine create() {
                 final ChatEngineDefault chatEngineDefault = new ChatEngineDefault(i(I18nUITranslationService.class),
-                        i(WorkspaceSkeleton.class), i(Application.class), i(Session.class), p(EmiteUIDialog.class),
+                        i(WorkspaceSkeleton.class), i(AppStarter.class), i(Session.class), p(EmiteUIDialog.class),
                         p(FileDownloadUtils.class), i(GlobalShortcutRegister.class));
                 return chatEngineDefault;
             }

Modified: trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/chat/client/ChatEngineDefault.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -26,12 +26,12 @@
 import org.ourproject.kune.platf.client.actions.ActionEvent;
 import org.ourproject.kune.platf.client.actions.KeyStroke;
 import org.ourproject.kune.platf.client.actions.Shortcut;
-import org.ourproject.kune.platf.client.app.Application;
 import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
 import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
 import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
 
+import cc.kune.core.client.init.AppStarter;
 import cc.kune.core.client.state.Session;
 import cc.kune.core.client.utils.WindowUtils;
 import cc.kune.core.shared.dto.InitDataDTO;
@@ -56,7 +56,6 @@
 import com.google.gwt.core.client.Scheduler;
 import com.google.gwt.core.client.Scheduler.ScheduledCommand;
 import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.Window.ClosingEvent;
 import com.gwtext.client.core.EventObject;
 import com.gwtext.client.widgets.Button;
 import com.gwtext.client.widgets.ToolbarButton;
@@ -74,7 +73,7 @@
     private final Provider<FileDownloadUtils> downloadUtils;
 
     public ChatEngineDefault(final I18nTranslationService i18n, final WorkspaceSkeleton wskel,
-            final Application application, final Session session, final Provider<EmiteUIDialog> emiteUIProvider,
+            final AppStarter application, final Session session, final Provider<EmiteUIDialog> emiteUIProvider,
             final Provider<FileDownloadUtils> downloadUtils, final GlobalShortcutRegister shortcutRegister) {
         this.i18n = i18n;
         this.wskel = wskel;
@@ -83,6 +82,7 @@
         this.onRosterChanged = new Event0("onRosterChanged");
         shortcut = Shortcut.getShortcut(false, true, false, false, Character.valueOf('C'));
         shortcutRegister.put(shortcut, new AbstractExtendedAction() {
+            @Override
             public void actionPerformed(final ActionEvent event) {
                 if (isDialogStarted()) {
                     toggleShow();
@@ -91,6 +91,7 @@
             }
         });
         session.onInitDataReceived(new Listener<InitDataDTO>() {
+            @Override
             public void onEvent(final InitDataDTO initData) {
                 checkChatDomain(initData.getChatDomain());
                 chatOptions = new ChatConnectionOptions(initData.getChatHttpBase(), initData.getChatDomain(),
@@ -107,42 +108,50 @@
             }
         });
         session.onUserSignOut(new Listener0() {
+            @Override
             public void onEvent() {
                 logout();
             }
         });
         session.onUserSignIn(new Listener<UserInfoDTO>() {
+            @Override
             public void onEvent(final UserInfoDTO user) {
                 login(user.getChatName(), user.getChatPassword());
             }
         });
-        application.onClosing(new Listener<ClosingEvent>() {
-            public void onEvent(final ClosingEvent event) {
-                stop();
-            }
-        });
+        // application.onClosing(new Listener<ClosingEvent>() {
+        // public void onEvent(final ClosingEvent event) {
+        // stop();
+        // }
+        // });
     }
 
+    @Override
     public void addNewBuddie(final String shortName) {
         emiteUIProvider.get().addBuddie(getLocalUserJid(shortName), shortName, "");
     }
 
+    @Override
     public void addOnRosterChanged(final Listener0 slot) {
         onRosterChanged.add(slot);
     }
 
+    @Override
     public void chat(final XmppURI jid) {
         emiteUIProvider.get().chat(jid);
     }
 
+    @Override
     public ChatConnectionOptions getChatOptions() {
         return chatOptions;
     }
 
+    @Override
     public boolean isBuddie(final String shortName) {
         return isBuddie(getLocalUserJid(shortName));
     }
 
+    @Override
     public boolean isBuddie(final XmppURI jid) {
         if (roster != null) {
             for (final RosterItem item : roster) {
@@ -158,14 +167,17 @@
         return !emiteUIProvider.get().isDialogNotStarted();
     }
 
+    @Override
     public boolean isLoggedIn() {
         return emiteUIProvider.get().isLoggedIn();
     }
 
+    @Override
     public void joinRoom(final String roomName, final String userAlias) {
         joinRoom(roomName, null, userAlias);
     }
 
+    @Override
     public void joinRoom(final String roomName, final String subject, final String userAlias) {
         if (emiteUIProvider.get().isLoggedIn()) {
             final XmppURI roomURI = XmppURI.uri(roomName + "@" + chatOptions.roomHost + "/"
@@ -173,6 +185,7 @@
             final Room room = (Room) emiteUIProvider.get().joinRoom(roomURI);
             if (subject != null) {
                 Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+                    @Override
                     public void execute() {
                         final RoomUI roomUI = (RoomUI) room.getData(ChatUI.class);
                         if (roomUI != null) {
@@ -186,10 +199,12 @@
         }
     }
 
+    @Override
     public void login(final String jid, final String passwd) {
         final UserChatOptions userChatOptions = getUserChatOptions(jid, passwd);
         // FIXME: Avatar provider
         final AvatarProvider avatarProvider = new AvatarProvider() {
+            @Override
             public String getAvatarURL(final XmppURI userURI) {
                 // if (userURI.getHost().equals(chatOptions.domain)) {
                 // FIXME
@@ -205,6 +220,7 @@
         chatOptions.userOptions = userChatOptions;
         if (emiteUIProvider.get().isDialogNotStarted()) {
             emiteUIProvider.get().onRosterChanged(new Listener<Collection<RosterItem>>() {
+                @Override
                 public void onEvent(final Collection<RosterItem> rosterChanged) {
                     roster = rosterChanged;
                     onRosterChanged.fire();
@@ -229,11 +245,13 @@
             });
             wskel.getSiteTraybar().addButton(traybarButton);
             emiteUIProvider.get().onChatAttended(new Listener<String>() {
+                @Override
                 public void onEvent(final String parameter) {
                     traybarButton.setIcon("images/e-icon.gif");
                 }
             });
             emiteUIProvider.get().onChatUnattendedWithActivity(new Listener<String>() {
+                @Override
                 public void onEvent(final String parameter) {
                     traybarButton.setIcon("images/e-icon-a.gif");
                 }
@@ -241,17 +259,20 @@
         }
         emiteUIProvider.get().hide();
         emiteUIProvider.get().onChatAttended(new Listener<String>() {
+            @Override
             public void onEvent(final String parameter) {
                 Window.setTitle(initialWindowTitle);
             }
         });
         emiteUIProvider.get().onChatUnattendedWithActivity(new Listener<String>() {
+            @Override
             public void onEvent(final String chatTitle) {
                 Window.setTitle("(* " + chatTitle + ") " + initialWindowTitle);
             }
         });
     }
 
+    @Override
     public void logout() {
         if (!emiteUIProvider.get().isDialogNotStarted()) {
             emiteUIProvider.get().setOwnPresence(OwnStatus.offline);
@@ -261,14 +282,17 @@
         }
     }
 
+    @Override
     public void setAvatar(final String photoBinary) {
         emiteUIProvider.get().setOwnVCardAvatar(photoBinary);
     }
 
+    @Override
     public void show() {
         emiteUIProvider.get().show();
     }
 
+    @Override
     public void stop() {
         if (!emiteUIProvider.get().isDialogNotStarted()) {
             emiteUIProvider.get().destroy();

Modified: trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/docs/KuneDocs.gwt.xml	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
 <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/src/gwt-module.dtd">
 <module>
+  <inherits name="cc.kune.core.Core" />
   <inherits name='org.ourproject.kune.platf.KunePlatform' />
   <inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
   <source path="client" />

Modified: trunk/src/main/java/org/ourproject/kune/gallery/KuneGallery.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/gallery/KuneGallery.gwt.xml	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/gallery/KuneGallery.gwt.xml	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
 <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/src/gwt-module.dtd">
 <module>
+  <inherits name="cc.kune.core.Core" />
   <inherits name='org.ourproject.kune.platf.KunePlatform' />
   <inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
   <source path="client" />

Modified: trunk/src/main/java/org/ourproject/kune/platf/KunePlatform.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/KunePlatform.gwt.xml	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/platf/KunePlatform.gwt.xml	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,6 +1,7 @@
 <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/src/gwt-module.dtd">
 <module>
   <!-- Inherit the core Web Toolkit stuff. -->
+  <inherits name="cc.kune.core.Core" />
   <inherits name='com.google.gwt.user.User' />
   <inherits name='com.google.gwt.i18n.I18N' />
   <inherits name="com.google.gwt.user.UserAgent" />

Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/app/Application.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/Application.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/Application.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,34 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.platf.client.app;
-
-import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.events.Listener0;
-import com.google.gwt.user.client.Window.ClosingEvent;
-
-public interface Application {
-
-    void onClosing(Listener<ClosingEvent> listener);
-
-    void onStarting(Listener0 listener);
-
-    void start();
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/ApplicationDefault.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,107 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.platf.client.app;
-
-import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
-import org.ourproject.kune.platf.client.utils.PrefetchUtilities;
-
-import cc.kune.core.client.rpcservices.SiteServiceAsync;
-import cc.kune.core.client.state.Session;
-import cc.kune.core.shared.dto.InitDataDTO;
-
-import com.allen_sauer.gwt.log.client.Log;
-import com.calclab.suco.client.events.Event;
-import com.calclab.suco.client.events.Event0;
-import com.calclab.suco.client.events.Listener;
-import com.calclab.suco.client.events.Listener0;
-import com.google.gwt.core.client.Scheduler;
-import com.google.gwt.core.client.Scheduler.ScheduledCommand;
-import com.google.gwt.user.client.Timer;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.Window.ClosingEvent;
-import com.google.gwt.user.client.Window.ClosingHandler;
-import com.google.gwt.user.client.rpc.AsyncCallback;
-import com.google.gwt.user.client.ui.RootPanel;
-
-public class ApplicationDefault implements Application {
-    private final Session session;
-    private final Event0 onAppStarting;
-    private final Event<ClosingEvent> onAppClosing;
-    private final SiteServiceAsync siteService;
-
-    public ApplicationDefault(final Session session, final SiteServiceAsync siteService) {
-        this.session = session;
-        this.siteService = siteService;
-        this.onAppStarting = new Event0("onAppStarting");
-        this.onAppClosing = new Event<ClosingEvent>("onAppClossing");
-        Window.addWindowClosingHandler(new ClosingHandler() {
-            public void onWindowClosing(final ClosingEvent event) {
-                stop(event);
-            }
-        });
-    }
-
-    public void onClosing(final Listener<ClosingEvent> listener) {
-        onAppClosing.add(listener);
-    }
-
-    public void onStarting(final Listener0 listener) {
-        onAppStarting.add(listener);
-    }
-
-    public void start() {
-        onAppStarting.fire();
-        PrefetchUtilities.preFetchImpImages();
-        getInitData();
-        final Timer prefetchTimer = new Timer() {
-            @Override
-            public void run() {
-                PrefetchUtilities.doTasksDeferred();
-            }
-        };
-        prefetchTimer.schedule(20000);
-    }
-
-    private void getInitData() {
-        siteService.getInitData(session.getUserHash(), new AsyncCallback<InitDataDTO>() {
-            public void onFailure(final Throwable error) {
-                RootPanel.get("kuneinitialcurtain").setVisible(false);
-                RootPanel.get("kuneloading").setVisible(false);
-                NotifyUser.error("Error fetching initial data");
-                Log.debug(error.getMessage());
-            }
-
-            public void onSuccess(final InitDataDTO initData) {
-                session.setInitData(initData);
-                session.setCurrentUserInfo(initData.getUserInfo());
-                Scheduler.get().scheduleDeferred(new ScheduledCommand() {
-                    public void execute() {
-                        RootPanel.get("kuneinitialcurtain").setVisible(false);
-                        RootPanel.get("kuneloading").setVisible(false);
-                    }
-                });
-            }
-        });
-    }
-
-    private void stop(final ClosingEvent event) {
-        onAppClosing.fire(event);
-    }
-}

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/PlatformModule.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -21,9 +21,7 @@
 
 import org.ourproject.kune.platf.client.actions.ui.BasicGuiBindings;
 import org.ourproject.kune.platf.client.actions.ui.GuiBindingsRegister;
-import org.ourproject.kune.platf.client.app.Application;
 import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
-import org.ourproject.kune.platf.client.app.ApplicationDefault;
 import org.ourproject.kune.platf.client.app.ToolGroup;
 import org.ourproject.kune.platf.client.i18n.Resources;
 import org.ourproject.kune.platf.client.shortcuts.GlobalShortcutRegister;
@@ -101,7 +99,6 @@
 
 import cc.kune.core.client.errors.ErrorHandler;
 import cc.kune.core.client.i18n.I18nUITranslationService;
-import cc.kune.core.client.rpcservices.SiteServiceAsync;
 import cc.kune.core.client.state.AccessRightsClientManager;
 import cc.kune.core.client.state.Session;
 import cc.kune.core.client.state.StateManager;
@@ -178,12 +175,12 @@
 
         //AsyncCallbackSimple.init(i(ErrorHandler.class));
 
-        register(Singleton.class, new Factory<Application>(Application.class) {
-            @Override
-            public Application create() {
-                return new ApplicationDefault(i(Session.class), i(SiteServiceAsync.class));
-            }
-        });
+//        register(Singleton.class, new Factory<AppStarter>(AppStarter.class) {
+//            @Override
+//            public AppStarter create() {
+//                return new AppStarterDefault(i(Session.class), i(SiteServiceAsync.class));
+//            }
+//        });
 
         register(Singleton.class, new Factory<DeferredCommandWrapper>(DeferredCommandWrapper.class) {
             @Override
@@ -474,7 +471,7 @@
         });
         i(ApplicationComponentGroup.class).createAll();
         i(ToolGroup.class).createAll();
-        i(Application.class).start();
+//        i(AppStarter.class).start();
 
     }
 }
\ No newline at end of file

Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/utils/PrefetchUtilities.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,95 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.platf.client.utils;
-
-import com.google.gwt.core.client.Scheduler;
-import com.google.gwt.core.client.Scheduler.RepeatingCommand;
-import com.google.gwt.user.client.ui.Image;
-
-public class PrefetchUtilities {
-
-    public static void doTasksDeferred() {
-
-        Scheduler.get().scheduleIncremental(new RepeatingCommand() {
-            int i = 0;
-            int j = 0;
-
-            String[] lic = { "gnu-fdl.gif", "bynd80x15.png", "byncsa80x15.png", "byncnd80x15.png", "bync80x15.png",
-                    "by80x15.png", "fal-license.gif" };
-
-            String[] ext = { "default/form/text-bg.gif", "default/form/trigger.gif", "default/form/date-trigger.gif",
-                    "gray/window/left-corners.png", "gray/button/btn-sprite.gif", "gray/window/top-bottom.png",
-                    "gray/window/right-corners.png", "gray/window/left-right.png", "default/sizer/s-handle.gif",
-                    "default/sizer/e-handle.gif", "default/sizer/ne-handle.gif", "default/sizer/se-handle.gif",
-                    "default/sizer/sw-handle.gif", "gray/panel/tool-sprites.gif", "default/sizer/nw-handle.gif",
-                    "gray/tabs/tabs-sprite.gif", "gray/tabs/tab-strip-bg.gif", "default/shadow.png",
-                    "default/shadow-lr.png", "default/shadow-c.png", "default/grid/invalid_line.gif",
-                    "default/form/exclamation.gif", "default/box/tb-blue.gif", "default/grid/loading.gif",
-                    "gray/toolbar/bg.gif", "default/grid/grid3-hrow.gif", "default/dd/drop-no.gif",
-                    "default/grid/col-move-top.gif", "default/grid/col-move-bottom.gif", "default/grid/row-over.gif",
-                    "default/grid/grid-split.gif", "default/grid/page-first-disabled.gif",
-                    "default/grid/page-last-disabled.gif", "default/grid/done.gif",
-                    "default/grid/page-prev-disabled.gif", "default/grid/done.gif",
-                    "default/grid/page-next-disabled.gif", "default/qtip/tip-sprite.gif",
-                    "default/grid/grid3-hrow-over.gif", "default/grid/grid3-hd-btn.gif",
-                    "gray/panel/white-top-bottom.gif", "gray/tabs/tab-close.gif", "gray/toolbar/btn-arrow.gif",
-                    "gray/toolbar/tb-btn-sprite.gif", "gray/panel/light-hd.gif" };
-
-            public boolean execute() {
-
-                while (i < lic.length) {
-                    final String licImg = lic[i];
-                    Image.prefetch("images/lic/" + licImg);
-                    i++;
-                }
-
-                while (j < ext.length) {
-                    final String extImg = ext[j];
-                    Image.prefetch("js/ext/resources/images/" + extImg);
-                    j++;
-                }
-
-                final boolean notFinished = i + j < lic.length + ext.length;
-
-                final boolean finished = !notFinished;
-
-                if (finished) {
-                    // In the future maybe: workspace.getLoginComponent()
-                }
-
-                return notFinished;
-            }
-        });
-    }
-
-    public static void preFetchImpImages() {
-        final String[] imgs = { "images/spin-kune-thund-green.gif", "css/img/button-bg-hard.gif",
-                "css/img/button-bg-soft.gif", "css/img/arrow-down-white.gif", "css/img/arrow-right-white.gif",
-                "images/lic/bysa80x15.png", "images/nav/blog.png", "images/nav/download.png", "images/nav/film.png",
-                "images/nav/folder.png", "images/nav/gallery.png", "images/nav/go.png", "images/nav/page_pdf.png",
-                "images/nav/page.png", "images/nav/page_pps.png", "images/nav/page_text.png",
-                "images/nav/page_word.png", "images/nav/page_zip.png", "images/nav/picture.png", "images/nav/post.png",
-                "images/nav/refresh.png", "images/nav/room_add.png", "images/nav/room.png", "images/nav/upload.png",
-                "images/nav/wikipage.png", "images/nav/wiki.png" };
-        for (final String img : imgs) {
-            Image.prefetch(img);
-        }
-    }
-}

Modified: trunk/src/main/java/org/ourproject/kune/wiki/KuneWiki.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/KuneWiki.gwt.xml	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/wiki/KuneWiki.gwt.xml	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
 <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/src/gwt-module.dtd">
 <module>
+  <inherits name="cc.kune.core.Core" />
   <inherits name='org.ourproject.kune.platf.KunePlatform' />
   <inherits name='org.ourproject.kune.workspace.KuneWorkspace' />
   <source path="client" />

Modified: trunk/src/main/java/org/ourproject/kune/workspace/KuneWorkspace.gwt.xml
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/KuneWorkspace.gwt.xml	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/workspace/KuneWorkspace.gwt.xml	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,5 +1,6 @@
 <!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.1.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.1.0/distro-source/core/src/gwt-module.dtd">
 <module>
+  <inherits name="cc.kune.core.Core" />
   <inherits name='org.ourproject.kune.platf.KunePlatform' />
   <inherits name="org.ourproject.kune.chat.KuneChat" />
   <inherits name="com.google.gwt.core.Core" />

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -169,8 +169,6 @@
 import org.ourproject.kune.workspace.client.site.msg.ToastMessagePanel;
 import org.ourproject.kune.workspace.client.site.msg.ToastMessagePresenter;
 import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogo;
-import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPanel;
-import org.ourproject.kune.workspace.client.sitebar.sitelogo.SiteLogoPresenter;
 import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLink;
 import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPanel;
 import org.ourproject.kune.workspace.client.sitebar.sitenewgroup.SiteNewGroupLinkPresenter;
@@ -423,10 +421,12 @@
         register(ApplicationComponentGroup.class, new Factory<SiteLogo>(SiteLogo.class) {
             @Override
             public SiteLogo create() {
-                final SiteLogoPresenter presenter = new SiteLogoPresenter(i(Session.class));
-                final SiteLogoPanel panel = new SiteLogoPanel(presenter, i(WorkspaceSkeleton.class));
-                presenter.init(panel);
-                return presenter;
+                // final SiteLogoPresenter presenter = new
+                // SiteLogoPresenter(i(Session.class));
+                // final SiteLogoPanel panel = new SiteLogoPanel(presenter,
+                // i(WorkspaceSkeleton.class));
+                // presenter.init(panel);
+                return null;
             }
         });
 
@@ -958,24 +958,28 @@
 
         // Register of tokens like "signin", "newgroup", "translate" etcetera
         i(StateManager.class).addSiteToken(SiteToken.signin.toString(), new Listener0() {
+            @Override
             public void onEvent() {
                 i(SignIn.class).doSignIn();
             }
         });
 
         i(StateManager.class).addSiteToken(SiteToken.register.toString(), new Listener0() {
+            @Override
             public void onEvent() {
                 i(Register.class).doRegister();
             }
         });
 
         i(StateManager.class).addSiteToken(SiteToken.newgroup.toString(), new Listener0() {
+            @Override
             public void onEvent() {
                 i(NewGroup.class).doNewGroup();
             }
         });
 
         i(StateManager.class).addSiteToken(SiteToken.translate.toString(), new Listener0() {
+            @Override
             public void onEvent() {
                 i(I18nTranslator.class).doShowTranslator();
             }

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo/SiteLogoPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo/SiteLogoPanel.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitelogo/SiteLogoPanel.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -1,38 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2009 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- \*/
-package org.ourproject.kune.workspace.client.sitebar.sitelogo;
-
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.google.gwt.user.client.ui.Image;
-
-public class SiteLogoPanel implements SiteLogoView {
-
-    private final Image siteLogoImg;
-
-    public SiteLogoPanel(final SiteLogoPresenter presenter, final WorkspaceSkeleton ws) {
-        siteLogoImg = new Image();
-        ws.getSiteBar().add(siteLogoImg);
-    }
-
-    public void setSiteLogoUrl(final String siteLogoUrl) {
-        siteLogoImg.setUrl(siteLogoUrl);
-    }
-}

Modified: trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java	2010-12-18 17:00:55 UTC (rev 1169)
+++ trunk/src/test/java/cc/kune/core/client/state/StateManagerTest.java	2010-12-19 02:58:53 UTC (rev 1170)
@@ -5,11 +5,9 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
-import org.ourproject.kune.platf.client.ui.noti.NotifyUser;
 import org.ourproject.kune.workspace.client.site.SiteToken;
 
 import cc.kune.core.client.actions.BeforeActionListener;
-import cc.kune.core.client.notify.SpinerPresenter;
 import cc.kune.core.shared.domain.utils.StateToken;
 import cc.kune.core.shared.dto.StateAbstractDTO;
 
@@ -17,6 +15,7 @@
 import com.calclab.suco.testing.events.MockedListener0;
 import com.calclab.suco.testing.events.MockedListener2;
 import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.gwtplatform.mvp.client.EventBus;
 
 public class StateManagerTest {
 
@@ -37,8 +36,8 @@
         contentProvider = Mockito.mock(ContentProvider.class);
         session = Mockito.mock(Session.class);
         history = Mockito.mock(HistoryWrapper.class);
-        final SpinerPresenter spiner = Mockito.mock(SpinerPresenter.class);
-        stateManager = new StateManagerDefault(contentProvider, session, history, spiner);
+        final EventBus eventBus = Mockito.mock(EventBus.class);
+        stateManager = new StateManagerDefault(contentProvider, session, history, eventBus);
         Mockito.when(session.getUserHash()).thenReturn(HASH);
         state = Mockito.mock(StateAbstractDTO.class);
         stateChangeListener = new MockedListener<StateAbstractDTO>();
@@ -49,7 +48,7 @@
         stateManager.onStateChanged(stateChangeListener);
         stateManager.onGroupChanged(groupChangeListener);
         stateManager.onToolChanged(toolChangeListener);
-        new NotifyUser(null, null);
+        // new NotifyUser(null, null);
     }
 
     @Test




More information about the kune-commits mailing list