[kune-commits] r977 - in trunk/src: main/java/org/ourproject/kune/app/public/css main/java/org/ourproject/kune/platf/client main/java/org/ourproject/kune/platf/client/services main/java/org/ourproject/kune/platf/client/ui main/java/org/ourproject/kune/platf/client/ui/dialogs main/java/org/ourproject/kune/workspace/client/entitylogo main/java/org/ourproject/kune/workspace/client/newgroup main/java/org/ourproject/kune/workspace/client/options main/java/org/ourproject/kune/workspace/client/options/logo main/java/org/ourproject/kune/workspace/client/options/tools main/java/org/ourproject/kune/workspace/client/signin main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu main/java/org/ourproject/kune/workspace/client/skel test/java/org/ourproject/kune/platf/integration/selenium

vjrj vjrj at ourproject.org
Tue Dec 2 18:08:42 CET 2008


Author: vjrj
Date: 2008-12-02 18:08:38 +0100 (Tue, 02 Dec 2008)
New Revision: 977

Added:
   trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityTextLogo.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogo.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConf.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfView.java
Removed:
   trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java
Modified:
   trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
   trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
   trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css
   trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java
   trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java
   trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInForm.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java
Log:
Incomplete - task Abstract and Group options dialog 

Complete - task NewGroup -> Close --> don't restore state

Incomplete - task focus on SignIn nickname 


Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css	2008-12-02 17:08:38 UTC (rev 977)
@@ -20,7 +20,7 @@
  * licensing at extjs.com
  * 
  * http://extjs.com/license
- */.x-panel{border-style:solid;border-color:#d0d0d0;}.x-panel-header{color:#333;border:1px solid #d0d0d0;background-image:url(../js/ext/resources/images/gray/panel/white-top-bottom.gif);}.x-panel-body{border-color:#d0d0d0;}.x-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-body-noheader,.x-panel-mc .x-panel-body{border-color:#d0d0d0;}.x-panel-tl .x-panel-header{color:#333;}.x-panel-tc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-tl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);border-color:#d0d0d0;}.x-panel-tr{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-bc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-bl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-br{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-mc{background:#f1f1f1;}.x-panel-mc .x-panel-body{background:transparent;border:0 none;}.x-panel-ml{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}.x-panel-mr{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}/* Tools */.x-tool{background-image:url(../js/ext/resources/images/gray/panel/tool-sprites.gif);}/* Ghosting */.x-panel-ghost{background:#e0e0e0;}.x-panel-ghost ul{border-color:#b0b0b0;}.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #d0d0d0;}/* Buttons */.x-btn-left{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-right{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-center{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}/* Layout classes */.x-border-layout-ct{background:#f0f0f0;}.x-accordion-hd{background-image:url(../js/ext/resources/images/gray/panel/light-hd.gif);}.x-layout-collapsed{background-color:#eee;border-color:#e0e0e0;}.x-layout-collapsed-over{background-color:#fbfbfb;}/* qtips */.x-tip .x-tip-top{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}/* Toolbars */.x-toolbar{border-color:#d0d0d0;background:#f0f4f5 url(../js/ext/resources/images/gray/toolbar/bg.gif) repeat-x top left;}.x-toolbar button{color:#444;}.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-over .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over button{color:#111;}.x-toolbar .x-btn-click .x-btn-left,.x-toolbar .x-btn-pressed .x-btn-left,.x-toolbar .x-btn-menu-active .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-right,.x-toolbar .x-btn-pressed .x-btn-right,.x-toolbar .x-btn-menu-active .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-center,.x-toolbar .x-btn-pressed .x-btn-center,.x-toolbar .x-btn-menu-active .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);}/* Tabs */.x-tab-panel-header,.x-tab-panel-footer{background:#EAEAEA;border-color:#d0d0d0;}.x-tab-panel-header{border-color:#d0d0d0;}.x-tab-panel-footer{border-color:#d0d0d0;}ul.x-tab-strip-top{background:#dbdbdb url(../js/ext/resources/images/gray/tabs/tab-strip-bg.gif) repeat-x left top;border-color:#d0d0d0;padding-top:2px;}ul.x-tab-strip-bottom{background-image:url(../js/ext/resources/images/gray/tabs/tab-strip-btm-bg.gif);border-color:#d0d0d0;}.x-tab-strip span.x-tab-strip-text{color:#333;}.x-tab-strip-over span.x-tab-strip-text{color:#111;}.x-tab-strip-active span.x-tab-strip-text{color:#333;}.x-tab-strip-disabled .x-tabs-text{color:#AAA;}.x-tab-strip-top .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-strip-inner{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-bottom .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif);}.x-tab-strip-bottom .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-right-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-left-bg.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-panel-body{border-color:#d0d0d0;background:#fff;}.x-tab-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-header-plain .x-tab-strip-spacer{border-color:#d0d0d0;background:#eaeaea;}.x-tab-scroller-left{background-image:url(../js/ext/resources/images/gray/tabs/scroll-left.gif);border-color:#aeaeae;}.x-tab-scroller-right{background-image:url(../js/ext/resources/images/gray/tabs/scroll-right.gif);border-color:#aeaeae;}/* Window */.x-window-proxy{background:#e0e0e0;border-color:#b0b0b0;}.x-window-tl .x-window-header{color:#555;}.x-window-tc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-tl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-tr{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-bc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-bl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-br{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-mc{border:1px solid #d0d0d0;background:#e8e8e8;}.x-window-ml{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-window-mr{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-panel-ghost .x-window-tl{border-color:#d0d0d0;}.x-panel-collapsed .x-window-tl{border-color:#d0d0d0;}.x-window-plain .x-window-mc{background:#e8e8e8;border-right:1px solid #eee;border-bottom:1px solid #eee;border-top:1px solid #d0d0d0;border-left:1px solid #d0d0d0;}.x-window-plain .x-window-body{border-left:1px solid #eee;border-top:1px solid #eee;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;background:transparent!important;}body.x-body-masked .x-window-mc,body.x-body-masked .x-window-plain .x-window-mc{background-color:#e4e4e4;}/* misc */.x-html-editor-wrap{border-color:#d0d0d0;}/* Borders go last for specificity */.x-panel-noborder .x-panel-body-noborder{border-width:0;}.x-panel-noborder .x-panel-header-noborder{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-window-noborder .x-window-mc{border-width:0;}.x-window-plain .x-window-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-header-noborder{border-top-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-noborder .x-tab-panel-footer-noborder{border-bottom-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-tab-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.kunebody{background-color:#FFF;color:#000;font-family:arial, sans;margin:5px;}/* Global styles */.gwt-HorizontalSplitPanel .hsplitter{cursor:e-resize;width:6px;}.gwt-DialogBox{border:8px solid #C3D9FF;border:2px outset;background-color:#FFF;}.gwt-DialogBox .Caption{background-color:#C3D9FF;font-size:85%;font-weight:700;padding:3px;margin:2px;cursor:default;}.gwt-MenuBar{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;}.gwt-MenuBar .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.gwt-MenuBar .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.gwt-MenuBar .gwt-MenuItem{background-color:#F2F2F2;}.gwt-MenuBar .gwt-MenuItem-selected{background-color:#FFB958;}.kune-MenuBar .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;cursor:hand;white-space:nowrap;padding:0 10px;}.kune-MenuBar .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#963;}.kune-expandHoriz{width:100%;}.kune-expandVert{height:100%;}.kune-floatleft{float:left;}.kune-floatright{float:right;}/* Deprecated */.kune-Default-Form{margin:10px;}.kune-valignmiddle{vertical-align:middle;}fieldset{border:1px solid #B5B8C8;/* margin-bottom:10px; */padding:10px 10px 5px;}legend{color:#15428B;font-size:85%;font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:700;line-height:normal;}.gwt-RadioButton input{margin:0 3px;vertical-align:middle;}.gwt-RadioButton label{margin:0 3px;vertical-align:middle;}.kune-pointer{cursor:pointer;}.kuneLabelPre{white-space:pre!important;}/* Buttons */.kune-CustomPushButton-space{margin-top:3px;margin-bottom:3px;}.kune-CustomPushButton{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:0 12px;}.kune-CustomPushButton-up{color:#161616;}.kune-CustomPushButton-down{color:#000;}.kune-CustomPushButton-up-hovering{color:#161616;background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;}.kune-CustomPushButton-down-hovering{color:#000;}.kune-CustomPushButton-up-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-CustomPushButton-down-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-Button-Large-lrSpace{margin-left:12px;margin-right:12px;}.kune-Button-Large-rSpace{margin-right:12px;}.kune-Button-Large-lSpace{margin-left:12px;}.kune-Button-Large-tbSpace{margin-top:12px;margin-bottom:12px;}.kune-Button-Small-lrSpace{margin-left:10px;margin-right:10px;}.kune-Button-Small-rSpace{margin-right:10px;}.kune-Button-Small-lSpace{margin-left:10px;}.kune-Button-Small-tbSpace{margin-top:10px;margin-bottom:10px;}.kune-Button-Mini-lSpace{margin-left:8px;}.kune-Button-Mini-lrSpace{margin-left:8px;margin-right:8px;}.kune-Button-Mini-rSpace{margin-right:8px;}.kune-Button-Mini-tbSpace{margin-top:8px;margin-bottom:8px;}.kune-IconHyperlink{}.kune-IconHyperlink a:link{/* text-decoration: underline; */color:green;}.kune-IconHyperlink a:hover{text-decoration:underline;}.kune-IconHyperlink a:visited{color:olive;}.kune-IconHyperlink img{margin-right:4px;vertical-align:middle;}.kune-IconLabel{}.kune-IconLabel img{margin-right:4px;vertical-align:middle;}.kune-link{text-decoration:underline;color:green;cursor:pointer;}/* DropDowns */.kune-DropDownOuter{background-color:green;}.kune-DropDownInner{margin:0 3px 1px;background:green;background-color:#FFF;padding:3px;}.kune-DropDownLabel{color:#FFF;cursor:pointer;}.kune-DropDownLabel .gwt-Label{margin:0 5px 0 0;width:100%;}.kune-DropDownLabel img{margin:0 3px 0 1px;}.kune-IconLabel{color:green;}.kune-IconLabel img{margin-right:4px;vertical-align:middle;}/* Used in multi chat panel status change */.x-menu-item img{margin-right:4px;vertical-align:middle;}/* Margins */.kune-Margin-40-trbl{margin:40px;}.kune-Margin-40-lr{margin-left:40px;margin-right:40px;}.kune-Margin-40-tl{margin-top:40px;margin-left:40px;}.kune-Margin-40-tb{margin-top:40px;margin-bottom:40px;}.kune-Margin-40-t{margin-top:40px;}.kune-Margin-40-r{margin-right:40px;}.kune-Margin-40-l{margin-left:40px;}.kune-Margin-20-trbl{margin:20px;}.kune-Margin-20-lr{margin-left:20px;margin-right:20px;}.kune-Margin-20-tl{margin-top:20px;margin-left:20px;}.kune-Margin-20-tb{margin-top:20px;margin-bottom:20px;}.kune-Margin-20-t{margin-top:20px;}.kune-Margin-20-r{margin-right:20px;}.kune-Margin-20-l{margin-left:20px;}.kune-Margin-Large-trbl{margin:10px;}.kune-Margin-Large-lr{margin-left:10px;margin-right:10px;}.kune-Margin-Large-tl{margin-top:10px;margin-left:10px;}.kune-Margin-Large-tb{margin-top:10px;margin-bottom:10px;}.kune-Margin-Large-t{margin-top:10px;}.kune-Margin-Large-r{margin-right:10px;}.kune-Margin-Large-l{margin-left:10px;}.kune-Margin-7-trbl{margin:7px;}.kune-Margin-7-lr{margin-left:7px;margin-right:7px;}.kune-Margin-7-tl{margin-top:7px;margin-left:7px;}.kune-Margin-7-tb{margin-top:7px;margin-bottom:7px;}.kune-Margin-7-t{margin-top:7px;}.kune-Margin-7-r{margin-right:7px;}.kune-Margin-7-b{margin-bottom:7px;}.kune-Margin-7-l{margin-left:7px;}.kune-Margin-Medium-trbl{margin:5px;}.kune-Margin-Medium-lr{margin-left:5px;margin-right:5px;}.kune-Margin-Medium-tl{margin-top:5px;margin-left:5px;}.kune-Margin-Medium-tb{margin-top:5px;margin-bottom:5px;}.kune-Margin-Medium-t{margin-top:5px;}.kune-Margin-Medium-r{margin-right:5px;}.kune-Margin-Medium-b{margin-bottom:5px;}.kune-Margin-Medium-l{margin-left:5px;}.kune-Margin-Small-trbl{margin:3px;}.kune-Margin-Small-lr{margin-left:3px;margin-right:3px;}.kune-Margin-Small-tl{margin-top:3px;margin-left:3px;}.kune-Margin-Small-tb{margin-top:3px;margin-bottom:3px;}.kune-Margin-Small-t{margin-top:3px;}.kune-Margin-Small-l{margin-left:3px;}.kune-Margin-Small-r{margin-right:3px;}.kune-Margin-Small-b{margin-bottom:3px;}.kune-Margin-Mini-trbl{margin:1px;}.kune-Margin-Mini-lr{margin-left:1px;margin-right:1px;}.kune-Margin-Mini-tl{margin-top:1px;margin-left:1px;}.kune-Margin-Mini-tb{margin-top:1px;margin-bottom:1px;}.kune-Margin-Mini-t{margin-top:1px;}.kune-Margin-Mini-r{margin-right:1px;}.kune-Margin-Mini-b{margin-bottom:1px;}.kune-Margin-Mini-l{margin-left:1px;}/* Fonts
+ */.x-panel{border-style:solid;border-color:#d0d0d0;}.x-panel-header{color:#333;border:1px solid #d0d0d0;background-image:url(../js/ext/resources/images/gray/panel/white-top-bottom.gif);}.x-panel-body{border-color:#d0d0d0;}.x-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-body-noheader,.x-panel-mc .x-panel-body{border-color:#d0d0d0;}.x-panel-tl .x-panel-header{color:#333;}.x-panel-tc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-tl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);border-color:#d0d0d0;}.x-panel-tr{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-bc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-bl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-br{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-mc{background:#f1f1f1;}.x-panel-mc .x-panel-body{background:transparent;border:0 none;}.x-panel-ml{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}.x-panel-mr{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}/* Tools */.x-tool{background-image:url(../js/ext/resources/images/gray/panel/tool-sprites.gif);}/* Ghosting */.x-panel-ghost{background:#e0e0e0;}.x-panel-ghost ul{border-color:#b0b0b0;}.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #d0d0d0;}/* Buttons */.x-btn-left{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-right{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-center{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}/* Layout classes */.x-border-layout-ct{background:#f0f0f0;}.x-accordion-hd{background-image:url(../js/ext/resources/images/gray/panel/light-hd.gif);}.x-layout-collapsed{background-color:#eee;border-color:#e0e0e0;}.x-layout-collapsed-over{background-color:#fbfbfb;}/* qtips */.x-tip .x-tip-top{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}/* Toolbars */.x-toolbar{border-color:#d0d0d0;background:#f0f4f5 url(../js/ext/resources/images/gray/toolbar/bg.gif) repeat-x top left;}.x-toolbar button{color:#444;}.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-over .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over button{color:#111;}.x-toolbar .x-btn-click .x-btn-left,.x-toolbar .x-btn-pressed .x-btn-left,.x-toolbar .x-btn-menu-active .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-right,.x-toolbar .x-btn-pressed .x-btn-right,.x-toolbar .x-btn-menu-active .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-center,.x-toolbar .x-btn-pressed .x-btn-center,.x-toolbar .x-btn-menu-active .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);}/* Tabs */.x-tab-panel-header,.x-tab-panel-footer{background:#EAEAEA;border-color:#d0d0d0;}.x-tab-panel-header{border-color:#d0d0d0;}.x-tab-panel-footer{border-color:#d0d0d0;}ul.x-tab-strip-top{background:#dbdbdb url(../js/ext/resources/images/gray/tabs/tab-strip-bg.gif) repeat-x left top;border-color:#d0d0d0;padding-top:2px;}ul.x-tab-strip-bottom{background-image:url(../js/ext/resources/images/gray/tabs/tab-strip-btm-bg.gif);border-color:#d0d0d0;}.x-tab-strip span.x-tab-strip-text{color:#333;}.x-tab-strip-over span.x-tab-strip-text{color:#111;}.x-tab-strip-active span.x-tab-strip-text{color:#333;}.x-tab-strip-disabled .x-tabs-text{color:#AAA;}.x-tab-strip-top .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-strip-inner{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-bottom .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif);}.x-tab-strip-bottom .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-right-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-left-bg.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-panel-body{border-color:#d0d0d0;background:#fff;}.x-tab-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-header-plain .x-tab-strip-spacer{border-color:#d0d0d0;background:#eaeaea;}.x-tab-scroller-left{background-image:url(../js/ext/resources/images/gray/tabs/scroll-left.gif);border-color:#aeaeae;}.x-tab-scroller-right{background-image:url(../js/ext/resources/images/gray/tabs/scroll-right.gif);border-color:#aeaeae;}/* Window */.x-window-proxy{background:#e0e0e0;border-color:#b0b0b0;}.x-window-tl .x-window-header{color:#555;}.x-window-tc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-tl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-tr{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-bc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-bl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-br{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-mc{border:1px solid #d0d0d0;background:#e8e8e8;}.x-window-ml{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-window-mr{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-panel-ghost .x-window-tl{border-color:#d0d0d0;}.x-panel-collapsed .x-window-tl{border-color:#d0d0d0;}.x-window-plain .x-window-mc{background:#e8e8e8;border-right:1px solid #eee;border-bottom:1px solid #eee;border-top:1px solid #d0d0d0;border-left:1px solid #d0d0d0;}.x-window-plain .x-window-body{border-left:1px solid #eee;border-top:1px solid #eee;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;background:transparent!important;}body.x-body-masked .x-window-mc,body.x-body-masked .x-window-plain .x-window-mc{background-color:#e4e4e4;}/* misc */.x-html-editor-wrap{border-color:#d0d0d0;}/* Borders go last for specificity */.x-panel-noborder .x-panel-body-noborder{border-width:0;}.x-panel-noborder .x-panel-header-noborder{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-window-noborder .x-window-mc{border-width:0;}.x-window-plain .x-window-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-header-noborder{border-top-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-noborder .x-tab-panel-footer-noborder{border-bottom-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-tab-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.kunebody{background-color:#FFF;color:#000;font-family:arial, sans;margin:5px;}/* Global styles */.gwt-HorizontalSplitPanel .hsplitter{cursor:e-resize;width:6px;}.gwt-DialogBox{border:8px solid #C3D9FF;border:2px outset;background-color:#FFF;}.gwt-DialogBox .Caption{background-color:#C3D9FF;font-size:85%;font-weight:700;padding:3px;margin:2px;cursor:default;}.gwt-MenuBar{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;}.gwt-MenuBar .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.gwt-MenuBar .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.gwt-MenuBar .gwt-MenuItem{background-color:#F2F2F2;}.gwt-MenuBar .gwt-MenuItem-selected{background-color:#FFB958;}.kune-MenuBar .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;cursor:hand;white-space:nowrap;padding:0 10px;}.kune-MenuBar .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#963;}.kune-expandHoriz{width:100%;}.kune-expandVert{height:100%;}.kune-floatleft{float:left;}.kune-floatright{float:right;}/* Deprecated */.kune-Default-Form{margin:10px;}.kune-valignmiddle{vertical-align:middle;}fieldset{border:1px solid #B5B8C8;/* margin-bottom:10px; */padding:10px 10px 5px;}legend{color:#15428B;font-size:85%;font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:700;line-height:normal;}.gwt-RadioButton input{margin:0 3px;vertical-align:middle;}.gwt-RadioButton label{margin:0 3px;vertical-align:middle;}.kune-pointer{cursor:pointer;}.kuneLabelPre{white-space:pre!important;}/* Buttons */.kune-CustomPushButton-space{margin-top:3px;margin-bottom:3px;}.kune-CustomPushButton{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:0 12px;}.kune-CustomPushButton-up{color:#161616;}.kune-CustomPushButton-down{color:#000;}.kune-CustomPushButton-up-hovering{color:#161616;background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;}.kune-CustomPushButton-down-hovering{color:#000;}.kune-CustomPushButton-up-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-CustomPushButton-down-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-Button-Large-lrSpace{margin-left:12px;margin-right:12px;}.kune-Button-Large-rSpace{margin-right:12px;}.kune-Button-Large-lSpace{margin-left:12px;}.kune-Button-Large-tbSpace{margin-top:12px;margin-bottom:12px;}.kune-Button-Small-lrSpace{margin-left:10px;margin-right:10px;}.kune-Button-Small-rSpace{margin-right:10px;}.kune-Button-Small-lSpace{margin-left:10px;}.kune-Button-Small-tbSpace{margin-top:10px;margin-bottom:10px;}.kune-Button-Mini-lSpace{margin-left:8px;}.kune-Button-Mini-lrSpace{margin-left:8px;margin-right:8px;}.kune-Button-Mini-rSpace{margin-right:8px;}.kune-Button-Mini-tbSpace{margin-top:8px;margin-bottom:8px;}.kune-IconHyperlink{}.kune-IconHyperlink a:link{/* text-decoration: underline; */color:green;}.kune-IconHyperlink a:hover{text-decoration:underline;}.kune-IconHyperlink a:visited{color:olive;}.kune-IconHyperlink img{margin-right:4px;vertical-align:middle;}.kune-IconLabel-l{}.kune-IconLabel-l img{margin-right:4px;vertical-align:middle;}.kune-IconLabel-r{}.kune-IconLabel-r img{margin-left:4px;vertical-align:middle;}.kune-link{text-decoration:underline;color:green;cursor:pointer;}/* DropDowns */.kune-DropDownOuter{background-color:green;}.kune-DropDownInner{margin:0 3px 1px;background:green;background-color:#FFF;padding:3px;}.kune-DropDownLabel{color:#FFF;cursor:pointer;}.kune-DropDownLabel .gwt-Label{margin:0 5px 0 0;width:100%;}.kune-DropDownLabel img{margin:0 3px 0 1px;}/* Used in multi chat panel status change */.x-menu-item img{margin-right:4px;vertical-align:middle;}/* Margins */.kune-Margin-40-trbl{margin:40px;}.kune-Margin-40-lr{margin-left:40px;margin-right:40px;}.kune-Margin-40-tl{margin-top:40px;margin-left:40px;}.kune-Margin-40-tb{margin-top:40px;margin-bottom:40px;}.kune-Margin-40-t{margin-top:40px;}.kune-Margin-40-r{margin-right:40px;}.kune-Margin-40-l{margin-left:40px;}.kune-Margin-20-trbl{margin:20px;}.kune-Margin-20-lr{margin-left:20px;margin-right:20px;}.kune-Margin-20-tl{margin-top:20px;margin-left:20px;}.kune-Margin-20-tb{margin-top:20px;margin-bottom:20px;}.kune-Margin-20-t{margin-top:20px;}.kune-Margin-20-r{margin-right:20px;}.kune-Margin-20-l{margin-left:20px;}.kune-Margin-Large-trbl{margin:10px;}.kune-Margin-Large-lr{margin-left:10px;margin-right:10px;}.kune-Margin-Large-tl{margin-top:10px;margin-left:10px;}.kune-Margin-Large-tb{margin-top:10px;margin-bottom:10px;}.kune-Margin-Large-t{margin-top:10px;}.kune-Margin-Large-r{margin-right:10px;}.kune-Margin-Large-l{margin-left:10px;}.kune-Margin-7-trbl{margin:7px;}.kune-Margin-7-lr{margin-left:7px;margin-right:7px;}.kune-Margin-7-tl{margin-top:7px;margin-left:7px;}.kune-Margin-7-tb{margin-top:7px;margin-bottom:7px;}.kune-Margin-7-t{margin-top:7px;}.kune-Margin-7-r{margin-right:7px;}.kune-Margin-7-b{margin-bottom:7px;}.kune-Margin-7-l{margin-left:7px;}.kune-Margin-Medium-trbl{margin:5px;}.kune-Margin-Medium-lr{margin-left:5px;margin-right:5px;}.kune-Margin-Medium-tl{margin-top:5px;margin-left:5px;}.kune-Margin-Medium-tb{margin-top:5px;margin-bottom:5px;}.kune-Margin-Medium-t{margin-top:5px;}.kune-Margin-Medium-r{margin-right:5px;}.kune-Margin-Medium-b{margin-bottom:5px;}.kune-Margin-Medium-l{margin-left:5px;}.kune-Margin-Small-trbl{margin:3px;}.kune-Margin-Small-lr{margin-left:3px;margin-right:3px;}.kune-Margin-Small-tl{margin-top:3px;margin-left:3px;}.kune-Margin-Small-tb{margin-top:3px;margin-bottom:3px;}.kune-Margin-Small-t{margin-top:3px;}.kune-Margin-Small-l{margin-left:3px;}.kune-Margin-Small-r{margin-right:3px;}.kune-Margin-Small-b{margin-bottom:3px;}.kune-Margin-Mini-trbl{margin:1px;}.kune-Margin-Mini-lr{margin-left:1px;margin-right:1px;}.kune-Margin-Mini-tl{margin-top:1px;margin-left:1px;}.kune-Margin-Mini-tb{margin-top:1px;margin-bottom:1px;}.kune-Margin-Mini-t{margin-top:1px;}.kune-Margin-Mini-r{margin-right:1px;}.kune-Margin-Mini-b{margin-bottom:1px;}.kune-Margin-Mini-l{margin-left:1px;}/* Fonts
 see: http://developer.yahoo.com/yui/fonts/ */.kune-ft10px{font-size:77%;}.kune-ft11px{font-size:85%;}.kune-ft12px{font-size:93%;}.kune-ft13px{font-size:100%;}.kune-ft14px{font-size:108%;}.kune-ft15px{font-size:116%;}.kune-ft16px{font-size:123.099998%;}.kune-ft17px{font-size:131%;}.kune-ft18px{font-size:138.5%;}.kune-ft19px{font-size:146.5%;}.kune-ft20px{font-size:153.899994%;}.kune-ft21px{font-size:161.600006%;}.kune-ft22px{font-size:167%;}.kune-ft23px{font-size:174%;}.kune-ft24px{font-size:182%;}.kune-ft25px{font-size:189%;}.kune-ft26px{font-size:197%;}/* Sitebar */.kune-SiteBarPanel .kune-IconHyperlink{white-space:nowrap;}.kune-SiteBarPanel .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.kune-SiteBarPanel .kune-IconHyperlink a:hover{text-decoration:underline;}.kune-SiteBarPanel .kune-IconHyperlink a:visited{color:#B3B3B3;}.kune-SiteBarPanel{margin-right:10px;height:16px;}.kune-SiteBarPanel .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.kune-SiteBarPanel .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.kune-SiteBarPanel .gwt-PushButton{cursor:pointer;}.kune-SiteBarPanel-Separator{color:#E4A374;margin:0 5px;}.kune-SiteBarPanel-SpaceSeparator{width:10px;}.kune-SiteMessagePanel{color:#250;position:absolute;z-index:10000;vertical-align:middle;}.kune-SiteMessagePanel .gwt-HTML{margin:15px 5px 15px 2px;}.kune-SiteMessagePanel .gwt-Image{margin:5px;}.kune-SiteMessagePanel-error{background-color:#FFB380;border:1px solid #F06;}.kune-SiteMessagePanel-veryimp{background-color:#FFD4AA;border:1px solid #F59;}.kune-SiteMessagePanel-imp{background-color:#FFE6D5;border:1px solid #DE87AA;}.kune-SiteMessagePanel-info{background-color:#E5FF80;border:1px solid #87DE87;}/* Workspace styles */.kune-WorkspacePanel{width:100%;background-color:#FFF;}.kune-WokspacePanel .Tab{}.kune-WorkspacePanel .GeneralHP{}.kune-WorkspacePanel .ContextPanel{width:100%;border-right:3px solid #DD8A3D;}.kune-GroupSummaryPanel{margin:5px 0 0 5px;width:100%;}.kune-GroupToolsBar{width:150px;}.kune-GroupToolsBar-itemSelected{margin-bottom:5px;}.kune-GroupToolsBar-itemSelected .gwt-Hyperlink a{color:#FFF;padding:0 9px;text-decoration:none;}.kune-GroupToolsBar-itemSelected .gwt-Hyperlink a:hover{text-decoration:none;}.kune-GroupToolsBar-itemNotSelected{margin-bottom:5px;}.kune-GroupToolsBar-itemNotSelected .gwt-Hyperlink a{color:green;padding:0 9px;text-decoration:none;}.kune-GroupToolsBar-itemNotSelected .gwt-Hyperlink a:hover{text-decoration:none;}/* Content titles */.kune-ContentToolBarPanel{background-color:#F2F2F2;padding:2px;height:24px;vertical-align:middle;}.kune-ContentBottomBar{vertical-align:middle;height:24px;}.kune-ContentBottomBar .gwt-Image{margin-left:5px;cursor:pointer;float:left;}.kune-ContentBottomBar .gwt-Label a{}/* Main Content & Context */.kune-WorkspacePanel-Content{background-color:#FCFCFC;width:100%;height:100%;}.kune-WorkspacePanel-Content .main-content{margin:7px 5px 5px 10px;}.kune-WorkspacePanel-Context{background-color:#CFA;width:100%;height:100%;}.kune-NavigationBar{width:100%;}.kune-NavigationBar .topBar{background-color:#ececec;background:#ececec;border-bottom:1px solid #e3dbdb;vertical-align:middle;}.kune-NavigationBar .topBar .gwt-PushButton{margin:1px 3px 1px 0;}.kune-NavigationBar .topBar .gwt-Label{vertical-align:middle;}.kune-NavigationBar .kune-topBar-iconBar{margin:2px 0 2px 5px;}.kune-NavigationBar .kune-ContextItemsPanel-LabelLink{/*  text-decoration: underline; */color:green;cursor:pointer;margin-left:3px;}/*
 .topBar .gwt-PushButton-up-disabled {
   filter: alpha(opacity =             20);

Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css	2008-12-02 17:08:38 UTC (rev 977)
@@ -799,7 +799,6 @@
   cursor: pointer;
 }
 
-
 .k-tsp-tag {
   float: right;
   margin-right: 5px;
@@ -807,7 +806,6 @@
   color: #0000FF;
 }
 
-
 .k-tsp-cloud {
   vertical-align: bottom;
 }

Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css	2008-12-02 17:08:38 UTC (rev 977)
@@ -249,15 +249,23 @@
   vertical-align: middle;
 }
 
-.kune-IconLabel {
-
+.kune-IconLabel-l {
 }
 
-.kune-IconLabel img {
+.kune-IconLabel-l img {
   margin-right: 4px;
   vertical-align: middle;
 }
 
+.kune-IconLabel-r {
+}
+
+.kune-IconLabel-r img {
+  margin-left: 4px;
+  vertical-align: middle;
+}
+
+
 .kune-link {
   text-decoration: underline;
   color: green;
@@ -291,15 +299,6 @@
   margin: 0 3px 0 1px;
 }
 
-.kune-IconLabel {
-  color: green;
-}
-
-.kune-IconLabel img {
-  margin-right: 4px;
-  vertical-align: middle;
-}
-
 /* Used in multi chat panel status change */
 .x-menu-item img {
   margin-right: 4px;

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -10,7 +10,8 @@
     String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "Incorrect nickname/email or password";
     String YOUR_HOMEPAGE = "Your homepage";
     String USER_DON_T_HAVE_A_HOMEPAGE = "This user don't have a homepage";
-    String ENT_LOGO_SELECTOR_NORMAL_TITLE = "Select a logo for your group";
-    String ENT_LOGO_SELECTOR_PERSON_TITLE = "Select your avatar";
-
+    String ENT_LOGO_SELECTOR_NORMAL_TITLE = "Logo";
+    String ENT_LOGO_SELECTOR_PERSON_TITLE = "Avatar";
+    String ENT_OPTIONS_GROUP_TITLE = "Group options";
+    String ENT_OPTIONS_USER_TITLE = "User options";
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -90,13 +90,13 @@
             }
         } catch (final GroupNotFoundException e) {
             logException(e);
-            Site.error(i18n.t("Group not found"));
+            Site.veryImportant(i18n.t("Group not found"));
             stateManagerProvider.get().gotoToken("");
         } catch (final IncompatibleRemoteServiceException e) {
             Site.error(i18n.t("Your browser is outdated from the server software. Please reload this page."));
         } catch (final ContentNotFoundException e) {
             logException(e);
-            Site.error(i18n.t("Content not found"));
+            Site.veryImportant(i18n.t("Content not found"));
             stateManagerProvider.get().gotoToken("");
         } catch (final ContentNotPermittedException e) {
             logException(e);

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -78,10 +78,6 @@
 import org.ourproject.kune.workspace.client.editor.TextEditor;
 import org.ourproject.kune.workspace.client.editor.TextEditorPanel;
 import org.ourproject.kune.workspace.client.editor.TextEditorPresenter;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoSelector;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoSelectorPanel;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoSelectorPresenter;
 import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
 import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPanel;
 import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter;
@@ -547,18 +543,6 @@
             }
         });
 
-        register(Singleton.class, new Factory<EntityLogoSelector>(EntityLogoSelector.class) {
-            @Override
-            public EntityLogoSelector create() {
-                final EntityLogoSelectorPresenter presenter = new EntityLogoSelectorPresenter($(Session.class),
-                        $(EntityLogo.class));
-                final EntityLogoSelectorPanel panel = new EntityLogoSelectorPanel(presenter,
-                        $(WorkspaceSkeleton.class), $(I18nTranslationService.class));
-                presenter.init(panel);
-                return presenter;
-            }
-        });
-
         $(ApplicationComponentGroup.class).createAll();
         $(ToolGroup.class).createAll();
         $(Application.class).start();

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -46,7 +46,6 @@
 import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
 import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
 import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPresenter;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoSelector;
 import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
 import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
 import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel;
@@ -57,9 +56,12 @@
 import org.ourproject.kune.workspace.client.options.EntityOptions;
 import org.ourproject.kune.workspace.client.options.EntityOptionsPanel;
 import org.ourproject.kune.workspace.client.options.EntityOptionsPresenter;
-import org.ourproject.kune.workspace.client.options.EntityOptionsToolsConf;
-import org.ourproject.kune.workspace.client.options.EntityOptionsToolsConfPanel;
-import org.ourproject.kune.workspace.client.options.EntityOptionsToolsConfPresenter;
+import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogo;
+import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPanel;
+import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPresenter;
+import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConf;
+import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConfPanel;
+import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConfPresenter;
 import org.ourproject.kune.workspace.client.search.GroupLiveSearcher;
 import org.ourproject.kune.workspace.client.search.SiteSearcher;
 import org.ourproject.kune.workspace.client.site.Site;
@@ -179,7 +181,7 @@
             @Override
             public SiteUserMenu create() {
                 final SiteUserMenuPresenter presenter = new SiteUserMenuPresenter($(Session.class),
-                        $(StateManager.class));
+                        $(StateManager.class), $$(EntityOptions.class));
                 final SiteUserMenuPanel panel = new SiteUserMenuPanel(presenter, $(WorkspaceSkeleton.class),
                         $(I18nUITranslationService.class));
                 presenter.init(panel);
@@ -258,9 +260,8 @@
             public EntityLogo create() {
                 final EntityLogoPresenter presenter = new EntityLogoPresenter($(StateManager.class),
                         $(WsThemePresenter.class), $(Session.class));
-                final EntityLogoPanel panel = new EntityLogoPanel($(I18nUITranslationService.class),
-                        $(WorkspaceSkeleton.class), $$(FileDownloadUtils.class), $$(EntityLogoSelector.class),
-                        $(Images.class));
+                final EntityLogoPanel panel = new EntityLogoPanel($(WorkspaceSkeleton.class),
+                        $$(FileDownloadUtils.class), $(Images.class));
                 presenter.init(panel);
                 return presenter;
             }
@@ -424,7 +425,7 @@
             @Override
             public EntityOptions create() {
                 final EntityOptionsPresenter presenter = new EntityOptionsPresenter($(StateManager.class));
-                final EntityOptionsPanel panel = new EntityOptionsPanel(presenter, $(WorkspaceSkeleton.class),
+                final EntityOptionsPanel panel = new EntityOptionsPanel(presenter, $(EntityLogo.class),
                         $(I18nTranslationService.class), $(Images.class), $(EntityOptionsGroup.class));
                 presenter.init(panel);
                 return presenter;
@@ -444,5 +445,17 @@
             }
         });
 
+        register(EntityOptionsGroup.class, new Factory<EntityOptionsLogo>(EntityOptionsLogo.class) {
+            @Override
+            public EntityOptionsLogo create() {
+                final EntityOptionsLogoPresenter presenter = new EntityOptionsLogoPresenter($(Session.class),
+                        $(EntityLogo.class), $(EntityOptions.class), $(StateManager.class));
+                final EntityOptionsLogoPanel panel = new EntityOptionsLogoPanel(presenter, $(WorkspaceSkeleton.class),
+                        $(I18nTranslationService.class));
+                presenter.init(panel);
+                return presenter;
+            }
+        });
+
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -1,4 +1,3 @@
-
 /*
  * Copyright 2007 Google Inc.
  *
@@ -59,24 +58,16 @@
     private final Element textLabel;
 
     /**
-     * Creates an empty label with a icon.
+     * Creates a label with the specified text and a icon in the left.
      * 
      * @param image
      *            the icon to add
+     * @param text
+     *            the new label's text
      */
-    private IconLabel(final AbstractImagePrototype image, final boolean leftIcon) {
-        setElement(DOM.createDiv());
-        sinkEvents(Event.ONCLICK | Event.MOUSEEVENTS | Event.ONMOUSEWHEEL | Event.ONDBLCLICK);
-        setStyleName("kune-IconLabel");
-        icon = image.createImage().getElement();
-        textLabel = DOM.createSpan();
-        if (leftIcon) {
-            DOM.appendChild(getElement(), icon);
-            DOM.appendChild(getElement(), textLabel);
-        } else {
-            DOM.appendChild(getElement(), textLabel);
-            DOM.appendChild(getElement(), icon);
-        }
+    public IconLabel(final AbstractImagePrototype image, final String text) {
+        this(image, true);
+        setText(text);
     }
 
     /**
@@ -86,10 +77,12 @@
      *            the icon to add
      * @param text
      *            the new label's text
+     * @param wordWrap
+     *            <code>false</code> to disable word wrapping
      */
-    public IconLabel(final AbstractImagePrototype image, final String text) {
-        this(image, true);
-        setText(text);
+    public IconLabel(final AbstractImagePrototype image, final String text, final boolean wordWrap) {
+        this(image, text);
+        setWordWrap(wordWrap);
     }
 
     /**
@@ -121,18 +114,25 @@
     }
 
     /**
-     * Creates a label with the specified text and a icon in the left.
+     * Creates an empty label with a icon.
      * 
      * @param image
      *            the icon to add
-     * @param text
-     *            the new label's text
-     * @param wordWrap
-     *            <code>false</code> to disable word wrapping
      */
-    public IconLabel(final AbstractImagePrototype image, final String text, final boolean wordWrap) {
-        this(image, text);
-        setWordWrap(wordWrap);
+    private IconLabel(final AbstractImagePrototype image, final boolean leftIcon) {
+        setElement(DOM.createDiv());
+        sinkEvents(Event.ONCLICK | Event.MOUSEEVENTS | Event.ONMOUSEWHEEL | Event.ONDBLCLICK);
+        icon = image.createImage().getElement();
+        textLabel = DOM.createSpan();
+        if (leftIcon) {
+            setStyleName("kune-IconLabel-l");
+            DOM.appendChild(getElement(), icon);
+            DOM.appendChild(getElement(), textLabel);
+        } else {
+            setStyleName("kune-IconLabel-r");
+            DOM.appendChild(getElement(), textLabel);
+            DOM.appendChild(getElement(), icon);
+        }
     }
 
     public void addClickListener(final ClickListener listener) {
@@ -175,6 +175,7 @@
         return !DOM.getStyleAttribute(textLabel, "whiteSpace").equals("nowrap");
     }
 
+    @Override
     public void onBrowserEvent(final Event event) {
         switch (DOM.eventGetType(event)) {
         case Event.ONCLICK:
@@ -229,6 +230,10 @@
         }
     }
 
+    public void setColor(final String color) {
+        DOM.setStyleAttribute(textLabel, "color", color);
+    }
+
     public void setHorizontalAlignment(final HorizontalAlignmentConstant align) {
         horzAlign = align;
         DOM.setStyleAttribute(textLabel, "textAlign", align.getTextAlignString());
@@ -238,17 +243,14 @@
         DOM.setInnerText(textLabel, text);
     }
 
-    public void setWordWrap(final boolean wrap) {
-        DOM.setStyleAttribute(textLabel, "whiteSpace", wrap ? "normal" : "nowrap");
-    }
-
-    public void setColor(final String color) {
-        DOM.setStyleAttribute(textLabel, "color", color);
-    }
-
+    @Override
     public void setTitle(final String title) {
         KuneUiUtils.setQuickTip(icon, title);
         KuneUiUtils.setQuickTip(textLabel, title);
     }
 
+    public void setWordWrap(final boolean wrap) {
+        DOM.setStyleAttribute(textLabel, "whiteSpace", wrap ? "normal" : "nowrap");
+    }
+
 }
\ No newline at end of file

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -24,7 +24,7 @@
 import com.google.gwt.user.client.ui.Widget;
 import com.gwtext.client.core.EventObject;
 import com.gwtext.client.widgets.Button;
-import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.Component;
 import com.gwtext.client.widgets.Toolbar;
 import com.gwtext.client.widgets.event.ButtonListenerAdapter;
 import com.gwtext.client.widgets.event.WindowListenerAdapter;
@@ -89,7 +89,7 @@
 
         dialog.addListener(new WindowListenerAdapter() {
             @Override
-            public void onClose(final Panel panel) {
+            public void onHide(Component component) {
                 listener.onClose();
             }
         });

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -18,8 +18,12 @@
  *
  */package org.ourproject.kune.workspace.client.entitylogo;
 
+import org.ourproject.kune.platf.client.View;
+
 public interface EntityLogo {
 
+    void addWidget(View widget);
+
     /**
      * Refresh the logo from the group info in the client session
      */

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -21,181 +21,51 @@
 
 import java.util.Date;
 
+import org.ourproject.kune.platf.client.View;
 import org.ourproject.kune.platf.client.dto.GroupDTO;
 import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
 import org.ourproject.kune.platf.client.services.Images;
 import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
 import org.ourproject.kune.workspace.client.themes.WsTheme;
 
 import com.calclab.suco.client.ioc.Provider;
-import com.google.gwt.user.client.ui.AbstractImagePrototype;
-import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
 
-public class EntityLogoPanel extends SimplePanel implements EntityLogoView {
-    class EntityTextLogo extends VerticalPanel {
+public class EntityLogoPanel extends HorizontalPanel implements EntityLogoView {
 
-        private static final String _100 = "100%";
-        private static final String LOGO_MEDIUM_FONT_STYLE = "k-elogo-l-m";
-        private static final String LOGO_SMALL_FONT_STYLE = "k-elogo-l-s";
-        private static final String LOGO_LARGE_FONT_STYLE = "k-elogo-l-l";
-        private final Label logoLabel;
-        private final Label putYourLogoHL;
-        private final HorizontalPanel putYourLogoHP;
-        private final Image logoImage;
-
-        public EntityTextLogo(final Provider<EntityLogoSelector> entityLogoSelectorProvider) {
-            // Initialize
-            super();
-            HorizontalPanel generalHP = new HorizontalPanel();
-            VerticalPanel logoTextVP = new VerticalPanel();
-            logoImage = new Image();
-            logoLabel = new Label();
-            final Label expandCell = new Label("");
-            putYourLogoHP = new HorizontalPanel();
-            putYourLogoHL = new Label();
-
-            logoImage.ensureDebugId(LOGO_IMAGE);
-            logoLabel.ensureDebugId(LOGO_NAME);
-            putYourLogoHL.ensureDebugId(PUT_YOUR_LOGO_LINK);
-
-            // Layout
-            add(generalHP);
-            generalHP.add(logoImage);
-            generalHP.add(logoTextVP);
-            logoTextVP.add(logoLabel);
-            logoTextVP.add(putYourLogoHP);
-            putYourLogoHP.add(expandCell);
-            putYourLogoHP.add(putYourLogoHL);
-
-            // Set properties
-
-            setPutYourLogo();
-            expandCell.setStyleName("k-elogop-expand");
-            putYourLogoHL.setStyleName("k-elogo-plink");
-            putYourLogoHL.addStyleName("kune-pointer");
-            putYourLogoHL.addClickListener(new ClickListener() {
-                public void onClick(final Widget sender) {
-                    entityLogoSelectorProvider.get().show();
-                }
-            });
-            generalHP.setWidth(_100);
-            generalHP.setHeight(_100);
-            generalHP.setCellWidth(logoTextVP, _100);
-            generalHP.setCellHeight(logoTextVP, _100);
-            logoTextVP.setWidth(_100);
-            logoTextVP.setCellWidth(logoLabel, _100);
-            super.setVerticalAlignment(ALIGN_MIDDLE);
-            logoTextVP.setVerticalAlignment(ALIGN_MIDDLE);
-            generalHP.setVerticalAlignment(ALIGN_MIDDLE);
-            logoTextVP.setCellWidth(putYourLogoHP, _100);
-            logoTextVP.setHeight(_100);
-            expandCell.setWidth(_100);
-            putYourLogoHP.setCellWidth(expandCell, _100);
-            setStylePrimaryName("k-entitytextlogo");
-            addStyleName("k-entitytextlogo-no-border");
-            logoImage.setVisible(false);
-            setLogoText("");
-        }
-
-        public void setChangeYourAvatarText() {
-            putYourLogoHL.setText(i18n.t("Change Your Avatar"));
-        }
-
-        public void setChangeYourLogo() {
-            putYourLogoHL.setText(i18n.t("Change Your Logo"));
-        }
-
-        public void setLargeFont() {
-            resetFontSize();
-            logoLabel.addStyleName(LOGO_LARGE_FONT_STYLE);
-        }
-
-        public void setLogoImage(AbstractImagePrototype imageProto) {
-            imageProto.applyTo(logoImage);
-        }
-
-        public void setLogoImage(final String url) {
-            Image.prefetch(url);
-            logoImage.setUrl(url);
-        }
-
-        public void setLogoText(final String text) {
-            logoLabel.setText(text);
-        }
-
-        public void setLogoVisible(final boolean visible) {
-            logoImage.setVisible(visible);
-        }
-
-        public void setMediumFont() {
-            resetFontSize();
-            logoLabel.addStyleName(LOGO_MEDIUM_FONT_STYLE);
-        }
-
-        public void setPutYourAvatarText() {
-            putYourLogoHL.setText(i18n.t("Put Your Avatar Here"));
-        }
-
-        public void setPutYourLogo() {
-            putYourLogoHL.setText(i18n.t("Put Your Logo Here"));
-        }
-
-        public void setPutYourLogoVisible(final boolean visible) {
-            putYourLogoHP.setVisible(visible);
-        }
-
-        public void setSmallFont() {
-            resetFontSize();
-            logoLabel.addStyleName(LOGO_SMALL_FONT_STYLE);
-        }
-
-        private void resetFontSize() {
-            logoLabel.removeStyleName(LOGO_LARGE_FONT_STYLE);
-            logoLabel.removeStyleName(LOGO_SMALL_FONT_STYLE);
-            logoLabel.removeStyleName(LOGO_MEDIUM_FONT_STYLE);
-        }
-    }
-    public static final String LOGO_NAME = "k-elogop-ln";
-    public static final String LOGO_IMAGE = "k-elogop-image";
-    public static final String PUT_YOUR_LOGO_LINK = "k-elogop-pyll";
-
     private final Provider<FileDownloadUtils> downloadProvider;
-    private final Provider<EntityLogoSelector> entityLogoSelectorProvider;
-    private EntityTextLogo entityTextLogo;
-    private final I18nTranslationService i18n;
+    private final EntityTextLogo entityTextLogo;
     private final Images images;
+    private final VerticalPanel vp;
 
-    public EntityLogoPanel(final I18nTranslationService i18n, final WorkspaceSkeleton ws,
-            final Provider<FileDownloadUtils> dowloadProvider,
-            final Provider<EntityLogoSelector> entityLogoSelectorProvider, Images images) {
-        this.i18n = i18n;
+    public EntityLogoPanel(final WorkspaceSkeleton ws, final Provider<FileDownloadUtils> dowloadProvider, Images images) {
         this.downloadProvider = dowloadProvider;
-        this.entityLogoSelectorProvider = entityLogoSelectorProvider;
         this.images = images;
+        vp = new VerticalPanel();
+        vp.setWidth("100%");
+        super.setWidth("100%");
+        vp.setHorizontalAlignment(ALIGN_RIGHT);
+        entityTextLogo = new EntityTextLogo();
+        add(entityTextLogo);
+        add(vp);
         ws.addToEntityMainHeader(this);
     }
 
-    public void reloadImage(GroupDTO group) {
-        getEntityTextLogo().setLogoImage(
-                downloadProvider.get().getLogoImageUrl(group.getStateToken()) + "&nocache=" + new Date().getTime());
+    public void addWidget(View view) {
+        Widget widget = (Widget) view;
+        vp.add(widget);
+        vp.setCellWidth(widget, "100%");
     }
 
-    public void setChangeYourAvatarText() {
-        getEntityTextLogo().setChangeYourAvatarText();
+    public void reloadImage(GroupDTO group) {
+        entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(group.getStateToken()) + "&nocache="
+                + new Date().getTime());
     }
 
-    public void setChangeYourLogoText() {
-        getEntityTextLogo().setChangeYourLogo();
-    }
-
     public void setFullLogo(final StateToken stateToken, final boolean clipped) {
         clear();
         final String imageUrl = downloadProvider.get().getImageUrl(stateToken);
@@ -211,7 +81,7 @@
     }
 
     public void setLargeFont() {
-        getEntityTextLogo().setLargeFont();
+        entityTextLogo.setLargeFont();
     }
 
     public void setLogoImage(StateToken stateToken) {
@@ -223,46 +93,25 @@
     }
 
     public void setLogoText(final String groupName) {
-        clear();
-        add(getEntityTextLogo());
         entityTextLogo.setLogoText(groupName);
     }
 
     public void setMediumFont() {
-        getEntityTextLogo().setMediumFont();
+        entityTextLogo.setMediumFont();
     }
 
-    public void setPutYourAvatarText() {
-        getEntityTextLogo().setPutYourAvatarText();
-    }
-
-    public void setPutYourLogoText() {
-        getEntityTextLogo().setPutYourLogo();
-    }
-
-    public void setSetYourLogoVisible(final boolean visible) {
-        getEntityTextLogo().setPutYourLogoVisible(visible);
-    }
-
     public void setSmallFont() {
-        getEntityTextLogo().setSmallFont();
+        entityTextLogo.setSmallFont();
     }
 
     public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
         if (oldTheme != null) {
-            getEntityTextLogo().removeStyleDependentName(oldTheme.toString());
+            entityTextLogo.removeStyleDependentName(oldTheme.toString());
         }
-        getEntityTextLogo().addStyleDependentName(newTheme.toString());
+        entityTextLogo.addStyleDependentName(newTheme.toString());
     }
 
     public void showDefUserLogo() {
-        getEntityTextLogo().setLogoImage(images.personAvatarDef());
+        entityTextLogo.setLogoImage(images.personAvatarDef());
     }
-
-    private EntityTextLogo getEntityTextLogo() {
-        if (entityTextLogo == null) {
-            this.entityTextLogo = new EntityTextLogo(entityLogoSelectorProvider);
-        }
-        return entityTextLogo;
-    }
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -18,16 +18,15 @@
  *
  */package org.ourproject.kune.workspace.client.entitylogo;
 
+import org.ourproject.kune.platf.client.View;
 import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
 import org.ourproject.kune.platf.client.dto.GroupDTO;
 import org.ourproject.kune.platf.client.dto.GroupType;
-import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
 import org.ourproject.kune.platf.client.state.Session;
 import org.ourproject.kune.platf.client.state.StateManager;
 import org.ourproject.kune.workspace.client.themes.WsTheme;
 import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
 
-import com.calclab.suco.client.listener.Listener;
 import com.calclab.suco.client.listener.Listener2;
 
 public class EntityLogoPresenter implements EntityLogo {
@@ -45,11 +44,6 @@
                 setGroupLogo(session.getCurrentState().getGroup());
             }
         });
-        stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
-            public void onEvent(final StateAbstractDTO state) {
-                setEntityLogoLink(state);
-            }
-        });
         theme.onThemeChanged(new Listener2<WsTheme, WsTheme>() {
             public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
                 view.setTheme(oldTheme, newTheme);
@@ -57,6 +51,10 @@
         });
     }
 
+    public void addWidget(View widget) {
+        view.addWidget(widget);
+    }
+
     public void init(final EntityLogoView view) {
         this.view = view;
     }
@@ -69,27 +67,6 @@
         view.reloadImage(session.getCurrentState().getGroup());
     }
 
-    void setEntityLogoLink(final StateAbstractDTO state) {
-        final boolean isAdmin = state.getGroupRights().isAdministrable();
-        switch (state.getGroup().getGroupType()) {
-        case PERSONAL:
-            if (state.getGroup().hasLogo()) {
-                view.setChangeYourAvatarText();
-            } else {
-                view.setPutYourAvatarText();
-            }
-            break;
-        default:
-            if (state.getGroup().hasLogo()) {
-                view.setChangeYourLogoText();
-            } else {
-                view.setPutYourLogoText();
-            }
-            break;
-        }
-        view.setSetYourLogoVisible(isAdmin);
-    }
-
     void setGroupLogo(final GroupDTO group) {
         final ContentSimpleDTO groupFullLogo = group.getGroupFullLogo();
         if (groupFullLogo != null) {

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -1,23 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.entitylogo;
-
-public interface EntityLogoSelector {
-    void show();
-}

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -1,176 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.entitylogo;
-
-import org.ourproject.kune.platf.client.PlatfMessages;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.ui.dialogs.BasicDialogExtended;
-import org.ourproject.kune.platf.client.ui.download.FileParams;
-import org.ourproject.kune.workspace.client.site.Site;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.calclab.suco.client.listener.Listener0;
-import com.gwtext.client.core.Connection;
-import com.gwtext.client.core.EventCallback;
-import com.gwtext.client.core.EventObject;
-import com.gwtext.client.widgets.form.Field;
-import com.gwtext.client.widgets.form.Form;
-import com.gwtext.client.widgets.form.FormPanel;
-import com.gwtext.client.widgets.form.Hidden;
-import com.gwtext.client.widgets.form.Label;
-import com.gwtext.client.widgets.form.TextField;
-import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
-import com.gwtext.client.widgets.form.event.FormListener;
-
-public class EntityLogoSelectorPanel implements EntityLogoSelectorView {
-
-    public static final String ICON_UPLOAD_SERVLET = "/kune/servlets/EntityLogoUploadManager";
-    public static final String SUBID = "k-elogoselp-subb";
-    public static final String CANCELID = "k-elogoselp-canb";
-    public static final String DIALOG_ID = "k-elogoselp";
-    private final BasicDialogExtended dialog;
-    private final FormPanel formPanel;
-    private final Hidden userhashField;
-    private final Hidden tokenField;
-    private final TextField file;
-    private final Label dialogInfoLabel;
-    private final I18nTranslationService i18n;
-
-    public EntityLogoSelectorPanel(final EntityLogoSelectorPresenter presenter, final WorkspaceSkeleton ws,
-            I18nTranslationService i18n) {
-        this.i18n = i18n;
-        dialog = new BasicDialogExtended(i18n.t(PlatfMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE), true, true, 400, 200,
-                "", i18n.t("Select"), SUBID, i18n.tWithNT("Cancel", "used in button"), CANCELID, new Listener0() {
-                    public void onEvent() {
-                        String filename = file.getValueAsString();
-                        if (filename != null && filename.length() > 0) {
-                            formPanel.getForm().submit();
-                        }
-                    }
-                }, new Listener0() {
-                    public void onEvent() {
-                        presenter.onCancel();
-                    }
-                }, 2);
-        dialog.setId(DIALOG_ID);
-        dialog.setCollapsible(false);
-        dialog.setBorder(false);
-        // dialog.getFirstButton().disable();
-
-        formPanel = new FormPanel();
-        formPanel.setFrame(true);
-        formPanel.setAutoScroll(false);
-        formPanel.setBorder(false);
-        formPanel.setFileUpload(true);
-        formPanel.setWidth(400);
-        formPanel.setMethod(Connection.POST);
-        formPanel.setUrl(ICON_UPLOAD_SERVLET);
-        formPanel.setWaitMsgTarget(true);
-        formPanel.setHideLabels(true);
-        formPanel.setPaddings(10);
-        formPanel.addFormListener(new FormListener() {
-            public boolean doBeforeAction(Form form) {
-                return true;
-            }
-
-            public void onActionComplete(Form form, int httpStatus, String responseText) {
-                presenter.onSubmitComplete(httpStatus, responseText);
-            }
-
-            public void onActionFailed(Form form, int httpStatus, String responseText) {
-                Site.important(responseText);
-                presenter.onSubmitFailed(httpStatus, responseText);
-            }
-        });
-        dialogInfoLabel = new Label();
-        formPanel.add(dialogInfoLabel);
-        file = new TextField("File", EntityLogoView.LOGO_FORM_FIELD);
-        EventCallback keyListener = new EventCallback() {
-            public void execute(EventObject e) {
-                // setEnableFileField();
-            }
-        };
-        file.addKeyPressListener(keyListener);
-        file.setId(EntityLogoView.LOGO_FORM_FIELD);
-        file.setInputType("file");
-        userhashField = new Hidden(FileParams.HASH, FileParams.HASH);
-        tokenField = new Hidden(FileParams.TOKEN, FileParams.TOKEN);
-        formPanel.add(userhashField);
-        formPanel.add(tokenField);
-        formPanel.add(file);
-        FieldListenerAdapter changeListener = new FieldListenerAdapter() {
-            @Override
-            public void onChange(Field field, Object newVal, Object oldVal) {
-                Site.info("change");
-                // setEnableFileField();
-            }
-        };
-        // Don't works:
-        file.addListener(changeListener);
-        dialog.add(formPanel);
-    }
-
-    // BrowseButton browseButton = new BrowseButton("SelectIcon");
-    // browseButton.addListener(new BrowseButtonListenerAdapter() {
-    // @Override
-    // public void onInputFileChange(BrowseButton browseButton, String filename)
-    // {
-    // // TODO Auto-generated method stub
-    // }
-    // });
-
-    public void hide() {
-        dialog.hide();
-        formPanel.getForm().reset();
-    }
-
-    public void setNormalGroupsLabels() {
-        dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as the logo for this group. "
-                + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
-                EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT, EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT)
-                + "<br/><br/>");
-        dialog.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
-    }
-
-    public void setPersonalGroupsLabels() {
-        dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as your avatar. "
-                + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
-                EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT, EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT)
-                + "<br/><br/>");
-        dialog.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_PERSON_TITLE);
-    }
-
-    public void setUploadParams(String userHash, String token) {
-        userhashField.setValue(userHash);
-        tokenField.setValue(token);
-    }
-
-    public void show() {
-        dialog.show();
-    }
-
-    @SuppressWarnings("unused")
-    private void setEnableFileField() {
-        if (file.getValueAsString().length() > 0) {
-            dialog.getFirstButton().enable();
-        } else {
-            dialog.getFirstButton().disable();
-        }
-    }
-}

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -1,71 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.entitylogo;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.workspace.client.site.Site;
-
-public class EntityLogoSelectorPresenter implements EntityLogoSelector {
-
-    private EntityLogoSelectorView view;
-    private final Session session;
-    private final EntityLogo entityLogo;
-
-    public EntityLogoSelectorPresenter(Session session, EntityLogo entityLogo) {
-        this.session = session;
-        this.entityLogo = entityLogo;
-    }
-
-    public View getView() {
-        return view;
-    }
-
-    public void init(EntityLogoSelectorView view) {
-        this.view = view;
-    }
-
-    public void onCancel() {
-        view.hide();
-    }
-
-    public void onSubmitComplete(int httpStatus, String responseText) {
-        view.hide();
-        entityLogo.reloadGroupLogoImage();
-    }
-
-    public void onSubmitFailed(int httpStatus, String responseText) {
-        Site.error("Error setting the group logo");
-    }
-
-    public void show() {
-        session.check(new AsyncCallbackSimple<Object>() {
-            public void onSuccess(Object result) {
-                view.setUploadParams(session.getUserHash(), session.getCurrentStateToken().toString());
-                if (session.getCurrentState().getGroup().isPersonalGroup()) {
-                    view.setPersonalGroupsLabels();
-                } else {
-                    view.setNormalGroupsLabels();
-                }
-                view.show();
-            }
-        });
-    }
-}

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -1,33 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 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.entitylogo;
-
-import org.ourproject.kune.platf.client.View;
-
-public interface EntityLogoSelectorView extends View {
-    void hide();
-
-    void setNormalGroupsLabels();
-
-    void setPersonalGroupsLabels();
-
-    void setUploadParams(String userHash, String token);
-
-    void show();
-}

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -18,6 +18,7 @@
  *
  */package org.ourproject.kune.workspace.client.entitylogo;
 
+import org.ourproject.kune.platf.client.View;
 import org.ourproject.kune.platf.client.dto.GroupDTO;
 import org.ourproject.kune.platf.client.dto.StateToken;
 import org.ourproject.kune.workspace.client.themes.WsTheme;
@@ -32,12 +33,10 @@
 
     String LOGO_FORM_FIELD = "k-elogov-ff";
 
+    void addWidget(View view);
+
     void reloadImage(GroupDTO group);
 
-    void setChangeYourAvatarText();
-
-    void setChangeYourLogoText();
-
     void setFullLogo(StateToken stateToken, boolean clipped);
 
     void setLargeFont();
@@ -50,12 +49,6 @@
 
     void setMediumFont();
 
-    void setPutYourAvatarText();
-
-    void setPutYourLogoText();
-
-    void setSetYourLogoVisible(final boolean visible);
-
     void setSmallFont();
 
     void setTheme(final WsTheme oldTheme, WsTheme newTheme);

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityTextLogo.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityTextLogo.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityTextLogo.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,94 @@
+package org.ourproject.kune.workspace.client.entitylogo;
+
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
+
+public class EntityTextLogo extends VerticalPanel {
+
+    public static final String LOGO_NAME = "k-elogop-ln";
+    public static final String LOGO_IMAGE = "k-elogop-image";
+
+    private static final String _100 = "100%";
+    private static final String LOGO_MEDIUM_FONT_STYLE = "k-elogo-l-m";
+    private static final String LOGO_SMALL_FONT_STYLE = "k-elogo-l-s";
+    private static final String LOGO_LARGE_FONT_STYLE = "k-elogo-l-l";
+    private final Label logoLabel;
+    private final Image logoImage;
+
+    public EntityTextLogo() {
+        // Initialize
+        super();
+        HorizontalPanel generalHP = new HorizontalPanel();
+        VerticalPanel logoTextVP = new VerticalPanel();
+        logoImage = new Image();
+        logoLabel = new Label();
+        final Label expandCell = new Label("");
+
+        logoImage.ensureDebugId(LOGO_IMAGE);
+        logoLabel.ensureDebugId(LOGO_NAME);
+
+        // Layout
+        add(generalHP);
+        generalHP.add(logoImage);
+        generalHP.add(logoTextVP);
+        logoTextVP.add(logoLabel);
+
+        // Set properties
+
+        expandCell.setStyleName("k-elogop-expand");
+        generalHP.setWidth(_100);
+        generalHP.setHeight(_100);
+        generalHP.setCellWidth(logoTextVP, _100);
+        generalHP.setCellHeight(logoTextVP, _100);
+        logoTextVP.setWidth(_100);
+        logoTextVP.setCellWidth(logoLabel, _100);
+        super.setVerticalAlignment(ALIGN_MIDDLE);
+        logoTextVP.setVerticalAlignment(ALIGN_MIDDLE);
+        generalHP.setVerticalAlignment(ALIGN_MIDDLE);
+        setStylePrimaryName("k-entitytextlogo");
+        addStyleName("k-entitytextlogo-no-border");
+        logoImage.setVisible(false);
+        setLogoText("");
+    }
+
+    public void setLargeFont() {
+        resetFontSize();
+        logoLabel.addStyleName(LOGO_LARGE_FONT_STYLE);
+    }
+
+    public void setLogoImage(AbstractImagePrototype imageProto) {
+        imageProto.applyTo(logoImage);
+    }
+
+    public void setLogoImage(final String url) {
+        Image.prefetch(url);
+        logoImage.setUrl(url);
+    }
+
+    public void setLogoText(final String text) {
+        logoLabel.setText(text);
+    }
+
+    public void setLogoVisible(final boolean visible) {
+        logoImage.setVisible(visible);
+    }
+
+    public void setMediumFont() {
+        resetFontSize();
+        logoLabel.addStyleName(LOGO_MEDIUM_FONT_STYLE);
+    }
+
+    public void setSmallFont() {
+        resetFontSize();
+        logoLabel.addStyleName(LOGO_SMALL_FONT_STYLE);
+    }
+
+    private void resetFontSize() {
+        logoLabel.removeStyleName(LOGO_LARGE_FONT_STYLE);
+        logoLabel.removeStyleName(LOGO_SMALL_FONT_STYLE);
+        logoLabel.removeStyleName(LOGO_MEDIUM_FONT_STYLE);
+    }
+}
\ No newline at end of file

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -31,6 +31,7 @@
 import org.ourproject.kune.workspace.client.licensechoose.LicenseChoose;
 import org.ourproject.kune.workspace.client.licensechoose.LicenseChoosePanel;
 
+import com.allen_sauer.gwt.log.client.Log;
 import com.calclab.suco.client.ioc.Provider;
 import com.google.gwt.user.client.ui.DeckPanel;
 import com.google.gwt.user.client.ui.HTML;
@@ -93,6 +94,7 @@
             }
 
             public void onClose() {
+                Log.info("close pressed");
                 presenter.onClose();
             }
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -12,7 +12,7 @@
     private BasicDialog dialog;
     private MessageToolbar messageErrorBar;
     private TabPanel tabPanel;
-    private final String title;
+    private String title;
     private final int width;
     private final int height;
     private final int minWidth;
@@ -20,9 +20,11 @@
     private final Images images;
     private final String errorLabelId;
     private String iconCls;
+    private final String id;
 
     public AbstractOptionsPanel(String title, int width, int height, int minWidth, int minHeight, Images images,
-            String errorLabelId) {
+            String id, String errorLabelId) {
+        this.id = id;
         this.title = title;
         this.width = width;
         this.height = height;
@@ -44,12 +46,15 @@
     }
 
     public void hide() {
-        createDialogIfNecessary();
-        dialog.hide();
+        if (dialog != null) {
+            dialog.hide();
+        }
     }
 
     public void hideMessages() {
-        messageErrorBar.hideErrorMessage();
+        if (dialog != null) {
+            messageErrorBar.hideErrorMessage();
+        }
     }
 
     public boolean isVisible() {
@@ -72,6 +77,13 @@
         }
     }
 
+    public void setTitle(String title) {
+        this.title = title;
+        if (dialog != null) {
+            dialog.setTitle(title);
+        }
+    }
+
     public void show() {
         createDialogIfNecessary();
         dialog.show();
@@ -79,6 +91,7 @@
 
     private void createDialog() {
         dialog = new BasicDialog(title, false, true, width, height, minWidth, minHeight);
+        dialog.setId(id);
         messageErrorBar = new MessageToolbar(images, errorLabelId);
         dialog.setBottomToolbar(messageErrorBar.getToolbar());
         tabPanel = new TabPanel();

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -6,4 +6,6 @@
 
     void addOptionTab(View view);
 
+    void show();
+
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -1,33 +1,41 @@
 package org.ourproject.kune.workspace.client.options;
 
+import org.ourproject.kune.platf.client.PlatfMessages;
 import org.ourproject.kune.platf.client.View;
 import org.ourproject.kune.platf.client.app.EntityOptionsGroup;
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
 import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.ui.KuneUiUtils;
+import org.ourproject.kune.platf.client.ui.IconLabel;
 import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
-import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
 
 import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
 import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.PushButton;
 import com.google.gwt.user.client.ui.Widget;
 import com.gwtext.client.widgets.Panel;
 
 public class EntityOptionsPanel extends AbstractOptionsPanel implements EntityOptionsView {
 
-    public static final String GROUP_OPTIONS_ERROR_ID = "gop-err-mess";
+    class EntityOptionPushButton extends IconLabel implements View {
+        public EntityOptionPushButton(String text, AbstractImagePrototype icon) {
+            super(text, icon);
+        }
+    }
+    public static final String GROUP_OPTIONS_ERROR_ID = "k-gop-err-mess";
+    public static final String GROUP_OPTIONS_ID = "k-gop-panel";
+    public static final String GROUP_OPTIONS_ICON = "k-gop-icon";
     private final I18nTranslationService i18n;
-    private final WorkspaceSkeleton ws;
-    private PushButton optionsButton;
+    private final EntityLogo entityHeader;
+    private EntityOptionPushButton optionsButton;
     private final Images images;
+
     private final EntityOptionsGroup entityPreferencesGroup;
 
-    public EntityOptionsPanel(final EntityOptionsPresenter presenter, final WorkspaceSkeleton ws,
+    public EntityOptionsPanel(final EntityOptionsPresenter presenter, final EntityLogo entityHeader,
             I18nTranslationService i18n, Images images, EntityOptionsGroup entityOptionsGroup) {
-        super(i18n.t("Group options"), 400, 250, 400, 250, images, GROUP_OPTIONS_ERROR_ID);
-        this.ws = ws;
+        super("", 400, 250, 400, 250, images, GROUP_OPTIONS_ID, GROUP_OPTIONS_ERROR_ID);
+        this.entityHeader = entityHeader;
         this.i18n = i18n;
         this.images = images;
         this.entityPreferencesGroup = entityOptionsGroup;
@@ -46,26 +54,37 @@
         doLayoutIfNeeded();
     }
 
+    public void createAndShow() {
+        entityPreferencesGroup.createAll();
+        show();
+        setFirstTabActive();
+    }
+
     public void setButtonVisible(boolean visible) {
         optionsButton.setVisible(visible);
     }
 
+    public void setGroupTitle() {
+        super.setTitle(i18n.t(PlatfMessages.ENT_OPTIONS_GROUP_TITLE));
+        optionsButton.setTitle(i18n.t("Configure this group preferences"));
+    }
+
+    public void setPersonalTitle() {
+        super.setTitle(i18n.t(PlatfMessages.ENT_OPTIONS_USER_TITLE));
+        optionsButton.setTitle(i18n.t("Configure your preferences"));
+    }
+
     private void createOptionsButton() {
-        optionsButton = new PushButton(images.emblemSystem().createImage(), new ClickListener() {
+        optionsButton = new EntityOptionPushButton(i18n.t("Configure"), images.emblemSystem());
+        optionsButton.addClickListener(new ClickListener() {
             public void onClick(Widget arg0) {
-                if (isVisible()) {
-                    hide();
-                } else {
-                    entityPreferencesGroup.createAll();
-                    show();
-                    setFirstTabActive();
-                }
+                createAndShow();
             }
         });
-        KuneUiUtils.setQuickTip(optionsButton, i18n.t("Show/hide the group options dialog"));
+        optionsButton.ensureDebugId(GROUP_OPTIONS_ICON);
+        optionsButton.addStyleName("kune-Margin-Medium-t");
+        optionsButton.addStyleName("kune-pointer");
 
-        optionsButton.addStyleName("kune-Margin-Medium-r");
-        final SimpleToolbar wsTitle = ws.getEntityWorkspace().getTitleComponent();
-        wsTitle.add(optionsButton);
+        entityHeader.addWidget(optionsButton);
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -13,11 +13,17 @@
 
     public EntityOptionsPresenter(StateManager stateManager) {
         stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
-            public void onEvent(StateAbstractDTO parameter) {
-                if (parameter.getGroupRights().isAdministrable()) {
+            public void onEvent(StateAbstractDTO state) {
+                if (state.getGroup().isPersonalGroup()) {
+                    view.setPersonalTitle();
+                } else {
+                    view.setGroupTitle();
+                }
+                if (state.getGroupRights().isAdministrable()) {
                     view.setButtonVisible(true);
                 } else {
                     view.setButtonVisible(false);
+                    view.hide();
                 }
             }
         });
@@ -42,4 +48,8 @@
     public void setErrorMessage(String message, SiteErrorType type) {
         view.setErrorMessage(message, type);
     }
+
+    public void show() {
+        view.createAndShow();
+    }
 }

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -1,5 +0,0 @@
-package org.ourproject.kune.workspace.client.options;
-
-public interface EntityOptionsToolsConf {
-
-}

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -1,93 +0,0 @@
-package org.ourproject.kune.workspace.client.options;
-
-import java.util.HashMap;
-
-import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.allen_sauer.gwt.log.client.Log;
-import com.gwtext.client.widgets.ToolTip;
-import com.gwtext.client.widgets.form.Checkbox;
-import com.gwtext.client.widgets.form.Hidden;
-import com.gwtext.client.widgets.form.Label;
-import com.gwtext.client.widgets.form.event.CheckboxListenerAdapter;
-
-public class EntityOptionsToolsConfPanel extends DefaultForm implements EntityOptionsToolsConfView {
-
-    private final EntityOptionsToolsConfPresenter presenter;
-    private final HashMap<String, Checkbox> fields;
-    private final I18nTranslationService i18n;
-
-    public EntityOptionsToolsConfPanel(final EntityOptionsToolsConfPresenter presenter, final WorkspaceSkeleton ws,
-            I18nTranslationService i18n) {
-        super(i18n.t("Tools"));
-        this.i18n = i18n;
-        super.setAutoWidth(true);
-        super.setAutoHeight(true);
-        super.add(new Hidden());
-        super.getForm().setLabelWidth(20);
-        this.presenter = presenter;
-        fields = new HashMap<String, Checkbox>();
-    }
-
-    public void add(final ToolSimpleDTO tool) {
-        Checkbox checkbox = new Checkbox(tool.getRootName(), new CheckboxListenerAdapter() {
-            @Override
-            public void onCheck(Checkbox field, boolean checked) {
-                presenter.onCheck(tool, checked);
-            }
-        });
-        checkbox.setChecked(false);
-        super.add(checkbox);
-        fields.put(tool.getName(), checkbox);
-        doLayoutIfNeeded();
-    }
-
-    public void clear() {
-        super.getForm().removeAll(true);
-        fields.clear();
-        Label label = new Label();
-        label.setHtml(i18n.t("Here you can select the tools used:") + "<br/><br/>");
-        super.add(label);
-    }
-
-    public void setChecked(String tool, boolean checked) {
-        Checkbox field = getTool(tool);
-        field.setValue(checked);
-    }
-
-    public void setEnabled(String tool, boolean enabled) {
-        Checkbox field = getTool(tool);
-        if (enabled) {
-            field.enable();
-        } else {
-            field.disable();
-        }
-    }
-
-    public void setTooltip(String tool, String tip) {
-        Checkbox field = getTool(tool);
-        ToolTip tooltip = new ToolTip();
-        tooltip.setHtml(tip);
-        tooltip.setWidth(250);
-        tooltip.applyTo(field);
-        field.setTitle(tip);
-        doLayoutIfNeeded();
-    }
-
-    private void doLayoutIfNeeded() {
-        if (super.getForm().isRendered()) {
-            super.getForm().doLayout();
-        }
-    }
-
-    private Checkbox getTool(String tool) {
-        Checkbox field = fields.get(tool);
-        if (field == null) {
-            Log.error("Field " + tool + " not found in EOTCP");
-        }
-        return field;
-    }
-}

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -1,120 +0,0 @@
-package org.ourproject.kune.workspace.client.options;
-
-import java.util.Collection;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
-import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
-import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
-import org.ourproject.kune.platf.client.rpc.GroupServiceAsync;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
-
-import com.calclab.suco.client.ioc.Provider;
-import com.calclab.suco.client.listener.Listener2;
-import com.google.gwt.user.client.rpc.AsyncCallback;
-
-public class EntityOptionsToolsConfPresenter implements EntityOptionsToolsConf {
-
-    private EntityOptionsToolsConfView view;
-    private final Session session;
-    private final EntityOptions entityOptions;
-    private final Provider<GroupServiceAsync> groupServiceProvider;
-    private final I18nTranslationService i18n;
-    private final StateManager stateManager;
-
-    public EntityOptionsToolsConfPresenter(StateManager stateManager, Session session, I18nTranslationService i18n,
-            EntityOptions entityOptions, Provider<GroupServiceAsync> groupServiceProvider) {
-        this.stateManager = stateManager;
-        this.session = session;
-        this.i18n = i18n;
-        this.entityOptions = entityOptions;
-        this.groupServiceProvider = groupServiceProvider;
-        stateManager.onGroupChanged(new Listener2<String, String>() {
-            public void onEvent(String group1, String group2) {
-                setState();
-            }
-        });
-    }
-
-    public View getView() {
-        return view;
-    }
-
-    public void init(EntityOptionsToolsConfView view) {
-        this.view = view;
-        setState();
-        entityOptions.addOptionTab(view);
-    }
-
-    public void onCheck(ToolSimpleDTO tool, boolean checked) {
-        StateAbstractDTO state = session.getCurrentState();
-        String toolName = tool.getName();
-        if (checked) {
-            if (!(state.getEnabledTools().contains(toolName))) {
-                // Log.info("Tool " + tool.getName() + " checked: " + checked +
-                // " enabled tools: "
-                // + state.getEnabledTools().toString());
-                setToolCheckedInServer(checked, toolName);
-            } else {
-                // do nothing
-            }
-        } else {
-            if (state.getEnabledTools().contains(tool.getName())) {
-                // Log.info("Tool " + tool.getName() + " checked: " + checked);
-                setToolCheckedInServer(checked, toolName);
-                if (session.getCurrentStateToken().getTool().equals(toolName)) {
-                    stateManager.gotoToken(session.getCurrentState().getGroup().getDefaultContent().getStateToken());
-                }
-            }
-        }
-    }
-
-    private void reset() {
-        // TODO Auto-generated method stub
-        view.clear();
-        entityOptions.hideMessages();
-    }
-
-    private void setState() {
-        StateAbstractDTO state = session.getCurrentState();
-        reset();
-        Collection<ToolSimpleDTO> toolCollection;
-        if (state.getGroup().isPersonalGroup()) {
-            toolCollection = session.getUserTools();
-        } else {
-            toolCollection = session.getGroupTools();
-        }
-        for (ToolSimpleDTO tool : toolCollection) {
-            view.add(tool);
-            view.setEnabled(tool.getName(), true);
-        }
-        for (String tool : state.getEnabledTools()) {
-            view.setChecked(tool, true);
-        }
-        ContentSimpleDTO defaultContent = session.getCurrentState().getGroup().getDefaultContent();
-        if (defaultContent != null) {
-            String defContentTool = defaultContent.getStateToken().getTool();
-            view.setEnabled(defContentTool, false);
-            view.setTooltip(
-                    defContentTool,
-                    i18n.t("You cannot disable this tool because it's where the current group home page is located. To do that you have to select other content as the default group home page but in another tool."));
-        }
-    }
-
-    private void setToolCheckedInServer(final boolean checked, final String toolName) {
-        groupServiceProvider.get().setToolEnabled(session.getUserHash(), session.getCurrentStateToken(), toolName,
-                checked, new AsyncCallback<Object>() {
-                    public void onFailure(Throwable caught) {
-                        view.setChecked(toolName, !checked);
-                        entityOptions.setErrorMessage(i18n.t("Error configuring the tool"), SiteErrorType.error);
-                    }
-
-                    public void onSuccess(Object result) {
-                        stateManager.reload();
-                    }
-                });
-    }
-}

Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -1,17 +0,0 @@
-package org.ourproject.kune.workspace.client.options;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
-
-public interface EntityOptionsToolsConfView extends View {
-
-    void add(ToolSimpleDTO tool);
-
-    void clear();
-
-    void setChecked(String tool, boolean checked);
-
-    void setEnabled(String tool, boolean enabled);
-
-    void setTooltip(String tool, String tip);
-}

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -6,5 +6,13 @@
 
     void addOptionTab(View tab);
 
+    void createAndShow();
+
+    void hide();
+
     void setButtonVisible(boolean visible);
+
+    void setGroupTitle();
+
+    void setPersonalTitle();
 }

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogo.java (from rev 973, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java	2008-11-30 23:11:28 UTC (rev 973)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogo.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,22 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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.options.logo;
+
+public interface EntityOptionsLogo {
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogo.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java (from rev 973, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java	2008-11-30 23:11:28 UTC (rev 973)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,162 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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.options.logo;
+
+import org.ourproject.kune.platf.client.PlatfMessages;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.download.FileParams;
+import org.ourproject.kune.workspace.client.entitylogo.EntityLogoView;
+import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.gwtext.client.core.Connection;
+import com.gwtext.client.core.EventCallback;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtext.client.widgets.form.Field;
+import com.gwtext.client.widgets.form.Form;
+import com.gwtext.client.widgets.form.FormPanel;
+import com.gwtext.client.widgets.form.Hidden;
+import com.gwtext.client.widgets.form.Label;
+import com.gwtext.client.widgets.form.TextField;
+import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
+import com.gwtext.client.widgets.form.event.FormListener;
+
+public class EntityOptionsLogoPanel extends FormPanel implements EntityOptionsLogoView {
+
+    public static final String ICON_UPLOAD_SERVLET = "/kune/servlets/EntityLogoUploadManager";
+    public static final String SET_LOGO_ID = "k-eolp-sendb";
+    public static final String PANEL_ID = "k-eolp-pan";
+    private final Hidden userhashField;
+    private final Hidden tokenField;
+    private final TextField file;
+    private final Label dialogInfoLabel;
+    private final I18nTranslationService i18n;
+
+    public EntityOptionsLogoPanel(final EntityOptionsLogoPresenter presenter, final WorkspaceSkeleton ws,
+            I18nTranslationService i18n) {
+        this.i18n = i18n;
+        super.setFrame(true);
+        super.setAutoScroll(false);
+        super.setBorder(false);
+        super.setFileUpload(true);
+        super.setWidth(400);
+        super.setMethod(Connection.POST);
+        super.setUrl(ICON_UPLOAD_SERVLET);
+        super.setWaitMsgTarget(true);
+        super.setHideLabels(true);
+        super.setPaddings(10);
+        super.addFormListener(new FormListener() {
+            public boolean doBeforeAction(Form form) {
+                return true;
+            }
+
+            public void onActionComplete(Form form, int httpStatus, String responseText) {
+                presenter.onSubmitComplete(httpStatus, responseText);
+            }
+
+            public void onActionFailed(Form form, int httpStatus, String responseText) {
+                presenter.onSubmitFailed(httpStatus, responseText);
+            }
+        });
+        dialogInfoLabel = new Label();
+        super.add(dialogInfoLabel);
+        file = new TextField("File", EntityLogoView.LOGO_FORM_FIELD);
+        EventCallback keyListener = new EventCallback() {
+            public void execute(EventObject e) {
+                // setEnableFileField();
+            }
+        };
+        file.addKeyPressListener(keyListener);
+        file.setId(EntityLogoView.LOGO_FORM_FIELD);
+        file.setInputType("file");
+        userhashField = new Hidden(FileParams.HASH, FileParams.HASH);
+        tokenField = new Hidden(FileParams.TOKEN, FileParams.TOKEN);
+        super.add(userhashField);
+        super.add(tokenField);
+        super.add(file);
+        FieldListenerAdapter changeListener = new FieldListenerAdapter() {
+            @Override
+            public void onChange(Field field, Object newVal, Object oldVal) {
+                Site.info("change");
+                // setEnableFileField();
+            }
+        };
+        // Don't works:
+        file.addListener(changeListener);
+        setId(PANEL_ID);
+
+        Button sendButton = new Button(i18n.t("Send"), new ButtonListenerAdapter() {
+            @Override
+            public void onClick(Button button, EventObject e) {
+                String filename = file.getValueAsString();
+                if (filename != null && filename.length() > 0) {
+                    getForm().submit();
+                }
+            }
+        });
+        sendButton.setId(SET_LOGO_ID);
+        super.addButton(sendButton);
+        super.setHeight(170);
+    }
+
+    // BrowseButton browseButton = new BrowseButton("SelectIcon");
+    // browseButton.addListener(new BrowseButtonListenerAdapter() {
+    // @Override
+    // public void onInputFileChange(BrowseButton browseButton, String filename)
+    // {
+    // //
+    // }
+    // });
+
+    public void reset() {
+        super.getForm().reset();
+    }
+
+    public void setNormalGroupsLabels() {
+        dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as the logo for this group. "
+                + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
+                EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT, EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT)
+                + "<br/><br/>");
+        super.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
+        doLayoutIfNeeded();
+    }
+
+    public void setPersonalGroupsLabels() {
+        dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as your avatar. "
+                + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
+                EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT, EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT)
+                + "<br/><br/>");
+        super.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_PERSON_TITLE);
+        doLayoutIfNeeded();
+    }
+
+    public void setUploadParams(String userHash, String token) {
+        userhashField.setValue(userHash);
+        tokenField.setValue(token);
+    }
+
+    private void doLayoutIfNeeded() {
+        if (super.isRendered()) {
+            doLayout(false);
+        }
+    }
+
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java (from rev 973, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java	2008-11-30 23:11:28 UTC (rev 973)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,75 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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.options.logo;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
+import org.ourproject.kune.workspace.client.site.Site;
+
+import com.calclab.suco.client.listener.Listener2;
+
+public class EntityOptionsLogoPresenter implements EntityOptionsLogo {
+
+    private EntityOptionsLogoView view;
+    private final Session session;
+    private final EntityLogo entityLogo;
+    private final EntityOptions entityOptions;
+
+    public EntityOptionsLogoPresenter(Session session, EntityLogo entityLogo, EntityOptions entityOptions,
+            StateManager stateManager) {
+        this.session = session;
+        this.entityLogo = entityLogo;
+        this.entityOptions = entityOptions;
+        stateManager.onGroupChanged(new Listener2<String, String>() {
+            public void onEvent(String group1, String group2) {
+                setState();
+            }
+        });
+    }
+
+    public View getView() {
+        return view;
+    }
+
+    public void init(EntityOptionsLogoView view) {
+        this.view = view;
+        entityOptions.addOptionTab(view);
+        setState();
+    }
+
+    public void onSubmitComplete(int httpStatus, String responseText) {
+        entityLogo.reloadGroupLogoImage();
+    }
+
+    public void onSubmitFailed(int httpStatus, String responseText) {
+        Site.error("Error setting the group logo: " + responseText);
+    }
+
+    private void setState() {
+        view.setUploadParams(session.getUserHash(), session.getCurrentStateToken().toString());
+        if (session.getCurrentState().getGroup().isPersonalGroup()) {
+            view.setPersonalGroupsLabels();
+        } else {
+            view.setNormalGroupsLabels();
+        }
+    }
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoView.java (from rev 973, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java	2008-11-30 23:11:28 UTC (rev 973)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoView.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,31 @@
+/*
+ *
+ * Copyright (C) 2007-2008 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.options.logo;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface EntityOptionsLogoView extends View {
+
+    void setNormalGroupsLabels();
+
+    void setPersonalGroupsLabels();
+
+    void setUploadParams(String userHash, String token);
+
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoView.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConf.java (from rev 975, trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java	2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConf.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.options.tools;
+
+public interface EntityOptionsToolsConf {
+
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConf.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java (from rev 976, trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,93 @@
+package org.ourproject.kune.workspace.client.options.tools;
+
+import java.util.HashMap;
+
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.gwtext.client.widgets.ToolTip;
+import com.gwtext.client.widgets.form.Checkbox;
+import com.gwtext.client.widgets.form.Hidden;
+import com.gwtext.client.widgets.form.Label;
+import com.gwtext.client.widgets.form.event.CheckboxListenerAdapter;
+
+public class EntityOptionsToolsConfPanel extends DefaultForm implements EntityOptionsToolsConfView {
+
+    private final EntityOptionsToolsConfPresenter presenter;
+    private final HashMap<String, Checkbox> fields;
+    private final I18nTranslationService i18n;
+
+    public EntityOptionsToolsConfPanel(final EntityOptionsToolsConfPresenter presenter, final WorkspaceSkeleton ws,
+            I18nTranslationService i18n) {
+        super(i18n.t("Tools"));
+        this.i18n = i18n;
+        super.setAutoWidth(true);
+        super.setAutoHeight(true);
+        super.add(new Hidden());
+        super.getForm().setLabelWidth(20);
+        this.presenter = presenter;
+        fields = new HashMap<String, Checkbox>();
+    }
+
+    public void add(final ToolSimpleDTO tool) {
+        Checkbox checkbox = new Checkbox(tool.getRootName(), new CheckboxListenerAdapter() {
+            @Override
+            public void onCheck(Checkbox field, boolean checked) {
+                presenter.onCheck(tool, checked);
+            }
+        });
+        checkbox.setChecked(false);
+        super.add(checkbox);
+        fields.put(tool.getName(), checkbox);
+        doLayoutIfNeeded();
+    }
+
+    public void clear() {
+        super.getForm().removeAll(true);
+        fields.clear();
+        Label label = new Label();
+        label.setHtml(i18n.t("Here you can select the tools used:") + "<br/><br/>");
+        super.add(label);
+    }
+
+    public void setChecked(String tool, boolean checked) {
+        Checkbox field = getTool(tool);
+        field.setValue(checked);
+    }
+
+    public void setEnabled(String tool, boolean enabled) {
+        Checkbox field = getTool(tool);
+        if (enabled) {
+            field.enable();
+        } else {
+            field.disable();
+        }
+    }
+
+    public void setTooltip(String tool, String tip) {
+        Checkbox field = getTool(tool);
+        ToolTip tooltip = new ToolTip();
+        tooltip.setHtml(tip);
+        tooltip.setWidth(250);
+        tooltip.applyTo(field);
+        field.setTitle(tip);
+        doLayoutIfNeeded();
+    }
+
+    private void doLayoutIfNeeded() {
+        if (super.getForm().isRendered()) {
+            super.getForm().doLayout();
+        }
+    }
+
+    private Checkbox getTool(String tool) {
+        Checkbox field = fields.get(tool);
+        if (field == null) {
+            Log.error("Field " + tool + " not found in EOTCP");
+        }
+        return field;
+    }
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPresenter.java (from rev 976, trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPresenter.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,120 @@
+package org.ourproject.kune.workspace.client.options.tools;
+
+import java.util.Collection;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
+import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
+import org.ourproject.kune.platf.client.rpc.GroupServiceAsync;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
+
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.listener.Listener2;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+
+public class EntityOptionsToolsConfPresenter implements EntityOptionsToolsConf {
+
+    private EntityOptionsToolsConfView view;
+    private final Session session;
+    private final EntityOptions entityOptions;
+    private final Provider<GroupServiceAsync> groupServiceProvider;
+    private final I18nTranslationService i18n;
+    private final StateManager stateManager;
+
+    public EntityOptionsToolsConfPresenter(StateManager stateManager, Session session, I18nTranslationService i18n,
+            EntityOptions entityOptions, Provider<GroupServiceAsync> groupServiceProvider) {
+        this.stateManager = stateManager;
+        this.session = session;
+        this.i18n = i18n;
+        this.entityOptions = entityOptions;
+        this.groupServiceProvider = groupServiceProvider;
+        stateManager.onGroupChanged(new Listener2<String, String>() {
+            public void onEvent(String group1, String group2) {
+                setState();
+            }
+        });
+    }
+
+    public View getView() {
+        return view;
+    }
+
+    public void init(EntityOptionsToolsConfView view) {
+        this.view = view;
+        setState();
+        entityOptions.addOptionTab(view);
+    }
+
+    public void onCheck(ToolSimpleDTO tool, boolean checked) {
+        StateAbstractDTO state = session.getCurrentState();
+        String toolName = tool.getName();
+        if (checked) {
+            if (!(state.getEnabledTools().contains(toolName))) {
+                // Log.info("Tool " + tool.getName() + " checked: " + checked +
+                // " enabled tools: "
+                // + state.getEnabledTools().toString());
+                setToolCheckedInServer(checked, toolName);
+            } else {
+                // do nothing
+            }
+        } else {
+            if (state.getEnabledTools().contains(tool.getName())) {
+                // Log.info("Tool " + tool.getName() + " checked: " + checked);
+                setToolCheckedInServer(checked, toolName);
+                if (session.getCurrentStateToken().getTool().equals(toolName)) {
+                    stateManager.gotoToken(session.getCurrentState().getGroup().getDefaultContent().getStateToken());
+                }
+            }
+        }
+    }
+
+    private void reset() {
+        view.clear();
+        entityOptions.hideMessages();
+    }
+
+    private void setState() {
+        StateAbstractDTO state = session.getCurrentState();
+        reset();
+        Collection<ToolSimpleDTO> toolCollection;
+        if (state.getGroup().isPersonalGroup()) {
+            toolCollection = session.getUserTools();
+        } else {
+            toolCollection = session.getGroupTools();
+        }
+        for (ToolSimpleDTO tool : toolCollection) {
+            view.add(tool);
+            view.setEnabled(tool.getName(), true);
+        }
+        for (String tool : state.getEnabledTools()) {
+            view.setChecked(tool, true);
+        }
+        ContentSimpleDTO defaultContent = session.getCurrentState().getGroup().getDefaultContent();
+        if (defaultContent != null) {
+            String defContentTool = defaultContent.getStateToken().getTool();
+            view.setEnabled(defContentTool, false);
+            view.setTooltip(
+                    defContentTool,
+                    i18n.t("You cannot disable this tool because it's where the current group home page is located. To do that you have to select other content as the default group home page but in another tool."));
+        }
+    }
+
+    private void setToolCheckedInServer(final boolean checked, final String toolName) {
+        groupServiceProvider.get().setToolEnabled(session.getUserHash(), session.getCurrentStateToken(), toolName,
+                checked, new AsyncCallback<Object>() {
+                    public void onFailure(Throwable caught) {
+                        view.setChecked(toolName, !checked);
+                        entityOptions.setErrorMessage(i18n.t("Error configuring the tool"), SiteErrorType.error);
+                    }
+
+                    public void onSuccess(Object result) {
+                        stateManager.reload();
+                    }
+                });
+    }
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPresenter.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfView.java (from rev 975, trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java	2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfView.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,17 @@
+package org.ourproject.kune.workspace.client.options.tools;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
+
+public interface EntityOptionsToolsConfView extends View {
+
+    void add(ToolSimpleDTO tool);
+
+    void clear();
+
+    void setChecked(String tool, boolean checked);
+
+    void setEnabled(String tool, boolean enabled);
+
+    void setTooltip(String tool, String tip);
+}


Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfView.java
___________________________________________________________________
Name: svn:mergeinfo
   + 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -64,7 +64,7 @@
         super.addStyleName("kune-Margin-Large-l");
 
         shortNameRegField = new TextField();
-        shortNameRegField.setTabIndex(1);
+        shortNameRegField.setTabIndex(0);
         shortNameRegField.setFieldLabel(i18n.t("Nickname"));
         shortNameRegField.setName(NICK_FIELD);
         shortNameRegField.setWidth(DEF_SMALL_FIELD_WIDTH);
@@ -79,7 +79,7 @@
         add(shortNameRegField);
 
         longNameRegField = new TextField();
-        longNameRegField.setTabIndex(2);
+        longNameRegField.setTabIndex(1);
         longNameRegField.setFieldLabel(i18n.t("Full Name"));
         longNameRegField.setName(LONGNAME_FIELD);
         longNameRegField.setWidth(DEF_FIELD_WIDTH);
@@ -91,7 +91,7 @@
         add(longNameRegField);
 
         passwdRegField = new TextField();
-        passwdRegField.setTabIndex(3);
+        passwdRegField.setTabIndex(2);
         passwdRegField.setFieldLabel(i18n.t("Password"));
         passwdRegField.setName(PASSWORD_FIELD);
         passwdRegField.setPassword(true);
@@ -103,7 +103,7 @@
         add(passwdRegField);
 
         passwdRegFieldDup = new TextField();
-        passwdRegFieldDup.setTabIndex(4);
+        passwdRegFieldDup.setTabIndex(3);
         passwdRegFieldDup.setFieldLabel(i18n.t("Retype password"));
         passwdRegFieldDup.setName(PASSWORD_FIELD_DUP);
         passwdRegFieldDup.setPassword(true);
@@ -122,7 +122,7 @@
         add(passwdRegFieldDup);
 
         emailRegField = new TextField();
-        emailRegField.setTabIndex(5);
+        emailRegField.setTabIndex(4);
         emailRegField.setFieldLabel(i18n.t("Email"));
         emailRegField.setName(EMAIL_FIELD);
         emailRegField.setVtype(VType.EMAIL);
@@ -136,7 +136,7 @@
         langStore.load();
 
         languageCombo = new ComboBox();
-        languageCombo.setTabIndex(6);
+        languageCombo.setTabIndex(5);
         languageCombo.setLazyRender(true);
         languageCombo.setName(LANG_FIELD);
         languageCombo.setMinChars(1);
@@ -154,7 +154,7 @@
         languageCombo.setAllowBlank(false);
         languageCombo.setValueField("abbr");
         languageCombo.setValue(session.getCurrentLanguage().getCode());
-        languageCombo.setPageSize(7);
+        languageCombo.setPageSize(6);
         languageCombo.setForceSelection(true);
         languageCombo.setValidationEvent(false);
         // languageCombo.setId(LANG_FIELD);

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInForm.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInForm.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -43,7 +43,7 @@
         loginNickOrEmailField.setAllowBlank(false);
         loginNickOrEmailField.setValidationEvent(false);
         loginNickOrEmailField.setId(NICKOREMAIL_FIELD);
-        loginNickOrEmailField.setTabIndex(1);
+        loginNickOrEmailField.setTabIndex(100);
         super.add(loginNickOrEmailField);
 
         loginPassField = new TextField();
@@ -54,7 +54,7 @@
         loginPassField.setAllowBlank(false);
         loginPassField.setValidationEvent(false);
         loginPassField.setId(PASSWORD_FIELD);
-        loginPassField.setTabIndex(2);
+        loginPassField.setTabIndex(101);
         loginPassField.addListener(new FieldListenerAdapter() {
             @Override
             public void onSpecialKey(final Field field, final EventObject e) {

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -37,7 +37,7 @@
                     public void onEvent() {
                         presenter.onCancel();
                     }
-                }, images, ERROR_MSG, 3);
+                }, images, ERROR_MSG, 102);
         this.presenter = presenter;
 
         super.addListener(new WindowListenerAdapter() {
@@ -45,6 +45,11 @@
             public void onHide(Component component) {
                 presenter.onClose();
             }
+
+            @Override
+            public void onShow(Component component) {
+                focusOnNickname();
+            }
         });
 
         Panel panel = new Panel();

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPresenter.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPresenter.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -25,7 +25,9 @@
 import org.ourproject.kune.platf.client.state.StateManager;
 import org.ourproject.kune.platf.client.ui.MenuItem;
 import org.ourproject.kune.platf.client.ui.MenuItemCollection;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
 
+import com.calclab.suco.client.ioc.Provider;
 import com.calclab.suco.client.listener.Listener;
 import com.calclab.suco.client.listener.Listener0;
 
@@ -35,10 +37,13 @@
     private final MenuItemCollection<GroupDTO> participateInGroups;
     private final StateManager stateManager;
     private final Session session;
+    private final Provider<EntityOptions> entityOptions;
 
-    public SiteUserMenuPresenter(final Session session, final StateManager stateManager) {
+    public SiteUserMenuPresenter(final Session session, final StateManager stateManager,
+            final Provider<EntityOptions> entityOptions) {
         this.session = session;
         this.stateManager = stateManager;
+        this.entityOptions = entityOptions;
         participateInGroups = new MenuItemCollection<GroupDTO>();
         session.onUserSignIn(new Listener<UserInfoDTO>() {
             public void onEvent(final UserInfoDTO userInfoDTO) {
@@ -67,7 +72,8 @@
     }
 
     public void onUserPreferences() {
-        // TODO Auto-generated method stub
+        onUserHomePage();
+        entityOptions.get().show();
     }
 
     private void addPartipation(final GroupDTO group) {

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -28,14 +28,16 @@
 public class SummaryPanel extends Panel {
 
     private final WorkspaceSkeleton ws;
+    private final String collapsedTitle;
+    private final String expandedTitle;
 
     public SummaryPanel(final String title, final String titleTooltip, WorkspaceSkeleton ws) {
         this.ws = ws;
         super.setBorder(false);
         super.setAutoScroll(true);
-        final String collapsedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip,
+        collapsedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip,
                 Images.App.getInstance().arrowRightWhite(), IconPosition.left);
-        final String expandedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip,
+        expandedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip,
                 Images.App.getInstance().arrowDownWhite(), IconPosition.left);
         setTitle(collapsedTitle);
         super.addListener(new PanelListenerAdapter() {
@@ -66,6 +68,7 @@
     @Override
     public void expand() {
         super.expand();
+        setTitle(expandedTitle);
     }
 
     @Override

Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -2,7 +2,7 @@
 
 import org.junit.Test;
 import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
+import org.ourproject.kune.workspace.client.entitylogo.EntityTextLogo;
 
 public class ContentAddSeleniumTest extends KuneSeleniumTestHelper {
     @Test
@@ -10,9 +10,9 @@
         String shortname = "g" + genPrefix();
         String longName = "testing" + genPrefix();
         newGroupRegistrationDefLicense(shortname, longName, "some description", "tag1 tag2");
-        waitForTextInside(gid(EntityLogoPanel.LOGO_NAME), longName);
+        waitForTextInside(gid(EntityTextLogo.LOGO_NAME), longName);
         open(new StateToken(shortname, ""));
         signOut();
-        wait(120000);
+        // TODO: need to add more ids
     }
 }

Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -4,10 +4,9 @@
 import java.io.IOException;
 
 import org.junit.Test;
-import org.ourproject.kune.platf.client.PlatfMessages;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoSelectorPanel;
 import org.ourproject.kune.workspace.client.entitylogo.EntityLogoView;
+import org.ourproject.kune.workspace.client.options.EntityOptionsPanel;
+import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPanel;
 
 public class EntityLogoSeleniumTest extends KuneSeleniumTestHelper {
 
@@ -20,11 +19,13 @@
     }
 
     private void setLogo(String filename) throws Exception, IOException {
-        click(gid(EntityLogoPanel.PUT_YOUR_LOGO_LINK));
-        waitForTextInside(EntityLogoSelectorPanel.DIALOG_ID, PlatfMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
+        click(gid(EntityOptionsPanel.GROUP_OPTIONS_ICON));
+        // waitForTextInside(EntityOptionsLogoPanel.PANEL_ID,
+        // PlatfMessages.ENT_OPTIONS_GROUP_TITLE);
+        click(EntityOptionsLogoPanel.SET_LOGO_ID);
         File dir = new File(".");
         type(EntityLogoView.LOGO_FORM_FIELD, dir.getCanonicalPath() + File.separator + "img" + File.separator
                 + filename);
-        click(EntityLogoSelectorPanel.SUBID);
+        click(EntityOptionsLogoPanel.SET_LOGO_ID);
     }
 }

Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java	2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java	2008-12-02 17:08:38 UTC (rev 977)
@@ -6,7 +6,7 @@
 import org.junit.Test;
 import org.ourproject.kune.platf.client.dto.GroupType;
 import org.ourproject.kune.workspace.client.WorkspaceMessages;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
+import org.ourproject.kune.workspace.client.entitylogo.EntityTextLogo;
 import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel;
 import org.ourproject.kune.workspace.client.site.SiteToken;
 
@@ -47,6 +47,6 @@
         String longName = "漢語 中文 华语 汉语" + genPrefix();
         newGroupRegistrationDefLicense("g" + genPrefix(), longName,
                 "吗 台湾 六种辅音韵尾 中国政府要求在中国出售的软件必须使用编码 过 国标 名词的复数形式只在代词及多音节", "漢語 中文 华语 汉语");
-        waitForTextInside(gid(EntityLogoPanel.LOGO_NAME), longName);
+        waitForTextInside(gid(EntityTextLogo.LOGO_NAME), longName);
     }
 }




More information about the kune-commits mailing list