[kune-commits] r1261 - in trunk: . img/webtemplate script src/main/java/cc/kune/chat/client src/main/java/cc/kune/common/client src/main/java/cc/kune/common/client/actions src/main/java/cc/kune/common/client/actions/gwtui src/main/java/cc/kune/common/client/actions/ui src/main/java/cc/kune/common/client/actions/ui/descrip src/main/java/cc/kune/common/client/resources src/main/java/cc/kune/common/client/ui src/main/java/cc/kune/common/public src/main/java/cc/kune/core/client src/main/java/cc/kune/core/client/logs src/main/java/cc/kune/core/client/resources/icons src/main/java/cc/kune/core/client/sn src/main/java/cc/kune/core/client/sn/actions src/main/java/cc/kune/core/client/sn/actions/registry src/main/java/cc/kune/core/client/state src/main/java/cc/kune/core/client/ui/dialogs src/main/java/cc/kune/core/client/ui/footer/license src/main/java/cc/kune/core/public src/main/java/cc/kune/pspace/client

Vicente J. Ruiz Jurado vjrj_ at ourproject.org
Thu Feb 24 03:37:27 CET 2011


Author: vjrj_
Date: 2011-02-24 03:37:26 +0100 (Thu, 24 Feb 2011)
New Revision: 1261

Added:
   trunk/script/kune client  -no-server.launch
   trunk/src/main/java/cc/kune/common/client/resources/
   trunk/src/main/java/cc/kune/common/client/resources/CommonIconCssResource.java
   trunk/src/main/java/cc/kune/common/client/resources/CommonIconResources.java
   trunk/src/main/java/cc/kune/common/client/resources/SubMenuResources.java
   trunk/src/main/java/cc/kune/common/client/resources/arrow-right-white.gif
   trunk/src/main/java/cc/kune/common/client/resources/checked.png
   trunk/src/main/java/cc/kune/common/client/resources/radiochecked.png
   trunk/src/main/java/cc/kune/common/client/resources/radiounchecked.png
   trunk/src/main/java/cc/kune/common/client/resources/unchecked.png
   trunk/src/main/java/cc/kune/core/client/resources/icons/checked.png
   trunk/src/main/java/cc/kune/core/client/resources/icons/radiochecked.png
   trunk/src/main/java/cc/kune/core/client/resources/icons/radiounchecked.png
   trunk/src/main/java/cc/kune/core/client/resources/icons/unchecked.png
   trunk/src/main/java/cc/kune/core/client/sn/actions/GroupMembersConfActions.java
   trunk/src/main/java/cc/kune/core/client/sn/actions/MembersModerationAction.java
   trunk/src/main/java/cc/kune/core/client/sn/actions/MembersModerationMenuItem.java
   trunk/src/main/java/cc/kune/core/client/sn/actions/MembersVisibilityAction.java
   trunk/src/main/java/cc/kune/core/client/sn/actions/MembersVisibilityMenuItem.java
Modified:
   trunk/
   trunk/img/webtemplate/web_template-2011.svg
   trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
   trunk/src/main/java/cc/kune/chat/client/ChatParts.java
   trunk/src/main/java/cc/kune/chat/client/ChatSitebarActions.java
   trunk/src/main/java/cc/kune/common/client/SampleEntryPoint.java
   trunk/src/main/java/cc/kune/common/client/actions/AbstractExtendedAction.java
   trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
   trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuGui.java
   trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java
   trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtCheckItem.java
   trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtIconLabelGui.java
   trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java
   trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtSubMenuGui.java
   trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java
   trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
   trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java
   trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuRadioItemDescriptor.java
   trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java
   trunk/src/main/java/cc/kune/common/client/ui/IconLabel.ui.xml
   trunk/src/main/java/cc/kune/common/public/kune-common.css
   trunk/src/main/java/cc/kune/core/client/CoreParts.java
   trunk/src/main/java/cc/kune/core/client/logs/Log.java
   trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java
   trunk/src/main/java/cc/kune/core/client/sn/GroupMembersPresenter.java
   trunk/src/main/java/cc/kune/core/client/sn/actions/JoinGroupAction.java
   trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinGroupAction.java
   trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupMembersActionsRegistry.java
   trunk/src/main/java/cc/kune/core/client/state/AccessRightsClientManager.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/SiteTokenListeners.java
   trunk/src/main/java/cc/kune/core/client/state/StateManager.java
   trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
   trunk/src/main/java/cc/kune/core/client/ui/dialogs/BasicDialog.java
   trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicensePresenter.java
   trunk/src/main/java/cc/kune/core/public/ws.css
   trunk/src/main/java/cc/kune/pspace/client/PSpacePresenter.java
Log:
NEW - # 25: Social Net refactorization 
http://kune.ourproject.org/issues/ticket/25


Property changes on: trunk
___________________________________________________________________
Name: svn:ignore
   - pmd-eclipse.log
.pmd
www-test
screenlog.0
bin
client
public
target
target-local
Main-compile
bin
.settings
.gwt-cache
repository
derby.log
star-yellow-grey.png
run.sh
tomcat
gwt-out
synccss.sh
.externalToolBuilders
.wtpmodules
www
testRepository
kune-OLD-jcr
KuneApp.launch
KuneApp NOSERVER.launch
old_src
org.ourproject.kune.app.Kune
org.ourproject.kune.iml
org.ourproject.kune.ipr
org.ourproject.kune.iws
nbproject
hibernate.reveng.xml
.gwt-tmp
target-eclipse
.checkstyle

.classpath-bien

pom.xml.*

.gwt

.jdee_sources

.jdee_classpath

prj.el

.factorypath
.apt_generated
target.old
_accounts

   + pmd-eclipse.log
.pmd
www-test
screenlog.0
bin
client
public
target
target-local
Main-compile
bin
.settings
.gwt-cache
repository
derby.log
star-yellow-grey.png
run.sh
tomcat
gwt-out
synccss.sh
.externalToolBuilders
.wtpmodules
www
testRepository
kune-OLD-jcr
KuneApp.launch
KuneApp NOSERVER.launch
old_src
org.ourproject.kune.app.Kune
org.ourproject.kune.iml
org.ourproject.kune.ipr
org.ourproject.kune.iws
nbproject
hibernate.reveng.xml
.gwt-tmp
target-eclipse
.checkstyle

.classpath-bien

pom.xml.*

.gwt

.jdee_sources

.jdee_classpath

prj.el

.factorypath
.apt_generated
target.old
_accounts
_certificates


Modified: trunk/img/webtemplate/web_template-2011.svg
===================================================================
--- trunk/img/webtemplate/web_template-2011.svg	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/img/webtemplate/web_template-2011.svg	2011-02-24 02:37:26 UTC (rev 1261)
@@ -52,9 +52,9 @@
      borderopacity="1.0"
      inkscape:pageopacity="0"
      inkscape:pageshadow="2"
-     inkscape:zoom="2.7077228"
-     inkscape:cx="962.93133"
-     inkscape:cy="392.7939"
+     inkscape:zoom="0.68229167"
+     inkscape:cx="512"
+     inkscape:cy="384"
      inkscape:current-layer="layer1"
      inkscape:document-units="px"
      showgrid="false"
@@ -2640,11 +2640,12 @@
        width="164.7063"
        height="32.31588"
        x="880.42413"
-       y="328.24014" />
+       y="328.24014"
+       ry="4.4317684" />
     <text
        xml:space="preserve"
        style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;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 Bold"
-       x="889.85516"
+       x="903.85516"
        y="349.36758"
        id="text24744-4"
        sodipodi:linespacing="125%"
@@ -2653,7 +2654,7 @@
        inkscape:export-ydpi="90"><tspan
          sodipodi:role="line"
          id="tspan24746-6"
-         x="889.85516"
+         x="903.85516"
          y="349.36758">menu item</tspan></text>
     <text
        inkscape:export-ydpi="90"
@@ -2661,14 +2662,181 @@
        inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
        sodipodi:linespacing="125%"
        id="text6164"
-       y="379.36758"
-       x="889.85516"
+       y="381.36758"
+       x="904.85516"
        style="font-size:16px;font-style:normal;font-variant:normal;font-weight:bold;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 Bold"
        xml:space="preserve"><tspan
-         y="379.36758"
-         x="889.85516"
+         y="381.36758"
+         x="904.85516"
          id="tspan6166"
          sodipodi:role="line">menu item</tspan></text>
+    <rect
+       ry="4.4317684"
+       y="360.24014"
+       x="880.42413"
+       height="32.31588"
+       width="164.7063"
+       id="rect3808"
+       style="opacity:0.84999999999999998;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#cf5c43;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <image
+       y="336.0275"
+       x="885.00128"
+       id="image4011"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAApVJREFU
+OI1lkk9oVFcUh7/3ZpLJjJNkYv2XKDFxjAGLWFypC1Ehiihu2k1pVxUsgcCsgpvgQkTBrMS94CJB
+KrgQBLNwI6IgKoIOMdFYVCyYBjJmMjPOu/ec08Wz8RkPHO7dnI/f+e4NzIxkTU5O5lV1VET2icha
+EcE51+Wc210qlZZZVUESMDEx8ZOq3uzp6env6OggDENUlZmZGebn52ve+12lu2dGAZeZshJAOjGc
+F5EbxWKxP4oipqenqdVqiAhmxkC6cfXI1NhdYANw4v+5FYCIDHd3d293zjE7O/vGe39YRP4REX69
+d3G4q74wDrwCNmWmbPk7gPd+Xy6XY25uDufciZGRkbcAzaPBceAScPXK0PjlfD5/e+H8eRsbGzu4
+GrA+DEOq1Sre+78Tnj4Av1/Ye/ZWsLzc7OzspF6vP/pG4rv7f9jDuUE+fsoiIpz88TEpc5h4zMft
+nHDt2R5UlY1tixzf/JjB00+DOIEZv/x8iICQIJUl4BhoAOk2wEAc4qucG6qBOgBeX3/w1YGJBwy/
+8BfpzDqCIA/aAtkCmEL9E7L0iqjxAfV1sv0jWNRMALwHNZCISvkJYbiGws79vL8zjukGeg8MUXlZ
+Jmos0t7XhZlgLkoCHJhh4igM7iBsXQeBIk3h+UKWXiIKxX4+1zKYr4PpCiAEMOcwExDH4otnVMqP
+IPToZ6XZaIJFVGamqcy+i9dVxZxLJHAupkpEYaCPVO4HCCO2/fYn25yHpY90FntoXWqJE6itBkSg
+ivqISrlMKtcObXlIt4J6WKrQWPwXV6vS3tuBofHaSYCZkNlyiuzWFEFrJn7CsAVUIGrQ3qgiromp
+xL68TwCiJm9ujsYuvMe8+9J+5UQk/lgi8V0FgP8Au3qlSuYS8nsAAAAASUVORK5CYII=
+"
+       height="16"
+       width="16" />
+    <image
+       width="16"
+       height="16"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAApVJREFU
+OI1lkk9oVFcUh7/3ZpLJjJNkYv2XKDFxjAGLWFypC1Ehiihu2k1pVxUsgcCsgpvgQkTBrMS94CJB
+KrgQBLNwI6IgKoIOMdFYVCyYBjJmMjPOu/ec08Wz8RkPHO7dnI/f+e4NzIxkTU5O5lV1VET2icha
+EcE51+Wc210qlZZZVUESMDEx8ZOq3uzp6env6OggDENUlZmZGebn52ve+12lu2dGAZeZshJAOjGc
+F5EbxWKxP4oipqenqdVqiAhmxkC6cfXI1NhdYANw4v+5FYCIDHd3d293zjE7O/vGe39YRP4REX69
+d3G4q74wDrwCNmWmbPk7gPd+Xy6XY25uDufciZGRkbcAzaPBceAScPXK0PjlfD5/e+H8eRsbGzu4
+GrA+DEOq1Sre+78Tnj4Av1/Ye/ZWsLzc7OzspF6vP/pG4rv7f9jDuUE+fsoiIpz88TEpc5h4zMft
+nHDt2R5UlY1tixzf/JjB00+DOIEZv/x8iICQIJUl4BhoAOk2wEAc4qucG6qBOgBeX3/w1YGJBwy/
+8BfpzDqCIA/aAtkCmEL9E7L0iqjxAfV1sv0jWNRMALwHNZCISvkJYbiGws79vL8zjukGeg8MUXlZ
+Jmos0t7XhZlgLkoCHJhh4igM7iBsXQeBIk3h+UKWXiIKxX4+1zKYr4PpCiAEMOcwExDH4otnVMqP
+IPToZ6XZaIJFVGamqcy+i9dVxZxLJHAupkpEYaCPVO4HCCO2/fYn25yHpY90FntoXWqJE6itBkSg
+ivqISrlMKtcObXlIt4J6WKrQWPwXV6vS3tuBofHaSYCZkNlyiuzWFEFrJn7CsAVUIGrQ3qgiromp
+xL68TwCiJm9ujsYuvMe8+9J+5UQk/lgi8V0FgP8Au3qlSuYS8nsAAAAASUVORK5CYII=
+"
+       id="image4014"
+       x="885.00128"
+       y="368.0275" />
+    <rect
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/group-def-icon.png"
+       ry="2.5"
+       y="367.31128"
+       x="1072.8741"
+       height="13.999999"
+       width="14"
+       id="rect2884"
+       style="fill:#ffe6d5;fill-opacity:1;fill-rule:nonzero;stroke:#d45500;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <path
+       inkscape:connector-curvature="0"
+       style="color:#000000;fill:#aad400;fill-opacity:1;fill-rule:evenodd;stroke:#5500d4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1083.8248,369.93911 -5.2833,4.75296 -1.7106,-1.96914 -2.0934,2.14668 c 1.5118,1.34043 2.6383,2.29564 3.8932,3.58472 2.1101,-1.97782 4.2716,-3.54473 6.5614,-5.03458 -0.3489,-1.48877 -0.8009,-2.51535 -1.3673,-3.48064 z"
+       id="rect4453"
+       sodipodi:nodetypes="ccccccc"
+       inkscape:export-filename="/home/vjrj/proyectos/movecommons/images/icongen/cat-selected.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:#ffe6d5;fill-opacity:1;fill-rule:nonzero;stroke:#d45500;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect60658"
+       width="14"
+       height="13.999999"
+       x="1072.8741"
+       y="384.31128"
+       ry="6.9999995"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/group-def-icon.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"
+       rx="6.9999995" />
+    <path
+       inkscape:connector-curvature="0"
+       style="color:#000000;fill:#aad400;fill-opacity:1;fill-rule:evenodd;stroke:#5500d4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       d="m 1066.7427,375.67338 -6.8467,6.15941 -2.2168,-2.55183 -2.7128,2.7819 c 1.9591,1.73709 3.419,2.97495 5.0452,4.64548 2.7345,-2.56308 5.5356,-4.59365 8.503,-6.52437 -0.4521,-1.92931 -1.0379,-3.25966 -1.7719,-4.51059 z"
+       id="rect4453-1"
+       sodipodi:nodetypes="ccccccc"
+       inkscape:export-filename="/home/vjrj/proyectos/movecommons/images/icongen/cat-selected.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       rx="3.7067122"
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/group-def-icon.png"
+       ry="3.7067122"
+       y="387.60455"
+       x="1076.1675"
+       height="7.4134245"
+       width="7.4134245"
+       id="rect60678"
+       style="color:#000000;fill:#aad400;fill-opacity:1;fill-rule:evenodd;stroke:#5500d4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       style="fill:#ffe6d5;fill-opacity:1;fill-rule:nonzero;stroke:#d45500;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect60699"
+       width="14"
+       height="13.999999"
+       x="1072.8741"
+       y="347.31128"
+       ry="2.5"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/group-def-icon.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <rect
+       style="fill:#ffe6d5;fill-opacity:1;fill-rule:nonzero;stroke:#d45500;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect60716"
+       width="14"
+       height="13.999999"
+       x="1072.8741"
+       y="367.31128"
+       ry="2.5"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/group-def-icon.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90" />
+    <path
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="/home/vjrj/proyectos/movecommons/images/icongen/cat-selected.png"
+       sodipodi:nodetypes="ccccccc"
+       id="path60718"
+       d="m 1083.8248,369.93911 -5.2833,4.75296 -1.7106,-1.96914 -2.0934,2.14668 c 1.5118,1.34043 2.6383,2.29564 3.8932,3.58472 2.1101,-1.97782 4.2716,-3.54473 6.5614,-5.03458 -0.3489,-1.48877 -0.8009,-2.51535 -1.3673,-3.48064 z"
+       style="color:#000000;fill:#aad400;fill-opacity:1;fill-rule:evenodd;stroke:#5500d4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       inkscape:connector-curvature="0" />
+    <rect
+       rx="6.9999995"
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/group-def-icon.png"
+       ry="6.9999995"
+       y="384.31128"
+       x="1072.8741"
+       height="13.999999"
+       width="14"
+       id="rect60720"
+       style="fill:#ffe6d5;fill-opacity:1;fill-rule:nonzero;stroke:#d45500;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    <rect
+       style="color:#000000;fill:#aad400;fill-opacity:1;fill-rule:evenodd;stroke:#5500d4;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="rect60722"
+       width="7.4134245"
+       height="7.4134245"
+       x="1076.1675"
+       y="387.60455"
+       ry="3.7067122"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/group-def-icon.png"
+       inkscape:export-xdpi="90"
+       inkscape:export-ydpi="90"
+       rx="3.7067122" />
+    <rect
+       inkscape:export-ydpi="90"
+       inkscape:export-xdpi="90"
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/group-def-icon.png"
+       ry="2.5"
+       y="347.31128"
+       x="1072.8741"
+       height="13.999999"
+       width="14"
+       id="rect60724"
+       style="fill:#ffe6d5;fill-opacity:1;fill-rule:nonzero;stroke:#d45500;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
   </g>
   <g
      inkscape:groupmode="layer"

Added: trunk/script/kune client  -no-server.launch
===================================================================
--- trunk/script/kune client  -no-server.launch	                        (rev 0)
+++ trunk/script/kune client  -no-server.launch	2011-02-24 02:37:26 UTC (rev 1261)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="com.google.gdt.eclipse.suite.webapp">
+<booleanAttribute key="com.google.gdt.eclipse.core.RUN_SERVER" value="false"/>
+<stringAttribute key="com.google.gdt.eclipse.core.SERVER_PORT" value="8080"/>
+<stringAttribute key="com.google.gdt.eclipse.suiteMainTypeProcessor.PREVIOUSLY_SET_MAIN_TYPE_NAME" value="com.google.gwt.dev.DevMode"/>
+<booleanAttribute key="com.google.gdt.eclipse.suiteWarArgumentProcessor.IS_WAR_FROM_PROJECT_PROPERTIES" value="true"/>
+<stringAttribute key="com.google.gwt.eclipse.core.URL" value="/ws/?locale=en&amp;log_level=INFO"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/kune"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gwt.eclipse.core.moduleClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-startupUrl /ws/?locale=en&amp;log_level=INFO -noserver -war /home/vjrj/proyectos/dev/kune/trunk/target/kune-0.0.7 -remoteUI &quot;${gwt_remote_ui_server_port}:${unique_id}&quot; -logLevel INFO -codeServerPort 9997 cc.kune.Kune"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="kune"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
+</launchConfiguration>

Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -147,7 +147,7 @@
         this.roomManager = Suco.get(RoomManager.class);
         Suco.get(SessionReconnect.class);
 
-        eventBus.addHandler(AppStartEvent.getType(), new AppStartEvent.AppStartHandler() {
+        session.onInitDataReceived(true, new AppStartEvent.AppStartHandler() {
             @Override
             public void onAppStart(final AppStartEvent event) {
                 chatOptions.domain = event.getInitData().getChatDomain();
@@ -253,6 +253,7 @@
             dialog.setBodyStyleName("k-chat-window");
             dialog.setScrollMode(Scroll.NONE);
             dialog.setHideOnButtonClick(true);
+            dialog.setCollapsible(true);
             // final Widget btn = (Widget)
             // chatIcon.getValue(ParentWidget.PARENT_UI);
             dialog.setPosition(118, 2);

Modified: trunk/src/main/java/cc/kune/chat/client/ChatParts.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatParts.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/chat/client/ChatParts.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -23,7 +23,7 @@
             final IsPersonCondition isPersonCondition,
             final Provider<StartChatWithMemberAction> startChatWithMemberAction,
             final Provider<StartChatWithUserAction> startChatWithUserAction) {
-        session.onInitDataReceived(new AppStartHandler() {
+        session.onInitDataReceived(true, new AppStartHandler() {
             @Override
             public void onAppStart(final AppStartEvent event) {
                 chatActionsProvider.get();

Modified: trunk/src/main/java/cc/kune/chat/client/ChatSitebarActions.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatSitebarActions.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/chat/client/ChatSitebarActions.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -4,7 +4,7 @@
 import cc.kune.common.client.actions.AbstractAction;
 import cc.kune.common.client.actions.AbstractExtendedAction;
 import cc.kune.common.client.actions.ActionEvent;
-import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
+import cc.kune.common.client.actions.ui.descrip.MenuRadioItemDescriptor;
 import cc.kune.common.client.actions.ui.descrip.MenuSeparatorDescriptor;
 import cc.kune.common.client.actions.ui.descrip.MenuTitleItemDescriptor;
 import cc.kune.core.client.sitebar.SiteUserOptions;
@@ -81,6 +81,7 @@
     }
 
     private static final String CHAT_STATUS = "k-chat-status-group";
+    private static final String GROUP_CHAT_STATUS = "k-group-chat-status";
     private static final String NO_STATUS = null;
     private final ChatClient chatClient;
     private final I18nTranslationService i18n;
@@ -135,9 +136,10 @@
 
     }
 
-    private MenuItemDescriptor createChatStatusAction(final ImageResource icon, final String text,
+    private MenuRadioItemDescriptor createChatStatusAction(final ImageResource icon, final String text,
             final AbstractAction action) {
-        final MenuItemDescriptor item = new MenuItemDescriptor(SiteUserOptionsPresenter.LOGGED_USER_MENU, action);
+        final MenuRadioItemDescriptor item = new MenuRadioItemDescriptor(SiteUserOptionsPresenter.LOGGED_USER_MENU,
+                action, GROUP_CHAT_STATUS);
         item.putValue(AbstractAction.NAME, text);
         item.putValue(AbstractAction.SMALL_ICON, icon);
         return item;

Modified: trunk/src/main/java/cc/kune/common/client/SampleEntryPoint.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/SampleEntryPoint.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/SampleEntryPoint.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -135,7 +135,7 @@
         view.addActions(actions);
 
         final IconLabel simpleIconLabel = new IconLabel("IconLabel (no action)");
-        simpleIconLabel.setIcon("oc-testico");
+        simpleIconLabel.setLeftIcon("oc-testico");
         simpleIconLabel.setTitle("tooltip");
 
         final VerticalPanel panel = new VerticalPanel();

Modified: trunk/src/main/java/cc/kune/common/client/actions/AbstractExtendedAction.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/AbstractExtendedAction.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/AbstractExtendedAction.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -19,10 +19,11 @@
  */
 package cc.kune.common.client.actions;
 
+import com.google.gwt.resources.client.ImageResource;
 
 public abstract class AbstractExtendedAction extends AbstractAction {
+    public static final String NO_ICON = null;
     public static final String NO_TEXT = null;
-    public static final String NO_ICON = null;
 
     public AbstractExtendedAction() {
         super();
@@ -42,4 +43,24 @@
         super.putValue(Action.SHORT_DESCRIPTION, tooltip);
         super.putValue(Action.SMALL_ICON, iconCls);
     }
+
+    public AbstractExtendedAction withIcon(final ImageResource icon) {
+        super.putValue(Action.SHORT_DESCRIPTION, icon);
+        return this;
+    }
+
+    public AbstractExtendedAction withIconCls(final String icon) {
+        super.putValue(Action.SHORT_DESCRIPTION, icon);
+        return this;
+    }
+
+    public AbstractExtendedAction withText(final String text) {
+        super.putValue(Action.NAME, text);
+        return this;
+    }
+
+    public AbstractExtendedAction withToolTip(final String tooltip) {
+        super.putValue(Action.SHORT_DESCRIPTION, tooltip);
+        return this;
+    }
 }
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtButtonGui.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -59,6 +59,7 @@
     @Override
     protected void addStyle(final String style) {
         iconLabel.addStyleName(style);
+        button.addStyleName(style);
         layout();
     }
 
@@ -112,13 +113,13 @@
 
     @Override
     public void setIconResource(final ImageResource icon) {
-        iconLabel.setIconResource(icon);
+        iconLabel.setLeftIconResource(icon);
         layout();
     }
 
     @Override
     protected void setIconStyle(final String style) {
-        iconLabel.setIcon(style);
+        iconLabel.setLeftIcon(style);
         layout();
     }
 

Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuGui.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuGui.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -27,6 +27,7 @@
 import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
 import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
 import cc.kune.common.client.actions.ui.descrip.Position;
+import cc.kune.common.client.resources.SubMenuResources;
 
 import com.google.gwt.event.logical.shared.CloseEvent;
 import com.google.gwt.event.logical.shared.CloseHandler;
@@ -74,7 +75,8 @@
     @Override
     public AbstractGuiItem create(final GuiActionDescrip descriptor) {
         super.create(descriptor);
-        menu = new MenuBar(true);
+        menu = new MenuBar(true, SubMenuResources.INSTANCE);
+        menu.setAutoOpen(true);
         menu.setFocusOnHoverEnabled(true);
         menu.setAnimationEnabled(true);
         descriptor.addPropertyChangeListener(new PropertyChangeListener() {
@@ -112,7 +114,10 @@
     }
 
     public void hide() {
-        popup.hide();
+        if (popup != null) {
+            // if menu (not submenu)
+            popup.hide();
+        }
     }
 
     @Override

Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -33,6 +33,8 @@
 import cc.kune.common.client.actions.ui.descrip.MenuRadioItemDescriptor;
 import cc.kune.common.client.actions.ui.descrip.MenuTitleItemDescriptor;
 import cc.kune.common.client.errors.UIException;
+import cc.kune.common.client.noti.NotifyUser;
+import cc.kune.common.client.resources.CommonIconResources;
 import cc.kune.common.client.ui.IconLabel;
 
 import com.google.gwt.resources.client.ImageResource;
@@ -45,24 +47,40 @@
 
     private IconLabel iconLabel;
     private GwtBaseMenuItem item;
+    private final CommonIconResources res = CommonIconResources.INSTANCE;
 
-    public AbstractGwtMenuItemGui() {
+    private void confCheckListener(final MenuItemDescriptor descriptor, final GwtCheckItem checkItem) {
+        descriptor.addPropertyChangeListener(new PropertyChangeListener() {
+            @Override
+            public void propertyChange(final PropertyChangeEvent event) {
+                if (event.getPropertyName().equals(MenuCheckItemDescriptor.CHECKED)) {
+                    final Boolean checked = (Boolean) event.getNewValue();
+                    NotifyUser.info("Check checked: " + checked);
+                    iconLabel.setRightIconResource(checked ? res.checked() : res.unChecked());
+                    layout();
+                }
+            }
+        });
+        iconLabel.setRightIconResource(res.unChecked());
+        iconLabel.setWidth("100%");
     }
 
-    public AbstractGwtMenuItemGui(final MenuItemDescriptor descriptor) {
-        super(descriptor);
-
-    }
-
-    private void confCheckListener(final MenuItemDescriptor descriptor, final GwtCheckItem checkItem) {
+    private void confRadioCheckListener(final MenuItemDescriptor descriptor, final GwtCheckItem checkItem,
+            final String group) {
         descriptor.addPropertyChangeListener(new PropertyChangeListener() {
             @Override
             public void propertyChange(final PropertyChangeEvent event) {
+
                 if (event.getPropertyName().equals(MenuCheckItemDescriptor.CHECKED)) {
-                    checkItem.setChecked((Boolean) event.getNewValue());
+                    final Boolean checked = (Boolean) event.getNewValue();
+                    NotifyUser.info("Radio checked: " + checked);
+                    iconLabel.setRightIconResource(checked ? res.radioChecked() : res.radioUnChecked());
+                    layout();
                 }
             }
         });
+        iconLabel.setRightIconResource(res.radioUnChecked());
+        iconLabel.setWidth("100%");
     }
 
     @Override
@@ -71,8 +89,8 @@
         iconLabel = new IconLabel("");
         if (descriptor instanceof MenuRadioItemDescriptor) {
             final GwtCheckItem checkItem = createCheckItem((MenuItemDescriptor) descriptor);
-            checkItem.setGroup(((MenuRadioItemDescriptor) descriptor).getGroup());
-            confCheckListener((MenuItemDescriptor) descriptor, checkItem);
+            confRadioCheckListener((MenuItemDescriptor) descriptor, checkItem,
+                    ((MenuRadioItemDescriptor) descriptor).getGroup());
             item = checkItem;
         } else if (descriptor instanceof MenuCheckItemDescriptor) {
             final GwtCheckItem checkItem = createCheckItem((MenuItemDescriptor) descriptor);
@@ -96,6 +114,16 @@
                 getParentMenu(descriptor).hide();
                 final AbstractAction action = descriptor.getAction();
                 if (action != null) {
+                    if (descriptor instanceof MenuRadioItemDescriptor) {
+                        final MenuRadioItemDescriptor checkItem = (MenuRadioItemDescriptor) descriptor;
+                        if (!checkItem.isChecked()) {
+                            checkItem.setChecked(true);
+                        }
+                    } else if (descriptor instanceof MenuCheckItemDescriptor) {
+                        final MenuCheckItemDescriptor checkItem = (MenuCheckItemDescriptor) descriptor;
+                        final boolean currentValue = checkItem.isChecked();
+                        checkItem.setChecked(!currentValue);
+                    }
                     descriptor.getAction().actionPerformed(
                             new ActionEvent(item, getTargetObjectOfAction(descriptor), Event.getCurrentEvent()));
                 }
@@ -106,7 +134,7 @@
         final int position = descriptor.getPosition();
         final AbstractGwtMenuGui menu = getParentMenu(descriptor);
         if (menu == null) {
-            throw new UIException("To add a menu item you need to add the menu before. Item: " + descriptor);
+            throw new UIException("Warning: To add a menu item you need to add the menu before. Item: " + descriptor);
         }
         if (position == GuiActionDescrip.NO_POSITION) {
             menu.add(item);
@@ -150,13 +178,13 @@
 
     @Override
     public void setIconResource(final ImageResource icon) {
-        iconLabel.setIconResource(icon);
+        iconLabel.setLeftIconResource(icon);
         layout();
     }
 
     @Override
     protected void setIconStyle(final String style) {
-        iconLabel.setIcon(style);
+        iconLabel.setLeftIcon(style);
         layout();
     }
 

Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtCheckItem.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtCheckItem.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtCheckItem.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -19,19 +19,18 @@
  */
 package cc.kune.common.client.actions.gwtui;
 
-import cc.kune.common.client.errors.NotImplementedException;
 
 public class GwtCheckItem extends GwtBaseMenuItem {
 
     public void setChecked(final boolean newValue) {
-        throw new NotImplementedException();
+        // throw new NotImplementedException();
     }
 
     /*
      * Checkbox group
      */
     public void setGroup(final String group) {
-        throw new NotImplementedException();
+        // throw new NotImplementedException();
     }
 
 }

Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtIconLabelGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtIconLabelGui.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtIconLabelGui.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -71,7 +71,7 @@
 
     @Override
     protected void setIconStyle(final String style) {
-        iconLabel.setIcon(style);
+        iconLabel.setLeftIcon(style);
     }
 
     @Override

Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtMenuGui.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -93,7 +93,7 @@
     @Override
     public void setIconResource(final ImageResource resource) {
         if (notStandAlone) {
-            iconLabel.setIconResource(resource);
+            iconLabel.setLeftIconResource(resource);
             layout();
         }
     }
@@ -101,7 +101,7 @@
     @Override
     public void setIconStyle(final String style) {
         if (notStandAlone) {
-            iconLabel.setIcon(style);
+            iconLabel.setLeftIcon(style);
             layout();
         }
     }

Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtSubMenuGui.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtSubMenuGui.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/GwtSubMenuGui.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -34,6 +34,7 @@
     @Override
     public AbstractGuiItem create(final GuiActionDescrip descriptor) {
         super.descriptor = descriptor;
+        super.create(descriptor);
         item = new MenuItem("", menu);
         iconLabel = new IconLabel("");
         configureItemFromProperties();
@@ -44,7 +45,6 @@
         } else {
             parentMenu.insert(position, item);
         }
-        super.create(descriptor);
         descriptor.putValue(ParentWidget.PARENT_UI, this);
         return this;
     }
@@ -60,7 +60,7 @@
 
     @Override
     public void setIconStyle(final String style) {
-        iconLabel.setIcon(style);
+        iconLabel.setLeftIcon(style);
         layout();
     }
 

Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractGuiItem.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -76,7 +76,7 @@
         setIcon(descriptor.getValue(Action.SMALL_ICON));
         setEnabled((Boolean) descriptor.getValue(AbstractAction.ENABLED));
         setVisible((Boolean) descriptor.getValue(GuiActionDescrip.VISIBLE));
-        setStyles((String) descriptor.getValue(GuiActionDescrip.STYLES));
+        setStyles((String) descriptor.getValue(Action.STYLES));
     }
 
     @Override
@@ -97,7 +97,7 @@
                     setToolTipText((String) newValue);
                 } else if (event.getPropertyName().equals(GuiActionDescrip.VISIBLE)) {
                     setVisible((Boolean) newValue);
-                } else if (event.getPropertyName().equals(GuiActionDescrip.STYLES)) {
+                } else if (event.getPropertyName().equals(Action.STYLES)) {
                     setStyles((String) newValue);
                 }
             }

Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/AbstractGuiActionDescrip.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -204,7 +204,7 @@
 
     @Override
     public void setStyles(final String styles) {
-        putValue(STYLES, styles);
+        putValue(Action.STYLES, styles);
     }
 
     @Override
@@ -224,4 +224,40 @@
         return "[GuiActionDescrip: " + getClass().getName() + (name == null ? "" : " " + name)
                 + (tooltip == null ? "" : " " + tooltip) + "]";
     }
+
+    @Override
+    public GuiActionDescrip withIcon(final Object icon) {
+        super.putValue(Action.SMALL_ICON, icon);
+        return this;
+    }
+
+    @Override
+    public GuiActionDescrip withIconCls(final String icon) {
+        putValue(Action.SMALL_ICON, icon);
+        return this;
+    }
+
+    @Override
+    public GuiActionDescrip withParent(final GuiActionDescrip parent) {
+        setParent(parent);
+        return this;
+    }
+
+    @Override
+    public GuiActionDescrip withStyles(final String styles) {
+        setStyles(styles);
+        return this;
+    }
+
+    @Override
+    public GuiActionDescrip withText(final String text) {
+        putValue(Action.NAME, text);
+        return this;
+    }
+
+    @Override
+    public GuiActionDescrip withToolTip(final String tooltip) {
+        putValue(Action.SHORT_DESCRIPTION, tooltip);
+        return this;
+    }
 }

Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/GuiActionDescrip.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -11,11 +11,6 @@
     public static final int NO_POSITION = -1;
 
     /**
-     * Coma separated, styles of the Gui item
-     */
-    public static final String STYLES = "stylesprop";
-
-    /**
      * {@link #TARGET} is used to associate a {@link #AbstractGuiActionDescrip}
      * with an object like groups, group names, users, and so on, and used to
      * execute actions against these targets
@@ -80,4 +75,16 @@
 
     void setVisible(final boolean visible);
 
+    GuiActionDescrip withIcon(Object icon);
+
+    GuiActionDescrip withIconCls(String icon);
+
+    GuiActionDescrip withParent(GuiActionDescrip parent);
+
+    GuiActionDescrip withStyles(String styles);
+
+    GuiActionDescrip withText(String text);
+
+    GuiActionDescrip withToolTip(String tooltip);
+
 }

Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuRadioItemDescriptor.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuRadioItemDescriptor.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/actions/ui/descrip/MenuRadioItemDescriptor.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -23,6 +23,7 @@
 
 public class MenuRadioItemDescriptor extends MenuCheckItemDescriptor {
 
+    public static final String CHECKED_ITEM = "-checkeditem";
     private final String group;
 
     public MenuRadioItemDescriptor(final MenuDescriptor parent, final AbstractAction action, final String group) {
@@ -38,4 +39,21 @@
     public Class<?> getType() {
         return MenuRadioItemDescriptor.class;
     }
+
+    private String previousCheckedItemId() {
+        return group + CHECKED_ITEM;
+    }
+
+    @Override
+    public void setChecked(final boolean checked) {
+        if (checked) {
+            final MenuRadioItemDescriptor previous = (MenuRadioItemDescriptor) parent.getValue(previousCheckedItemId());
+            if (previous != null) {
+                previous.setChecked(false);
+            }
+            parent.putValue(previousCheckedItemId(), this);
+        }
+        super.setChecked(checked);
+    }
+
 }

Added: trunk/src/main/java/cc/kune/common/client/resources/CommonIconCssResource.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/resources/CommonIconCssResource.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/resources/CommonIconCssResource.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -0,0 +1,25 @@
+/*
+ *
+ * Copyright (C) 2007-2011 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.common.client.resources;
+
+import com.google.gwt.resources.client.CssResource;
+
+public interface CommonIconCssResource extends CssResource {
+}

Added: trunk/src/main/java/cc/kune/common/client/resources/CommonIconResources.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/resources/CommonIconResources.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/resources/CommonIconResources.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -0,0 +1,41 @@
+/*
+ *
+ * Copyright (C) 2007-2011 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.common.client.resources;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.resources.client.ClientBundle;
+import com.google.gwt.resources.client.ImageResource;
+
+public interface CommonIconResources extends ClientBundle {
+
+    public static final CommonIconResources INSTANCE = GWT.create(CommonIconResources.class);
+
+    @Source("checked.png")
+    ImageResource checked();
+
+    @Source("radiochecked.png")
+    ImageResource radioChecked();
+
+    @Source("radiounchecked.png")
+    ImageResource radioUnChecked();
+
+    @Source("unchecked.png")
+    ImageResource unChecked();
+}

Added: trunk/src/main/java/cc/kune/common/client/resources/SubMenuResources.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/resources/SubMenuResources.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/common/client/resources/SubMenuResources.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -0,0 +1,13 @@
+package cc.kune.common.client.resources;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.resources.client.ImageResource;
+import com.google.gwt.user.client.ui.MenuBar.Resources;
+
+public interface SubMenuResources extends Resources {
+    public static final SubMenuResources INSTANCE = GWT.create(SubMenuResources.class);
+
+    @Override
+    @Source("arrow-right-white.gif")
+    ImageResource menuBarSubMenuIcon();
+}

Added: trunk/src/main/java/cc/kune/common/client/resources/arrow-right-white.gif
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/cc/kune/common/client/resources/arrow-right-white.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/cc/kune/common/client/resources/checked.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/cc/kune/common/client/resources/checked.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/cc/kune/common/client/resources/radiochecked.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/cc/kune/common/client/resources/radiochecked.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/cc/kune/common/client/resources/radiounchecked.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/cc/kune/common/client/resources/radiounchecked.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: trunk/src/main/java/cc/kune/common/client/resources/unchecked.png
===================================================================
(Binary files differ)


Property changes on: trunk/src/main/java/cc/kune/common/client/resources/unchecked.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/ui/IconLabel.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -46,8 +46,10 @@
     @UiField
     FlowPanel flow;
     @UiField
-    Image icon;
+    Image iconLeft;
     @UiField
+    Image iconRight;
+    @UiField
     InlineLabel label;
     @UiField
     FocusPanel self;
@@ -106,20 +108,34 @@
         return flow.remove(w);
     }
 
-    public void setIcon(final String imgCss) {
-        icon.setUrl("images/clear.gif");
-        icon.setStyleName(imgCss);
-        icon.addStyleName("oc-ico-pad");
+    public void setLabelText(final String text) {
+        label.setText(text);
     }
 
-    public void setIconResource(final ImageResource res) {
-        icon.setResource(res);
+    public void setLeftIcon(final String imgCss) {
+        iconLeft.setUrl("images/clear.gif");
+        iconLeft.setStyleName(imgCss);
+        iconLeft.addStyleName("k-iconlabel-left");
+        iconLeft.addStyleName("oc-ico-pad");
     }
 
-    public void setLabelText(final String text) {
-        label.setText(text);
+    public void setLeftIconResource(final ImageResource res) {
+        iconLeft.setResource(res);
+        iconRight.addStyleName("k-iconlabel-left");
     }
 
+    public void setRightIcon(final String imgCss) {
+        iconRight.setUrl("images/clear.gif");
+        iconRight.setStyleName(imgCss);
+        iconRight.addStyleName("oc-ico-pad");
+        iconRight.addStyleName("k-iconlabel-right");
+    }
+
+    public void setRightIconResource(final ImageResource res) {
+        iconRight.setResource(res);
+        iconRight.addStyleName("k-iconlabel-right");
+    }
+
     @Override
     public void setText(final String text) {
         label.setText(text);

Modified: trunk/src/main/java/cc/kune/common/client/ui/IconLabel.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/IconLabel.ui.xml	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/client/ui/IconLabel.ui.xml	2011-02-24 02:37:26 UTC (rev 1261)
@@ -2,24 +2,24 @@
 <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
   xmlns:g="urn:import:com.google.gwt.user.client.ui">
   <ui:style>
-    .label { /* padding-left: 4px; */
-      text-decoration: none;
+    .label {
+        text-decoration: none;
     }
 
     .label a:link {
-      text-decoration: none;
-      color: gray;
+        text-decoration: none;
+        color: gray;
     }
 
-    .pad { /* padding-left: 5px; */
-
+    .pad {
+        white-space: nowrap;
     }
   </ui:style>
   <g:FocusPanel ui:field="self">
-    <g:FlowPanel styleName="{style.pad}"
-      ui:field="flow">
-      <g:Image ui:field="icon"/>
+    <g:FlowPanel styleName="{style.pad}" ui:field="flow">
+      <g:Image ui:field="iconLeft" />
       <g:InlineLabel ui:field="label" styleName="{style.label}" />
+      <g:Image ui:field="iconRight" />
     </g:FlowPanel>
   </g:FocusPanel>
 </ui:UiBinder>
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css
===================================================================
--- trunk/src/main/java/cc/kune/common/public/kune-common.css	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/common/public/kune-common.css	2011-02-24 02:37:26 UTC (rev 1261)
@@ -21,21 +21,21 @@
 }
 
 .k-opacity80 {
-    kfilter: alpha(opacity =                           80);
+    kfilter: alpha(opacity =                             80);
     -moz-opacity: 0.80;
     -khtml-opacity: 0.80;
     opacity: 0.80;
 }
 
 .k-opacity90 {
-    kfilter: alpha(opacity =                           90);
+    kfilter: alpha(opacity =                             90);
     -moz-opacity: 0.90;
     -khtml-opacity: 0.90;
     opacity: 0.90;
 }
 
 .k-opacity95 {
-    kfilter: alpha(opacity =                           95);
+    kfilter: alpha(opacity =                             95);
     -moz-opacity: 0.95;
     -khtml-opacity: 0.95;
     opacity: 0.95;
@@ -43,7 +43,7 @@
 
 .gwt-PopupPanelGlass {
     background-color: #f7ebe3 !important;
-    kfilter: alpha(opacity =                           68) !important;
+    kfilter: alpha(opacity =                             68) !important;
     -moz-opacity: 0.68 !important;
     -khtml-opacity: 0.68 !important;
     opacity: 0.68 !important;
@@ -263,7 +263,7 @@
     background-color: #280b0b;
 }
 
-.oc-menu .gwt-MenuBar-vertical {
+.oc-menu .gwt-MenuBar-vertical, .gwt-MenuBar-vertical  {
     background-color: #280b0b;
     border: 2px solid #552200;
     padding: 3px;
@@ -273,7 +273,7 @@
     -webkit-border-bottom-left-radius: 5px;
     -moz-border-radius-bottomleft: 5px;
     border-bottom-left-radius: 5px;
-    kfilter: alpha(opacity =   90);
+    kfilter: alpha(opacity =     90);
     -moz-opacity: 0.90;
     -khtml-opacity: 0.90;
     opacity: 0.90;
@@ -436,4 +436,17 @@
     border-left: 1px solid #B3B3B3;
     height: 10px;
     margin-top: 4px;
+}
+
+.k-iconlabel-left {
+    float: left;
+}
+
+.k-iconlabel-right {
+    float: right;
+ /*   margin-left: 5px; */
+}
+
+.gwt-MenuBar-vertical .subMenuIcon-selected {
+    background: none repeat scroll 0 0 #808080;
 }
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/core/client/CoreParts.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/CoreParts.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/CoreParts.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -4,6 +4,7 @@
 import cc.kune.core.client.init.AppStartEvent.AppStartHandler;
 import cc.kune.core.client.sitebar.SiteUserOptionsPresenter;
 import cc.kune.core.client.sn.GroupMembersPresenter;
+import cc.kune.core.client.sn.actions.GroupMembersConfActions;
 import cc.kune.core.client.state.Session;
 import cc.kune.core.client.ui.footer.license.EntityLicensePresenter;
 
@@ -14,10 +15,12 @@
 
     @Inject
     public CoreParts(final Session session, final Provider<GroupMembersPresenter> grouMembersPresenter,
+            final Provider<GroupMembersConfActions> groupMembersConfActions,
             final Provider<SiteUserOptionsPresenter> userOptions, final Provider<EntityLicensePresenter> licenseFooter) {
-        session.onInitDataReceived(new AppStartHandler() {
+        session.onInitDataReceived(true, new AppStartHandler() {
             @Override
             public void onAppStart(final AppStartEvent event) {
+                groupMembersConfActions.get();
                 grouMembersPresenter.get();
                 userOptions.get();
                 licenseFooter.get();

Modified: trunk/src/main/java/cc/kune/core/client/logs/Log.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/logs/Log.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/logs/Log.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -24,19 +24,23 @@
 public class Log {
 
     public static void debug(final String message) {
-        GWT.log(message);
+        GWT.log(prefix(message));
     }
 
     public static void debug(final String message, final Throwable caught) {
-        GWT.log(message, caught);
+        GWT.log(prefix(message), caught);
     }
 
     public static void error(final String message) {
-        debug(message);
+        debug(prefix(message));
     }
 
     public static void info(final String message) {
-        GWT.log(message);
+        GWT.log(prefix(message));
     }
 
+    private static String prefix(final String message) {
+        return new StringBuffer().append("-KUNE-----").append(message).toString();
+    }
+
 }

Modified: trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/resources/icons/IconResources.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -30,6 +30,9 @@
     @Source("bug.png")
     ImageResource bug();
 
+    @Source("checked.png")
+    ImageResource checked();
+
     @Source("kicon.css")
     IconCssResource css();
 
@@ -56,4 +59,13 @@
 
     @Source("prefs.png")
     ImageResource prefs();
+
+    @Source("radiochecked.png")
+    ImageResource radiochecked();
+
+    @Source("radiounchecked.png")
+    ImageResource radioUnChecked();
+
+    @Source("unchecked.png")
+    ImageResource unChecked();
 }

Added: trunk/src/main/java/cc/kune/core/client/resources/icons/checked.png
===================================================================
(Binary files differ)


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

Added: trunk/src/main/java/cc/kune/core/client/resources/icons/radiochecked.png
===================================================================
(Binary files differ)


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

Added: trunk/src/main/java/cc/kune/core/client/resources/icons/radiounchecked.png
===================================================================
(Binary files differ)


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

Added: trunk/src/main/java/cc/kune/core/client/resources/icons/unchecked.png
===================================================================
(Binary files differ)


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

Modified: trunk/src/main/java/cc/kune/core/client/sn/GroupMembersPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/GroupMembersPresenter.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/sn/GroupMembersPresenter.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -5,8 +5,6 @@
 import cc.kune.common.client.actions.ui.IsActionExtensible;
 import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
 import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
-import cc.kune.core.client.init.AppStartEvent;
-import cc.kune.core.client.init.AppStartEvent.AppStartHandler;
 import cc.kune.core.client.services.FileDownloadUtils;
 import cc.kune.core.client.sn.actions.registry.AbstractSNMembersActionsRegistry;
 import cc.kune.core.client.sn.actions.registry.GroupMembersActionsRegistry;
@@ -41,7 +39,6 @@
 
     public interface GroupMembersView extends View {
         int AVATARLABELMAXSIZE = 4;
-        // int AVATARSIZE = 32;
         int AVATARSIZE = 22;
         String NOAVATAR = "";
 
@@ -79,11 +76,9 @@
 
     private final GroupMembersActionsRegistry actionsRegistry;
     private final SNAdminsMenuItemsRegistry adminsMenuItemsRegistry;
-
     private final SNCollabsMenuItemsRegistry collabsMenuItemsRegistry;
     private final Provider<FileDownloadUtils> downloadProvider;
     private final SNPendingsMenuItemsRegistry pendingsMenuItemsRegistry;
-    private final Session session;
 
     @Inject
     public GroupMembersPresenter(final EventBus eventBus, final GroupMembersView view, final GroupMembersProxy proxy,
@@ -93,13 +88,12 @@
             final SNPendingsMenuItemsRegistry pendingsMenuItemsRegistry,
             final GroupMembersActionsRegistry actionsRegistry) {
         super(eventBus, view, proxy);
-        this.session = session;
         this.downloadProvider = downloadProvider;
         this.adminsMenuItemsRegistry = adminsMenuItemsRegistry;
         this.collabsMenuItemsRegistry = collabsMenuItemsRegistry;
         this.pendingsMenuItemsRegistry = pendingsMenuItemsRegistry;
         this.actionsRegistry = actionsRegistry;
-        stateManager.onStateChanged(new StateChangedEvent.StateChangedHandler() {
+        stateManager.onStateChanged(true, new StateChangedEvent.StateChangedHandler() {
             @Override
             public void onStateChanged(final StateChangedEvent event) {
                 GroupMembersPresenter.this.onStateChanged(event.getState());
@@ -112,12 +106,6 @@
                 GroupMembersPresenter.this.onStateChanged(event.getState());
             }
         });
-        session.onInitDataReceived(new AppStartHandler() {
-            @Override
-            public void onAppStart(final AppStartEvent event) {
-                // FIXME
-            }
-        });
         createActions();
     }
 

Added: trunk/src/main/java/cc/kune/core/client/sn/actions/GroupMembersConfActions.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/GroupMembersConfActions.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/GroupMembersConfActions.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -0,0 +1,48 @@
+package cc.kune.core.client.sn.actions;
+
+import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
+import cc.kune.common.client.actions.ui.descrip.SubMenuDescriptor;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.sn.actions.conditions.IsGroupCondition;
+import cc.kune.core.client.sn.actions.registry.GroupMembersActionsRegistry;
+import cc.kune.core.shared.domain.AdmissionType;
+import cc.kune.core.shared.domain.SocialNetworkVisibility;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class GroupMembersConfActions {
+
+    public static final SubMenuDescriptor MODERATION_SUBMENU = new SubMenuDescriptor();
+    public static final MenuDescriptor OPTIONS_MENU = new MenuDescriptor();
+    public static final SubMenuDescriptor VISIBILITY_SUBMENU = new SubMenuDescriptor();
+
+    @Inject
+    public GroupMembersConfActions(final I18nTranslationService i18n, final GroupMembersActionsRegistry registry,
+            final Provider<MembersVisibilityMenuItem> membersVisibility,
+            final Provider<MembersModerationMenuItem> membersModeration, final CoreResources res,
+            final JoinGroupAction joinGroupAction, final IsGroupCondition isGroupCondition,
+            final UnJoinGroupAction unJoinGroupAction) {
+        OPTIONS_MENU.withText(i18n.t("More")).withIcon(res.arrowDownSitebar()).withStyles("k-sn-options-menu");
+        registry.add(OPTIONS_MENU);
+        registry.add(VISIBILITY_SUBMENU.withText(i18n.t("Those who can view this member list")).withParent(OPTIONS_MENU));
+        registry.add(MODERATION_SUBMENU.withText(i18n.t("New members policy")).withParent(OPTIONS_MENU));
+        registry.add(membersVisibility.get().withVisibility(SocialNetworkVisibility.anyone).withParent(
+                VISIBILITY_SUBMENU).withText(i18n.t("anyone")));
+        registry.add(membersVisibility.get().withVisibility(SocialNetworkVisibility.onlymembers).withParent(
+                VISIBILITY_SUBMENU).withText(i18n.t("only members")));
+        registry.add(membersVisibility.get().withVisibility(SocialNetworkVisibility.onlyadmins).withParent(
+                VISIBILITY_SUBMENU).withText(i18n.t("only admins")));
+        registry.add(membersModeration.get().withModeration(AdmissionType.Moderated).withParent(MODERATION_SUBMENU).withText(
+                i18n.t("moderate request to join")));
+        registry.add(membersModeration.get().withModeration(AdmissionType.Open).withParent(MODERATION_SUBMENU).withText(
+                i18n.t("auto accept request to join")));
+        registry.add(membersModeration.get().withModeration(AdmissionType.Closed).withParent(MODERATION_SUBMENU).withText(
+                i18n.t("closed for new members")));
+
+        registry.add(new ButtonDescriptor(joinGroupAction).withStyles("k-no-backimage"));
+        registry.add(new ButtonDescriptor(unJoinGroupAction).withStyles("k-no-backimage"));
+    }
+}

Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/JoinGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/JoinGroupAction.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/JoinGroupAction.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -27,6 +27,7 @@
         putValue(NAME, i18n.t("Participate"));
         putValue(SHORT_DESCRIPTION, i18n.t("Request to participate in this group"));
         putValue(Action.SMALL_ICON, res.addGreen());
+        putValue(Action.STYLES, "k-sn-join");
     }
 
     @Override

Added: trunk/src/main/java/cc/kune/core/client/sn/actions/MembersModerationAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/MembersModerationAction.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/MembersModerationAction.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -0,0 +1,45 @@
+package cc.kune.core.client.sn.actions;
+
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.noti.NotifyUser;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.domain.AdmissionType;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class MembersModerationAction extends AbstractExtendedAction {
+
+    private AdmissionType admissionType;
+    private final Provider<GroupServiceAsync> groupServiceProvider;
+    private final I18nTranslationService i18n;
+    private final Session session;
+
+    @Inject
+    public MembersModerationAction(final Session session, final I18nTranslationService i18n,
+            final Provider<GroupServiceAsync> groupServiceProvider) {
+        this.session = session;
+        this.i18n = i18n;
+        this.groupServiceProvider = groupServiceProvider;
+    }
+
+    @Override
+    public void actionPerformed(final ActionEvent event) {
+        groupServiceProvider.get().setGroupNewMembersJoiningPolicy(session.getUserHash(),
+                session.getCurrentState().getGroup().getStateToken(), admissionType, new AsyncCallbackSimple<Void>() {
+                    @Override
+                    public void onSuccess(final Void result) {
+                        NotifyUser.info(i18n.t("Members joining policy changed"));
+                    }
+                });
+    }
+
+    public void setAdmissionType(final AdmissionType admissionType) {
+        this.admissionType = admissionType;
+    }
+
+}

Added: trunk/src/main/java/cc/kune/core/client/sn/actions/MembersModerationMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/MembersModerationMenuItem.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/MembersModerationMenuItem.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -0,0 +1,23 @@
+package cc.kune.core.client.sn.actions;
+
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
+import cc.kune.common.client.actions.ui.descrip.MenuRadioItemDescriptor;
+import cc.kune.core.shared.domain.AdmissionType;
+
+import com.google.inject.Inject;
+
+public class MembersModerationMenuItem extends MenuRadioItemDescriptor {
+
+    private static final String GROUP_MEMBERS_MODERATION = "k-sn-gmembers-vis";
+
+    @Inject
+    public MembersModerationMenuItem(final MenuDescriptor parent, final MembersModerationAction action) {
+        super(parent, action, GROUP_MEMBERS_MODERATION);
+    }
+
+    public MenuRadioItemDescriptor withModeration(final AdmissionType admissionType) {
+        ((MembersModerationAction) getAction()).setAdmissionType(admissionType);
+        return this;
+    }
+
+}
\ No newline at end of file

Added: trunk/src/main/java/cc/kune/core/client/sn/actions/MembersVisibilityAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/MembersVisibilityAction.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/MembersVisibilityAction.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -0,0 +1,46 @@
+package cc.kune.core.client.sn.actions;
+
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.noti.NotifyUser;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.GroupServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.domain.SocialNetworkVisibility;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class MembersVisibilityAction extends AbstractExtendedAction {
+
+    private final Provider<GroupServiceAsync> groupServiceProvider;
+    private final I18nTranslationService i18n;
+    private final Session session;
+    private SocialNetworkVisibility visibility;
+
+    @Inject
+    public MembersVisibilityAction(final Session session, final I18nTranslationService i18n,
+            final Provider<GroupServiceAsync> groupServiceProvider) {
+        this.session = session;
+        this.i18n = i18n;
+        this.groupServiceProvider = groupServiceProvider;
+    }
+
+    @Override
+    public void actionPerformed(final ActionEvent event) {
+        groupServiceProvider.get().setSocialNetworkVisibility(session.getUserHash(),
+                session.getCurrentState().getGroup().getStateToken(), visibility, new AsyncCallbackSimple<Void>() {
+                    @Override
+                    public void onSuccess(final Void result) {
+                        NotifyUser.info(i18n.t("Members visibility changed"));
+                    }
+                });
+    }
+
+    public void setVisibility(final SocialNetworkVisibility visibility) {
+        this.visibility = visibility;
+
+    }
+
+}

Added: trunk/src/main/java/cc/kune/core/client/sn/actions/MembersVisibilityMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/MembersVisibilityMenuItem.java	                        (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/MembersVisibilityMenuItem.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -0,0 +1,23 @@
+package cc.kune.core.client.sn.actions;
+
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
+import cc.kune.common.client.actions.ui.descrip.MenuRadioItemDescriptor;
+import cc.kune.core.shared.domain.SocialNetworkVisibility;
+
+import com.google.inject.Inject;
+
+public class MembersVisibilityMenuItem extends MenuRadioItemDescriptor {
+
+    private static final String GROUP_MEMBERS_VISIBILITY = "k-sn-gmembers-vis";
+
+    @Inject
+    public MembersVisibilityMenuItem(final MenuDescriptor parent, final MembersVisibilityAction action) {
+        super(parent, action, GROUP_MEMBERS_VISIBILITY);
+    }
+
+    public MenuRadioItemDescriptor withVisibility(final SocialNetworkVisibility visibility) {
+        ((MembersVisibilityAction) getAction()).setVisibility(visibility);
+        return this;
+    }
+
+}
\ No newline at end of file

Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinGroupAction.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinGroupAction.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -28,6 +28,7 @@
         putValue(NAME, i18n.t("Leave this group"));
         putValue(SHORT_DESCRIPTION, i18n.t("Do not participate anymore in this group"));
         putValue(Action.SMALL_ICON, res.del());
+        putValue(Action.STYLES, "k-sn-join");
     }
 
     @Override

Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupMembersActionsRegistry.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupMembersActionsRegistry.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupMembersActionsRegistry.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -1,22 +1,6 @@
 package cc.kune.core.client.sn.actions.registry;
 
-import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
-import cc.kune.core.client.sn.actions.JoinGroupAction;
-import cc.kune.core.client.sn.actions.UnJoinGroupAction;
-import cc.kune.core.client.sn.actions.conditions.IsGroupCondition;
 
-import com.google.inject.Inject;
-
 public class GroupMembersActionsRegistry extends AbstractSNActionsRegistry {
-    @Inject
-    public GroupMembersActionsRegistry(final JoinGroupAction joinGroupAction, final IsGroupCondition isGroupCondition,
-            final UnJoinGroupAction unJoinGroupAction) {
-        final ButtonDescriptor join = new ButtonDescriptor(joinGroupAction);
-        final ButtonDescriptor unjoin = new ButtonDescriptor(unJoinGroupAction);
-        // join.setStyles("k-no-backimage");
-        // unjoin.setStyles("k-no-backimage");
-        // join.add(isGroupCondition);
-        add(join);
-        add(unjoin);
-    }
+
 }

Modified: trunk/src/main/java/cc/kune/core/client/state/AccessRightsClientManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/AccessRightsClientManager.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/state/AccessRightsClientManager.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -33,7 +33,7 @@
     public AccessRightsClientManager(final EventBus eventBus, final StateManager stateManager) {
         this.eventBus = eventBus;
         this.previousRights = null;
-        stateManager.onStateChanged(new StateChangedHandler() {
+        stateManager.onStateChanged(true, new StateChangedHandler() {
 
             @Override
             public void onStateChanged(final StateChangedEvent event) {

Modified: trunk/src/main/java/cc/kune/core/client/state/Session.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/Session.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/state/Session.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -136,7 +136,7 @@
 
     boolean isNotLogged();
 
-    void onInitDataReceived(AppStartEvent.AppStartHandler handler);
+    void onInitDataReceived(boolean fireNow, AppStartEvent.AppStartHandler handler);
 
     @Deprecated
     void onInitDataReceived(Listener<InitDataDTO> listener);

Modified: trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/state/SessionDefault.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -292,8 +292,11 @@
     }
 
     @Override
-    public void onInitDataReceived(final AppStartHandler handler) {
+    public void onInitDataReceived(final boolean fireNow, final AppStartHandler handler) {
         eventBus.addHandler(AppStartEvent.getType(), handler);
+        if (fireNow && initData != null) {
+            handler.onAppStart(new AppStartEvent(initData));
+        }
     }
 
     @Override

Modified: trunk/src/main/java/cc/kune/core/client/state/SiteTokenListeners.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/SiteTokenListeners.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/state/SiteTokenListeners.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -40,8 +40,9 @@
     private final Provider<StateManager> stateManager;
 
     @Inject
-    public SiteTokenListeners(final EventBus eventBus, final Provider<StateManager> stateManager,
-            final Provider<SignIn> signIn, final Provider<Register> register, final Provider<NewGroup> newGroup,
+    public SiteTokenListeners(final Session session, final EventBus eventBus,
+            final Provider<StateManager> stateManager, final Provider<SignIn> signIn,
+            final Provider<Register> register, final Provider<NewGroup> newGroup,
             final Provider<AboutKuneDialog> aboutKuneDialog) {
         this.stateManager = stateManager;
         this.signIn = signIn;
@@ -49,7 +50,7 @@
         this.newGroup = newGroup;
         this.aboutKuneDialog = aboutKuneDialog;
         init();
-        eventBus.addHandler(AppStartEvent.getType(), new AppStartHandler() {
+        session.onInitDataReceived(true, new AppStartHandler() {
             @Override
             public void onAppStart(final AppStartEvent event) {
             }

Modified: trunk/src/main/java/cc/kune/core/client/state/StateManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManager.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManager.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -47,11 +47,16 @@
 
     void onSocialNetworkChanged(SocialNetworkChangedEvent.SocialNetworkChangedHandler handler);
 
+    /**
+     * @param fireNow
+     *            if true, fire handler with current state
+     * @param handler
+     */
+    void onStateChanged(boolean fireNow, StateChangedEvent.StateChangedHandler handler);
+
     @Deprecated
     void onStateChanged(Listener<StateAbstractDTO> listener);
 
-    void onStateChanged(StateChangedEvent.StateChangedHandler handler);
-
     @Deprecated
     void onToolChanged(Listener2<String, String> listener);
 

Modified: trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -153,7 +153,7 @@
         if (beforeStateChangeCollection.checkBeforeAction()) {
             final HistoryTokenCallback tokenListener = siteTokens.get(historyToken != null ? historyToken.toLowerCase()
                     : historyToken);
-            Log.debug("StateManager: history token changed (" + historyToken + ")");
+            Log.debug("StateManager: on history changed (" + historyToken + ")");
             if (tokenListener == null) {
                 // Ok, normal token change
                 onHistoryChanged(new StateToken(historyToken));
@@ -182,13 +182,18 @@
     }
 
     @Override
-    public void onStateChanged(final Listener<StateAbstractDTO> listener) {
-        throw new NotImplementedException();
+    public void onStateChanged(final boolean fireNow, final StateChangedHandler handler) {
+        eventBus.addHandler(StateChangedEvent.getType(), handler);
+        if (fireNow) {
+            if (session.getCurrentState() != null) {
+                handler.onStateChanged(new StateChangedEvent(session.getCurrentState()));
+            }
+        }
     }
 
     @Override
-    public void onStateChanged(final StateChangedHandler handler) {
-        eventBus.addHandler(StateChangedEvent.getType(), handler);
+    public void onStateChanged(final Listener<StateAbstractDTO> listener) {
+        throw new NotImplementedException();
     }
 
     @Override
@@ -203,6 +208,7 @@
 
     @Override
     public void onValueChange(final ValueChangeEvent<String> event) {
+        Log.info("History event value changed: " + event.getValue());
         onHistoryChanged(event.getValue());
     }
 

Modified: trunk/src/main/java/cc/kune/core/client/ui/dialogs/BasicDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/dialogs/BasicDialog.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/ui/dialogs/BasicDialog.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -142,7 +142,7 @@
 
     public void setTitleIcon(final String icon) {
         if (TextUtils.notEmpty(icon)) {
-            title.setIcon(icon);
+            title.setLeftIcon(icon);
         }
     }
 

Modified: trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicensePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicensePresenter.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/client/ui/footer/license/EntityLicensePresenter.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -64,7 +64,7 @@
     public EntityLicensePresenter(final EventBus eventBus, final EntityLicenseView view,
             final EntityLicenseProxy proxy, final StateManager stateManager) {
         super(eventBus, view, proxy);
-        stateManager.onStateChanged(new StateChangedHandler() {
+        stateManager.onStateChanged(true, new StateChangedHandler() {
 
             @Override
             public void onStateChanged(final StateChangedEvent event) {

Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/core/public/ws.css	2011-02-24 02:37:26 UTC (rev 1261)
@@ -945,4 +945,16 @@
     float: right;
     margin: 10px 15px 0px 5px;
     cursor: pointer;
-}
\ No newline at end of file
+}
+
+.k-sn-options-menu {
+    float: left;
+}
+
+.k-sn-options-menu button {
+    background-color: none;
+}
+
+.k-sn-join {
+  float:left;
+}

Modified: trunk/src/main/java/cc/kune/pspace/client/PSpacePresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/pspace/client/PSpacePresenter.java	2011-02-22 02:22:10 UTC (rev 1260)
+++ trunk/src/main/java/cc/kune/pspace/client/PSpacePresenter.java	2011-02-24 02:37:26 UTC (rev 1261)
@@ -21,8 +21,10 @@
 
 import cc.kune.common.client.actions.ui.IsActionExtensible;
 import cc.kune.core.client.init.AppStartEvent;
+import cc.kune.core.client.state.Session;
 import cc.kune.core.client.state.StateChangedEvent;
 import cc.kune.core.client.state.StateChangedEvent.StateChangedHandler;
+import cc.kune.core.client.state.StateManager;
 import cc.kune.core.shared.domain.ContentStatus;
 import cc.kune.core.shared.domain.utils.StateToken;
 import cc.kune.core.shared.dto.GroupListDTO;
@@ -61,15 +63,16 @@
     private final StateTokenUtils stateTokenUtils;
 
     @Inject
-    public PSpacePresenter(final EventBus eventBus, final PSpaceView view, final PSpaceProxy proxy,
-            final I18nTranslationService i18n, final StateTokenUtils stateTokenUtils) {
+    public PSpacePresenter(final Session session, final StateManager stateManager, final EventBus eventBus,
+            final PSpaceView view, final PSpaceProxy proxy, final I18nTranslationService i18n,
+            final StateTokenUtils stateTokenUtils) {
         super(eventBus, view, proxy);
         this.i18n = i18n;
         this.stateTokenUtils = stateTokenUtils;
-        eventBus.addHandler(AppStartEvent.getType(), new AppStartEvent.AppStartHandler() {
+        session.onInitDataReceived(true, new AppStartEvent.AppStartHandler() {
             @Override
             public void onAppStart(final AppStartEvent event) {
-                eventBus.addHandler(StateChangedEvent.getType(), new StateChangedHandler() {
+                stateManager.onStateChanged(true, new StateChangedHandler() {
                     @Override
                     public void onStateChanged(final StateChangedEvent event) {
                         setState(event.getState());




More information about the kune-commits mailing list