[kune-commits] r994 - in trunk: doc img src/main/java/org/ourproject/kune/app/public/css src/main/java/org/ourproject/kune/platf/client/app src/main/java/org/ourproject/kune/platf/client/services src/main/java/org/ourproject/kune/platf/client/ui src/main/java/org/ourproject/kune/platf/client/ui/dialogs src/main/java/org/ourproject/kune/workspace/client/editor src/main/java/org/ourproject/kune/workspace/client/editor/insert src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal src/main/java/org/ourproject/kune/workspace/client/i18n src/main/java/org/ourproject/kune/workspace/client/licensefoot src/main/java/org/ourproject/kune/workspace/client/newgroup src/main/java/org/ourproject/kune/workspace/client/options src/main/java/org/ourproject/kune/workspace/client/options/tools src/main/java/org/ourproject/kune/workspace/client/search src/main/java/org/ourproject/kune/workspace/client/signin src/main/java/org/ourproject/kune/workspace/client/sitebar/sitepublic src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu src/main/java/org/ourproject/kune/workspace/client/skel src/test/java/org/ourproject/kune/platf/integration/selenium src/test/java/org/ourproject/kune/platf/integration/site

vjrj vjrj at ourproject.org
Mon Dec 15 01:59:36 CET 2008


Author: vjrj
Date: 2008-12-15 01:59:28 +0100 (Mon, 15 Dec 2008)
New Revision: 994

Added:
   trunk/src/main/java/org/ourproject/kune/platf/client/app/TextEditorInsertElementGroup.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElement.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmail.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExt.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocal.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptions.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/search/AbstractLiveSearcherPanel.java
Removed:
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java
Modified:
   trunk/doc/kune-dic-08.pdf
   trunk/img/kune-logos.svg
   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/services/KuneCoreModule.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/dialogs/BasicDialog.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/InfoDialog.java
   trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorToolbar.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.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/options/tools/EntityOptionsToolsConfPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/search/EntityLiveSearcherPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/search/GroupLiveSearchPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/search/UserLiveSearcherPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitepublic/SitePublicSpaceLinkPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPanel.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java
   trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java
   trunk/src/test/java/org/ourproject/kune/platf/integration/site/UserServiceTest.java
Log:
Incomplete - task New Link/Image insert dialog in editor

Some fixes


Modified: trunk/doc/kune-dic-08.pdf
===================================================================
(Binary files differ)

Modified: trunk/img/kune-logos.svg
===================================================================
--- trunk/img/kune-logos.svg	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/img/kune-logos.svg	2008-12-15 00:59:28 UTC (rev 994)
@@ -2,7 +2,7 @@
 <!-- Created with Inkscape (http://www.inkscape.org/) -->
 <svg
    xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:cc="http://creativecommons.org/ns#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
@@ -13,12 +13,19 @@
    height="297mm"
    id="svg2531"
    sodipodi:version="0.32"
-   inkscape:version="0.45.1"
+   inkscape:version="0.46"
    sodipodi:docbase="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img"
    sodipodi:docname="kune-logos.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
      id="defs2533">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective2515" />
     <linearGradient
        inkscape:collect="always"
        id="linearGradient2871">
@@ -169,15 +176,15 @@
        style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Emblem"
        d="M 382.32888,356.181 C 381.58585,356.181 380.87165,356.18362 380.15497,356.23041 C 380.08806,356.24404 380.02464,356.26725 379.95734,356.27981 C 379.29019,356.40442 378.63198,356.51068 377.93165,356.52685 C 377.83464,356.54045 377.7317,356.51232 377.63521,356.52685 C 371.91916,357.3874 367.08967,359.86933 363.20833,363.98732 C 358.67562,368.77438 356.39016,374.50914 356.39015,381.181 C 356.39015,387.92772 358.67563,393.70144 363.20833,398.47349 C 368.115,403.61953 374.49013,406.18098 382.32888,406.181 C 386.48757,406.18098 390.48569,405.14772 394.2854,403.06835 C 398.08505,401.04884 401.38885,398.19052 404.21623,394.57033 L 395.6688,389.82725 C 391.98875,394.73393 387.46722,397.18891 382.08185,397.18891 C 378.34197,397.18891 374.98875,395.97572 372.10161,393.58219 C 369.16954,391.18868 367.70434,388.27328 367.70438,384.78772 L 406.7854,384.78772 L 406.7854,382.81143 C 406.78536,374.35939 403.92249,367.59136 398.23797,362.50511 C 393.45092,358.27164 388.14807,356.18106 382.32888,356.181 z M 200.60951,356.52685 L 200.60951,375.44977 L 193.98896,375.44977 L 193.98896,385.13357 L 200.60951,385.13357 L 200.60951,404.89642 L 210.68856,404.89642 L 210.68856,385.13357 L 216.76564,385.13357 L 229.16683,404.89642 L 241.12335,404.89642 L 224.47315,379.7976 L 240.38224,357.46558 L 228.17868,357.46558 L 215.87631,375.44977 L 210.68856,375.44977 L 210.68856,356.52685 L 200.60951,356.52685 z M 324.27552,356.52685 C 322.54049,356.83651 320.92381,357.34051 319.43362,358.10788 C 316.92042,359.45426 314.93633,361.22989 313.45536,363.44385 L 313.45536,357.46558 L 303.3269,357.46558 L 303.3269,404.89642 L 313.45536,404.89642 L 313.45536,378.31539 C 313.45535,374.51574 314.5276,371.60032 316.66683,369.52092 C 318.82096,367.4416 321.5519,366.4083 324.91781,366.40827 C 328.47813,366.4083 331.25846,367.36364 333.21821,369.32329 C 335.17785,371.28301 336.13317,374.35431 336.13323,378.51302 L 336.13323,404.89642 L 346.26169,404.89642 L 346.26169,376.2897 C 346.26164,370.4705 344.48602,365.66255 340.92572,361.86282 C 338.25543,359.01309 335.16572,357.23931 331.63718,356.52685 L 324.27552,356.52685 z M 247.49687,357.46558 L 247.49687,384.93594 C 247.49685,391.36851 249.6654,396.56938 254.0186,400.54859 C 258.05764,404.28845 263.06049,406.18098 268.93955,406.181 C 274.87841,406.18098 279.85588,404.28845 283.90991,400.54859 C 288.26306,396.56938 290.4316,391.36851 290.43165,384.93594 L 290.43165,357.46558 L 280.30319,357.46558 L 280.30319,384.04661 C 280.30314,387.54713 279.23089,390.39502 277.09173,392.59404 C 274.87769,394.86789 272.18573,396.00313 268.93955,396.00313 C 265.81301,396.00315 263.10017,394.85294 260.88619,392.59404 C 258.68714,390.32023 257.62529,387.48731 257.62532,384.04661 L 257.62532,357.46558 L 247.49687,357.46558 z M 381.0443,365.27191 C 384.3503,365.27196 387.23715,366.19874 389.69054,368.03871 C 392.06905,369.92362 393.82068,372.66955 394.9277,376.2897 L 367.70438,376.2897 C 368.49721,372.80418 370.1423,370.09724 372.59568,368.13752 C 374.97421,366.23771 377.78313,365.27196 381.0443,365.27191 z "
        id="path2585"
-       inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/documentos/fsm-virtual/kune-logo.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90" />
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
+       inkscape:export-xdpi="399.59854"
+       inkscape:export-ydpi="399.59854" />
     <g
        id="g6020"
        transform="matrix(0.347343,0,0,0.346901,118.4533,54.1211)"
-       inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/documentos/fsm-virtual/kune-logo.png"
-       inkscape:export-xdpi="90"
-       inkscape:export-ydpi="90">
+       inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
+       inkscape:export-xdpi="399.59854"
+       inkscape:export-ydpi="399.59854">
       <path
          style="color:black;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
          d="M 60.321717,411.99998 L 437.33633,411.99998"

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css	2008-12-15 00:59:28 UTC (rev 994)
@@ -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-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
+ */.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 5px 0;}/* 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);
@@ -35,10 +35,10 @@
 }
 */.kune-NavigationBar .topBar .gwt-Image{margin:0 2px 0 5px;}.kune-NavigationBar .Items{margin:2px 0;}.kune-NavigationBar .Items .gwt-Image{margin:2px 0;vertical-align:middle;}.kune-NavigationBar .Items .gwt-Hyperlink a{color:green;/* FIXME: other color */}.kune-NavigationBar .topBar .topBar-margin{margin-left:5px;}.kune-NavigationBar .pathMenu{vertical-align:middle;}.kune-NavigationBar .pathMenu .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;white-space:nowrap;padding:3px 6px;}.kune-NavigationBar .pathMenu .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#000;}.kune-NavigationBar .kune-IconHyperlink{vertical-align:middle;margin-left:5px;}.kune-NavigationBar .kune-IconHyperlink a{color:green;text-decoration:none;}.kune-NavigationBar .kune-IconHyperlink .gwt-Image{margin-right:3px;vertical-align:middle;}/* Social Network */.kune-StackedDropDownPanel{}.kune-StackedDropDownPanel .gwt-StackPanelItem{border-top:1px solid #CCC;border-bottom:1px solid #CCC;background-color:#EFA;cursor:pointer;padding:1px 3px 0 6px;overflow:hidden;}.kune-StackedDropDownPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-StackedDropDownPanel .kune-DropDownInner table{width:100%;}.kune-StackedDropDownPanel .gwt-StackPanelItem-selected{}.kune-StackedDropDownPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/*  white-space: nowrap; */cursor:pointer;}.kune-StackedDropDownPanel .kune-DropDownInner{padding:0;}/* StackedDropDownPanel Members */.kune-StackSubItemLabel{overflow:hidden;}.kune-StackSubItemLabel .gwt-MenuItem{white-space:nowrap;cursor:pointer;border-bottom:1px solid #F2F2F2;}.kune-StackSubItemLabel table{width:100%;}.kune-StackSubItemLabel .gwt-MenuItem img{vertical-align:middle;margin-top:1px;margin-bottom:1px;margin-left:5px;margin-right:3px;}.kune-StackSubItemLabel .gwt-MenuItem-selected{background-color:#FFE6D5;}.kune-StackSubItemActions{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;margin-left:-120px;margin-top:-2px;}.kune-StackSubItemActions .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.kune-StackSubItemActions .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.kune-StackSubItemActions .gwt-MenuItem-selected{background-color:#FFB958;}/* AccessList */.kune-AccessListSubLabel{font-style:italic;}.kune-AccessList{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel{margin:5px;width:100%;}.kune-AccessList .gwt-DisclosurePanel-open{width:100%;}.kune-AccessList .gwt-DisclosurePanel-closed{width:100%;}.kune-AccessList .header{margin:0 0 3px;text-decoration:none;width:100%;background-color:#8DD35F;}.kune-AccessList .header table{margin:0 5px 0 0;width:100%;color:#FFF;}.kune-AccessList .header img{margin:0 3px 0 0;}.kune-AccessList .content{margin:0 0 0 7px;width:100%;}.kune-AccessList .content table{margin-bottom:5px;width:100%;}/* Rate */.kune-RatePanel-Label{white-space:nowrap;vertical-align:middle;}.kune-RatePanel-Stars{margin-left:5px;vertical-align:middle;}.kune-RatePanel-Stars-RateIt{cursor:pointer;}/* Licenses */.kune-License-CC-Header{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}.kune-License-CC-Header .gwt-Label{color:#15428B;font-weight:700;font-size:85%;margin-top:5px;}/* Theme */.kune-IconBottomPanel .gwt-MenuItem{cursor:pointer;background-color:#FFF;margin:2px 2px 2px 5px;}.kune-IconBottomPanel .gwt-MenuItem-selected{background-color:#F2F2F2;}.gwt-MenuBar-bottomMenu{margin-left:-60px;margin-top:-120px;}/* i18n */.kune-I18nTranslatorCell{white-space:normal;}.kune-i18nTranslator-recommend{margin:10px;}.kune-i18nTranslator-recommend h1{font-size:131%;font-weight:700;}.kune-i18nTranslator-recommend h2{font-size:116%;font-weight:700;}.kune-i18nTranslator-recommend h3{font-size:108%;font-weight:700;font-style:italic;}.kune-i18nTranslator-recommend em{font-weight:700;}.kune-i18nTranslator-recommend strong{font-weight:700;}/* Admin Context */.kune-AdminContextPanel{margin:6px;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem{background:transparent url(img/arrow-right-white.gif) no-repeat scroll 3px 2px;cursor:pointer;padding:3px 10px 1px 20px;overflow:hidden;width:100%;}.kune-AdminContextPanel .gwt-StackPanelItem img{margin:0 0 0 3px;vertical-align:middle;}.kune-AdminContextPanel .gwt-StackPanelItem-selected{background:transparent url(img/arrow-down-white.gif) no-repeat scroll 3px 2px;background-color:#DEE3DB;}.kune-AdminContextPanelLink{background-color:#E6E6E6;border-top:1px solid #CCC;border-bottom:1px solid #F2F2F2;/* white-space: nowrap; */cursor:pointer;}.kune-AdminContextPanel-inner{background-color:#FFF;}.kune-AdminContextPanel-inner-wrap{margin:5px;}.kune-EditableLabel{}.kune-EditableLabel .kune-EditableLabel-editable{}.kune-EditableLabel-high{background-color:#FFFBC1;cursor:pointer;}.kune-EditableLabel-high span{background-color:#FFFBC1;}.kune-EditableLabel a{margin-left:5px;}.kune-EditableLabel a:link{color:green;}.kune-EditableLabel a:hover{text-decoration:underline;}.kune-EditableLabel a:visited{color:olive;}.kune-EditableLabel img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable img{margin-right:4px;vertical-align:middle;}.kune-EditableLabel-editable span{margin:3px;}.kune-EditableLabel span{margin:3px;}.kune-BottomIconsTrayPanel{width:165px;height:21px;vertical-align:middle;background-color:#EFEFEF;}.kune-Content-Main{margin:5px;}/* Yahoo ui base.css */.kune-Content-Main h1{font-size:138.5%;}.kune-Content-Main h2{font-size:123.099998%;}.kune-Content-Main h3{font-size:108%;}.kune-Content-Main h1{margin:1em 0;}.kune-Content-Main h2{margin:1em 0;}.kune-Content-Main h3{margin:1em 0;}.kune-Content-Main h1{font-weight:700;}.kune-Content-Main h2{font-weight:700;}.kune-Content-Main h3{font-weight:700;}.kune-Content-Main h4{font-weight:700;}.kune-Content-Main h5{font-weight:700;}.kune-Content-Main h6{font-weight:700;}.kune-Content-Main strong{font-weight:700;}.kune-Content-Main abbr{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main acronym{border-bottom:1px dotted #000;cursor:help;}.kune-Content-Main em{font-style:italic;}.kune-Content-Main blockquote{margin:1em;}.kune-Content-Main ul{margin:1em;}.kune-Content-Main ol{margin:1em;}.kune-Content-Main dl{margin:1em;}.kune-Content-Main ol{margin-left:2em;}.kune-Content-Main ul{margin-left:2em;}.kune-Content-Main dl{margin-left:2em;}.kune-Content-Main ol{list-style:decimal outside;}.kune-Content-Main li{list-style:decimal outside;}.kune-Content-Main li{list-style:disc outside;}.kune-Content-Main ul{list-style:disc outside;}.kune-Content-Main dl{margin-left:1em;}.kune-Content-Main dd{margin-left:1em;}.kune-Content-Main th{border:1px solid #000;padding:.5em;font-weight:700;text-align:center;}.kune-Content-Main td{border:1px solid #000;padding:.5em;}.kune-Content-Main caption{margin-bottom:.5em;text-align:center;}.kune-Content-Main p{margin-bottom:1em;}.kune-Content-Main fieldset{margin-bottom:1em;}.kune-Content-Main table{margin-bottom:1em;}.kune-Content-Main pre{margin-bottom:1em;}.kune-Content-Main input[type=text]{width:12.25em;width:11.9em;}.kune-Content-Main input[type=password]{width:12.25em;width:11.9em;}.kune-Content-Main textarea{width:12.25em;width:11.9em;}.search-icon{background-image:url(img/search.gif)!important;}.i18n-icon{background-image:url(img/language.gif)!important;}/* RTE Text editor */.kune-TexEditorPanel-TextArea{margin:3px;}.gwt-RichTextArea{/* border: 1px solid #000;
     background-color: #FFF; */border:1px solid #4D4D4D;background-color:#FFF;margin:5px 0 5px 10px;}.gwt-RichTextToolbar{/* background-color: #F2F2F2;
-  padding: 5px; */height:24px;vertical-align:middle;}.gwt-RichTextToolbar table{vertical-align:middle;}.gwt-RichTextToolbar .gwt-ToggleButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-PushButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-PushButton-down{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-PushButton-down-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-ToggleButton-down{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .x-btn{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lSpace{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lrSpace{float:left;}.RichTextToolbar-menu{float:left;margin-top:2px;z-index:4;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;z-index:4;}.RichTextToolbar-menu .gwt-MenuItem{margin-right:2px;border:1px solid #F2F2F2;}.RichTextToolbar-menu .gwt-MenuItem-selected{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.RichTextToolbar-submenu{background-color:#FFFCD5;border:1px solid #D38D5F;cursor:default;z-index:4;}.RichTextToolbar-submenu .gwt-MenuItem{cursor:default;white-space:nowrap;border:1px solid #FFFCD5;padding:0 4px;}.RichTextToolbar-submenu .gwt-MenuItem-selected{background-color:#FFB958;border:1px solid #C83737;}.kune-WebSafePalette{background-color:#FFF;border:1px solid #AAA;margin:1px;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:#FFF none repeat scroll 0 50%;}.k-blank-toolbar{background:#FFF none repeat scroll 0 50%;}.k-sitebar .kune-IconHyperlink{white-space:nowrap;}.k-sitebar .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.k-sitebar .kune-IconHyperlink a:hover{text-decoration:underline;}.k-sitebar .kune-IconHyperlink a:visited{color:#B3B3B3;}.k-sitebar-labellink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-sitebar{margin-right:10px;height:16px;background:#FFF;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.k-sitebar .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.k-sitebar .gwt-PushButton{cursor:pointer;}.k-sitebar-LabelLink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-entity-summary{border-left-color:#FFF;border-left-width:5px;border-bottom-color:#FFF;border-bottom-width:5px;}.k-entitytextlogo-border{border:2px solid #F2F2F2;}.k-entitytextlogo-no-border{border:none;}.k-entitytextlogo{height:60px;margin:0 0 4px;overflow:hidden;width:468px;}.k-entitytextlogo table{vertical-align:middle;}.k-elogo-l-l{font-size:272%;}.k-elogo-l-m{font-size:167%;}.k-elogo-l-s{font-size:108%;}.k-entitytextlogo .gwt-Label{font-weight:700;margin:5px;height:27px;}.k-entitytextlogo-default .gwt-Label{color:#69312F;}.k-entitytextlogo-green .gwt-Label{color:#250;}.k-entitytextlogo-blue .gwt-Label{color:navy;}.k-entitytextlogo-grey .gwt-Label{color:#1A1A1A;}.k-entitytextlogo-purple .gwt-Label{color:#405;}.k-entitytextlogo-red .gwt-Label{color:maroon;}.k-elogo-plink{color:#CCC;font-size:85%;margin:5px;text-decoration:underline;white-space:nowrap;background-color:#FFF;}.k-elogop-expand{background-color:transparent;}.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-green .x-layout-split,.k-entity-green .x-layout-collapsed{background:#5FD35F none repeat scroll 0 50%;}.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed{background:#06F none repeat scroll 0 50%;}.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-purple .x-layout-split,.k-entity-purple .x-layout-collapsed{background:#660080 none repeat scroll 0 50%;}.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed{background:#D40000 none repeat scroll 0 50%;}.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed{background:transparent none repeat scroll 0 50%;}.k-entityworkspace-default .x-layout-split,.k-entityworkspace-default .x-layout-collapsed{background:#DEAA87 none repeat scroll 0 50%;}.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed{background:#DCE8AB none repeat scroll 0 50%;}.k-entityworkspace-blue .x-layout-split,.k-entityworkspace-blue .x-layout-collapsed{background:#D5D5FF none repeat scroll 0 50%;}.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed{background:#999 none repeat scroll 0 50%;}.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed{background:#A793AC none repeat scroll 0 50%;}.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed{background:#F55 none repeat scroll 0 50%;}.k-entity-title{border-left-style:solid;border-left-width:2px;}.k-entity-title div{line-height:22px;white-space:nowrap;}.k-entity-subtitle{}.k-entity-subtitle div{line-height:22px;white-space:nowrap;}.k-entity-title-rd-default{background:#DD8A3D;}.k-entity-title-rd-green{background:#5FD35F;}.k-entity-title-rd-blue{background:#06F;}.k-entity-title-rd-grey{background:#4D4D4D;}.k-entity-title-rd-purple{background:#660080;}.k-entity-title-rd-red{background:#D40000;}.k-entity-title-default{background:#F1BB59 none repeat scroll 0 50%;border-left-color:#DD8A3D;}.k-entity-title-green{background:#AFA none repeat scroll 0 50%;border-left-color:#5FD35F;}.k-entity-title-blue{background:#AFDDE9 none repeat scroll 0 50%;border-left-color:#06F;}.k-entity-title-grey{background:#CCC none repeat scroll 0 50%;border-left-color:#4D4D4D;}.k-entity-title-purple{background:#DDAFE9 none repeat scroll 0 50%;border-left-color:#660080;}.k-entity-title-red{background:#FF8080 none repeat scroll 0 50%;border-left-color:#D40000;}.k-entity-title-default div{color:#69312F;}.k-entity-title-green div{color:#250;}.k-entity-title-blue div{color:navy;}.k-entity-title-grey div{color:#1A1A1A;}.k-entity-title-purple div{color:#405;}.k-entity-title-red div{color:maroon;}.k-entity-subtitle-default{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-subtitle-green{background:#5FD35F none repeat scroll 0 50%;}.k-entity-subtitle-blue{background:#06F none repeat scroll 0 50%;}.k-entity-subtitle-grey{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-subtitle-purple{background:#660080 none repeat scroll 0 50%;}.k-entity-subtitle-red{background:#D40000 none repeat scroll 0 50%;}.k-entity-subtitle-default div{color:#FFF;}.k-entity-subtitle-green div{color:#FFF;}.k-entity-subtitle-blue div{color:#FFF;}.k-entity-subtitle-grey div{color:#FFF;}.k-entity-subtitle-purple div{color:#FFF;}.k-entity-subtitle-red div{color:#FFF;}.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default{background:#DD8A3D;}.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green{background:#5FD35F;}.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue{background:#06F;}.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey{background:#4D4D4D;}.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple{background:#660080;}.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red{background:#D40000;}.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body{background:#FFD09D none repeat scroll 0 50%;}.k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body{background:#CFA none repeat scroll 0 50%;}.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body{background:#ACF none repeat scroll 0 50%;}.k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body{background:#B3B3B3 none repeat scroll 0 50%;}.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body{background:#FAA none repeat scroll 0 50%;}.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-bottom div{/* line-height: 24px; */color:#FFF;}.k-toolbar-top-line{border-top-color:#d0d0d0;border-top-style:solid;border-top-width:1px;}.k-toolbar-bottom-line{border-bottom-color:#d0d0d0;border-bottom-style:solid;border-bottom-width:1px;}.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{white-space:nowrap;font:normal 100% arial, sans;line-height:19px;}.k-toolbar-sep{padding-top:4px;padding-left:5px;}/* Custom gwt-ext styles */.ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px;border:0;}.ytb-spacer{width:2px;}.x-grid-group-hd{border-bottom:2px solid grey;cursor:pointer;padding-top:3px;}/* Drop down */.k-dropdownouter{background-color:grey;}.k-dropdownouter-members{}.k-dropdownouter-members-default{background-color:#DF5244;}.k-dropdownouter-members-green{background-color:green;}.k-dropdownouter-members-blue{background-color:#5500D4;}.k-dropdownouter-members-grey{background-color:#4D4D4D;}.k-dropdownouter-members-purple{background-color:#672178;}.k-dropdownouter-members-red{background-color:#A02C2C;}.k-dropdownouter-part{}.k-dropdownouter-part-default{background-color:#CA5842;}.k-dropdownouter-part-green{background-color:#0A0;}.k-dropdownouter-part-blue{background-color:#60F;}.k-dropdownouter-part-grey{background-color:#666;}.k-dropdownouter-part-purple{background-color:#892CA0;}.k-dropdownouter-part-red{background-color:#C83737;}.k-dropdownouter-tags{}.k-dropdownouter-tags-default{background-color:#87501E;}.k-dropdownouter-tags-green{background-color:#00D400;}.k-dropdownouter-tags-blue{background-color:#95F;}.k-dropdownouter-tags-grey{background-color:gray;}.k-dropdownouter-tags-purple{background-color:#AB37C8;}.k-dropdownouter-tags-red{background-color:#D35F5F;}.k-dropdownouter-summary{}.k-dropdownouter-summary-default{background-color:#9F734B;}.k-dropdownouter-summary-green{background-color:#4CE14C;}.k-dropdownouter-summary-blue{background-color:#69A5FF;}.k-dropdownouter-summary-grey{background-color:#A6A6A6;}.k-dropdownouter-summary-purple{background-color:#C473D8;}.k-dropdownouter-summary-red{background-color:#E08F8F;}.k-dropdowninner{margin:0 3px 1px;background:green;background-color:#FFF;/* padding: 3px; */}.k-dropdownlabel{color:#FFF;cursor:pointer;}.k-dropdownlabel .gwt-Label{margin:0 5px 0 0;width:100%;}.k-dropdownlabel img{margin:0 3px 0 1px;}/* WsTheme */.k-wstheme-icon-default{background:#FF8C00;}.k-wstheme-icon-green{background:green;}.k-wstheme-icon-blue{background:blue;}.k-wstheme-icon-grey{background:grey;}.k-wstheme-icon-purple{background:purple;}.k-wstheme-icon-red{background:red;}/* Tool selector items */.k-toolselectoritem{width:auto;margin-bottom:5px;cursor:pointer;}.k-toolselectoritem-sel{}.k-toolselectoritem-notsel-default{background:#FFE9A5;}.k-toolselectoritem-notsel-green{background:#D6F4D6;}.k-toolselectoritem-notsel-blue{background:#D7D7F4;}.k-toolselectoritem-notsel-grey{background:#E6E6E6;}.k-toolselectoritem-notsel-purple{background:#EED7F4;}.k-toolselectoritem-notsel-red{background:#FFD5D5;}.k-toolselectoritem-sel a{color:#FFF;padding:0 9px;text-decoration:none;}.k-toolselectoritem-sel a:hover{text-decoration:none;}.k-toolselectoritem-notsel{}.k-toolselectoritem-notsel a{color:#00F;padding:0 9px;text-decoration:none;}.k-toolselectoritem-notsel a:hover{text-decoration:underline;}/* others *//*
+  padding: 5px; */height:24px;vertical-align:middle;}.gwt-RichTextToolbar table{vertical-align:middle;}.gwt-RichTextToolbar .gwt-ToggleButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton{float:left;margin-top:2px;}.gwt-RichTextToolbar .gwt-PushButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-PushButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-PushButton-down{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-PushButton-down-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-up{margin-right:2px;border:1px solid #F2F2F2;}.gwt-RichTextToolbar .gwt-ToggleButton-up-hovering{margin-right:2px;border:1px solid #C3D9FF;border-color:#E8F1FF #9daecd #9daecd #e8f1ff;}.gwt-RichTextToolbar .gwt-ToggleButton-down{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .gwt-ToggleButton-down-hovering{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.gwt-RichTextToolbar .x-btn{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lSpace{float:left;}.gwt-RichTextToolbar .kune-Button-Large-lrSpace{float:left;}.RichTextToolbar-menu{float:left;margin-top:2px;z-index:4;}.RichTextToolbar-menu table{border-collapse:collapse;border-spacing:0;margin:0;z-index:4;}.RichTextToolbar-menu .gwt-MenuItem{margin-right:2px;border:1px solid #F2F2F2;}.RichTextToolbar-menu .gwt-MenuItem-selected{margin-right:2px;background-color:#E8F1FF;border:1px solid #C3D9FF;border-color:#9DAECD #e8f1ff #e8f1ff #9daecd;}.RichTextToolbar-submenu{background-color:#FFFCD5;border:1px solid #D38D5F;cursor:default;z-index:4;}.RichTextToolbar-submenu .gwt-MenuItem{cursor:default;white-space:nowrap;border:1px solid #FFFCD5;padding:0 4px;}.RichTextToolbar-submenu .gwt-MenuItem-selected{background-color:#FFB958;border:1px solid #C83737;}.kune-WebSafePalette{background-color:#FFF;border:1px solid #AAA;margin:1px;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:#FFF none repeat scroll 0 50%;}.k-blank-toolbar{background:#FFF none repeat scroll 0 50%;}.k-sitebar .kune-IconHyperlink{white-space:nowrap;}.k-sitebar .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.k-sitebar .kune-IconHyperlink a:hover{text-decoration:underline;}.k-sitebar .kune-IconHyperlink a:visited{color:#B3B3B3;}.k-sitebar-labellink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-sitebar{margin-right:10px;height:16px;background:#FFF;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:1px;color:#B3B3B3;}.k-sitebar .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.k-sitebar .gwt-PushButton{cursor:pointer;}.k-sitebar-LabelLink{white-space:nowrap;color:#B3B3B3;cursor:pointer;text-decoration:underline;}.k-entity-summary{border-left-color:#FFF;border-left-width:5px;border-bottom-color:#FFF;border-bottom-width:5px;}.k-entitytextlogo-border{border:2px solid #F2F2F2;}.k-entitytextlogo-no-border{border:none;}.k-entitytextlogo{height:60px;margin:0 0 4px;overflow:hidden;width:468px;}.k-entitytextlogo table{vertical-align:middle;}.k-elogo-l-l{font-size:272%;}.k-elogo-l-m{font-size:167%;}.k-elogo-l-s{font-size:108%;}.k-entitytextlogo .gwt-Label{font-weight:700;margin:5px;height:27px;}.k-entitytextlogo-default .gwt-Label{color:#69312F;}.k-entitytextlogo-green .gwt-Label{color:#250;}.k-entitytextlogo-blue .gwt-Label{color:navy;}.k-entitytextlogo-grey .gwt-Label{color:#1A1A1A;}.k-entitytextlogo-purple .gwt-Label{color:#405;}.k-entitytextlogo-red .gwt-Label{color:maroon;}.k-elogo-plink{color:#CCC;font-size:85%;margin:5px;text-decoration:underline;white-space:nowrap;background-color:#FFF;}.k-elogop-expand{background-color:transparent;}.k-entity-default .x-layout-split,.k-entity-default .x-layout-collapsed{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-green .x-layout-split,.k-entity-green .x-layout-collapsed{background:#5FD35F none repeat scroll 0 50%;}.k-entity-blue .x-layout-split,.k-entity-blue .x-layout-collapsed{background:#06F none repeat scroll 0 50%;}.k-entity-grey .x-layout-split,.k-entity-grey .x-layout-collapsed{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-purple .x-layout-split,.k-entity-purple .x-layout-collapsed{background:#660080 none repeat scroll 0 50%;}.k-entity-red .x-layout-split,.k-entity-red .x-layout-collapsed{background:#D40000 none repeat scroll 0 50%;}.k-entityworkspace .x-layout-split,.k-entityworkspace .x-layout-collapsed{background:transparent none repeat scroll 0 50%;}.k-entityworkspace-default .x-layout-split,.k-entityworkspace-default .x-layout-collapsed{background:#DEAA87 none repeat scroll 0 50%;}.k-entityworkspace-green .x-layout-split,.k-entityworkspace-green .x-layout-collapsed{background:#DCE8AB none repeat scroll 0 50%;}.k-entityworkspace-blue .x-layout-split,.k-entityworkspace-blue .x-layout-collapsed{background:#D5D5FF none repeat scroll 0 50%;}.k-entityworkspace-grey .x-layout-split,.k-entityworkspace-grey .x-layout-collapsed{background:#999 none repeat scroll 0 50%;}.k-entityworkspace-purple .x-layout-split,.k-entityworkspace-purple .x-layout-collapsed{background:#A793AC none repeat scroll 0 50%;}.k-entityworkspace-red .x-layout-split,.k-entityworkspace-red .x-layout-collapsed{background:#F55 none repeat scroll 0 50%;}.k-entity-title{border-left-style:solid;border-left-width:2px;}.k-entity-title div{line-height:22px;white-space:nowrap;}.k-entity-subtitle{}.k-entity-subtitle div{line-height:22px;white-space:nowrap;}.k-entity-title-rd-default{background:#DD8A3D;}.k-entity-title-rd-green{background:#5FD35F;}.k-entity-title-rd-blue{background:#06F;}.k-entity-title-rd-grey{background:#4D4D4D;}.k-entity-title-rd-purple{background:#660080;}.k-entity-title-rd-red{background:#D40000;}.k-entity-title-default{background:#F1BB59 none repeat scroll 0 50%;border-left-color:#DD8A3D;}.k-entity-title-green{background:#AFA none repeat scroll 0 50%;border-left-color:#5FD35F;}.k-entity-title-blue{background:#AFDDE9 none repeat scroll 0 50%;border-left-color:#06F;}.k-entity-title-grey{background:#CCC none repeat scroll 0 50%;border-left-color:#4D4D4D;}.k-entity-title-purple{background:#DDAFE9 none repeat scroll 0 50%;border-left-color:#660080;}.k-entity-title-red{background:#FF8080 none repeat scroll 0 50%;border-left-color:#D40000;}.k-entity-title-default div{color:#69312F;}.k-entity-title-green div{color:#250;}.k-entity-title-blue div{color:navy;}.k-entity-title-grey div{color:#1A1A1A;}.k-entity-title-purple div{color:#405;}.k-entity-title-red div{color:maroon;}.k-entity-subtitle-default{background:#DD8A3D none repeat scroll 0 50%;}.k-entity-subtitle-green{background:#5FD35F none repeat scroll 0 50%;}.k-entity-subtitle-blue{background:#06F none repeat scroll 0 50%;}.k-entity-subtitle-grey{background:#4D4D4D none repeat scroll 0 50%;}.k-entity-subtitle-purple{background:#660080 none repeat scroll 0 50%;}.k-entity-subtitle-red{background:#D40000 none repeat scroll 0 50%;}.k-entity-subtitle-default div{color:#FFF;}.k-entity-subtitle-green div{color:#FFF;}.k-entity-subtitle-blue div{color:#FFF;}.k-entity-subtitle-grey div{color:#FFF;}.k-entity-subtitle-purple div{color:#FFF;}.k-entity-subtitle-red div{color:#FFF;}.k-entity-bottom-rd-default,.k-entity-bottom-default,.k-toolselectoritem-sel-default{background:#DD8A3D;}.k-entity-bottom-rd-green,.k-entity-bottom-green,.k-toolselectoritem-sel-green{background:#5FD35F;}.k-entity-bottom-rd-blue,.k-entity-bottom-blue,.k-toolselectoritem-sel-blue{background:#06F;}.k-entity-bottom-rd-grey,.k-entity-bottom-grey,.k-toolselectoritem-sel-grey{background:#4D4D4D;}.k-entity-bottom-rd-purple,.k-entity-bottom-purple,.k-toolselectoritem-sel-purple{background:#660080;}.k-entity-bottom-rd-red,.k-entity-bottom-red,.k-toolselectoritem-sel-red{background:#D40000;}.k-entity-context-default div,.k-entity-context-default .x-tree .x-panel-body{background:#FFD09D none repeat scroll 0 50%;}.k-entity-context-green div,.k-entity-context-green .x-tree .x-panel-body{background:#CFA none repeat scroll 0 50%;}.k-entity-context-blue div,.k-entity-context-blue .x-tree .x-panel-body{background:#ACF none repeat scroll 0 50%;}.k-entity-context-grey div,.k-entity-context-grey .x-tree .x-panel-body{background:#B3B3B3 none repeat scroll 0 50%;}.k-entity-context-purple div,.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-context-red div,.k-entity-context-red .x-tree .x-panel-body{background:#FAA none repeat scroll 0 50%;}.k-entity-context-purple .x-tree .x-panel-body{background:#DDAFE9 none repeat scroll 0 50%;}.k-entity-bottom div{/* line-height: 24px; */color:#FFF;}.k-toolbar-top-line{border-top-color:#d0d0d0;border-top-style:solid;border-top-width:1px;}.k-toolbar-bottom-line{border-bottom-color:#d0d0d0;border-bottom-style:solid;border-bottom-width:1px;}.x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{white-space:nowrap;font:normal 100% arial, sans;line-height:19px;}.k-toolbar-sep{padding-top:4px;padding-left:5px;}/* Custom gwt-ext styles */.ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);background-position:center;background-repeat:no-repeat;display:block;font-size:1px;height:16px;width:4px;overflow:hidden;cursor:default;margin:0 2px;border:0;}.ytb-spacer{width:2px;}.x-grid-group-hd{border-bottom:2px solid grey;cursor:pointer;padding-top:3px;}/* Drop down */.k-dropdownouter{background-color:grey;}.k-dropdownouter-members{}.k-dropdownouter-members-default{background-color:#DF5244;}.k-dropdownouter-members-green{background-color:green;}.k-dropdownouter-members-blue{background-color:#5500D4;}.k-dropdownouter-members-grey{background-color:#4D4D4D;}.k-dropdownouter-members-purple{background-color:#672178;}.k-dropdownouter-members-red{background-color:#A02C2C;}.k-dropdownouter-part{}.k-dropdownouter-part-default{background-color:#CA5842;}.k-dropdownouter-part-green{background-color:#0A0;}.k-dropdownouter-part-blue{background-color:#60F;}.k-dropdownouter-part-grey{background-color:#666;}.k-dropdownouter-part-purple{background-color:#892CA0;}.k-dropdownouter-part-red{background-color:#C83737;}.k-dropdownouter-tags{}.k-dropdownouter-tags-default{background-color:#87501E;}.k-dropdownouter-tags-green{background-color:#00D400;}.k-dropdownouter-tags-blue{background-color:#95F;}.k-dropdownouter-tags-grey{background-color:gray;}.k-dropdownouter-tags-purple{background-color:#AB37C8;}.k-dropdownouter-tags-red{background-color:#D35F5F;}.k-dropdownouter-summary{}.k-dropdownouter-summary-default{background-color:#9F734B;}.k-dropdownouter-summary-green{background-color:#4CE14C;}.k-dropdownouter-summary-blue{background-color:#69A5FF;}.k-dropdownouter-summary-grey{background-color:#A6A6A6;}.k-dropdownouter-summary-purple{background-color:#C473D8;}.k-dropdownouter-summary-red{background-color:#E08F8F;}.k-dropdowninner{margin:0 3px 1px;background:green;background-color:#FFF;/* padding: 3px; */}.k-dropdownlabel{color:#FFF;cursor:pointer;}.k-dropdownlabel .gwt-Label{margin:0 5px 0 0;width:100%;}.k-dropdownlabel img{margin:0 3px 0 1px;}/* WsTheme */.k-wstheme-icon-default{background:#FF8C00;}.k-wstheme-icon-green{background:green;}.k-wstheme-icon-blue{background:blue;}.k-wstheme-icon-grey{background:grey;}.k-wstheme-icon-purple{background:purple;}.k-wstheme-icon-red{background:red;}/* Tool selector items */.k-toolselectoritem{width:auto;margin-bottom:5px;cursor:pointer;}.k-toolselectoritem-sel{}.k-toolselectoritem-notsel-default{background:#FFE9A5;}.k-toolselectoritem-notsel-green{background:#D6F4D6;}.k-toolselectoritem-notsel-blue{background:#D7D7F4;}.k-toolselectoritem-notsel-grey{background:#E6E6E6;}.k-toolselectoritem-notsel-purple{background:#EED7F4;}.k-toolselectoritem-notsel-red{background:#FFD5D5;}.k-toolselectoritem-sel a{color:#FFF;padding:0 9px;text-decoration:none;}.k-toolselectoritem-sel a:hover{text-decoration:none;}.k-toolselectoritem-notsel{}.k-toolselectoritem-notsel a{color:#00F;padding:0 9px;text-decoration:none;}.k-toolselectoritem-notsel a:hover{text-decoration:underline;}/* others *//*
 .x-tree-node a span, .x-dd-drag-ghost a span {
     color:#000000;
     padding: 1px 0px 1px 1px;
     text-decoration:none;
 }
-*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-basic-thumb{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-basic-thumb td{padding:2px 3px;border:none;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.x-toolbar-body table{/* width: 100%; */}.k-preview-msg{background:#FCA;}.k-preview-msg-lab{background:#FCA;padding:0 5px;}.k-eil-edit{border:thin solid #000;}
\ No newline at end of file
+*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-basic-thumb{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-basic-thumb td{padding:2px 3px;border:none;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;overflow:hidden;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.x-toolbar-body table{/* width: 100%; */}.k-preview-msg{background:#FCA;}.k-preview-msg-lab{background:#FCA;padding:0 5px;}.k-eil-edit{border:thin solid #000;}
\ No newline at end of file

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css	2008-12-15 00:59:28 UTC (rev 994)
@@ -40,7 +40,7 @@
 .k-sitebar .gwt-TextBox {
     border: 1px solid #E4A374;
     margin: 0 15px 0 3px;
-    padding-left: 3px;
+    padding-left: 1px;
     color: #B3B3B3;
 }
 
@@ -798,6 +798,7 @@
   margin-top: 4px;
   margin-left: 5px;
   cursor: pointer;
+  overflow: hidden;
 }
 
 .k-tsp-tag {

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css	2008-12-15 00:59:28 UTC (rev 994)
@@ -2,7 +2,7 @@
   background-color: #FFF;
   color: #000;
   font-family: arial, sans;
-  margin: 5px 5px 5px 5px;
+  margin: 5px 5px 0 5px;
 }
 
 /* Global styles */

Added: trunk/src/main/java/org/ourproject/kune/platf/client/app/TextEditorInsertElementGroup.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/TextEditorInsertElementGroup.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/TextEditorInsertElementGroup.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,43 @@
+/*
+ *
+ * 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.platf.client.app;
+
+import com.calclab.suco.client.ioc.Container;
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.ioc.decorator.ProviderCollection;
+import com.calclab.suco.client.ioc.decorator.Singleton;
+
+public class TextEditorInsertElementGroup extends ProviderCollection {
+
+    public TextEditorInsertElementGroup(final Container container) {
+        super(container, Singleton.instance);
+    }
+
+    public void createAll() {
+        for (final Provider<?> p : getProviders()) {
+            p.get();
+        }
+    }
+
+    public void resetAll() {
+        for (final Provider<?> p : getProviders()) {
+            // (TextEditorInsertAbstractView) p.get().get).clear();
+        }
+    }
+}

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -20,6 +20,7 @@
 
 import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
 import org.ourproject.kune.platf.client.app.EntityOptionsGroup;
+import org.ourproject.kune.platf.client.app.TextEditorInsertElementGroup;
 import org.ourproject.kune.platf.client.app.ToolGroup;
 
 import com.calclab.suco.client.ioc.module.AbstractModule;
@@ -31,5 +32,6 @@
         registerDecorator(ApplicationComponentGroup.class, new ApplicationComponentGroup(container));
         registerDecorator(ToolGroup.class, new ToolGroup(container));
         registerDecorator(EntityOptionsGroup.class, new EntityOptionsGroup(container));
+        registerDecorator(TextEditorInsertElementGroup.class, new TextEditorInsertElementGroup(container));
     }
 }

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -43,6 +43,7 @@
 import org.ourproject.kune.platf.client.app.ApplicationDefault;
 import org.ourproject.kune.platf.client.app.HistoryWrapper;
 import org.ourproject.kune.platf.client.app.HistoryWrapperDefault;
+import org.ourproject.kune.platf.client.app.TextEditorInsertElementGroup;
 import org.ourproject.kune.platf.client.app.ToolGroup;
 import org.ourproject.kune.platf.client.dto.StateToken;
 import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
@@ -78,6 +79,18 @@
 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.editor.insert.TextEditorInsertElement;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElementPanel;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElementPresenter;
+import org.ourproject.kune.workspace.client.editor.insert.linkemail.TextEditorInsertLinkEmail;
+import org.ourproject.kune.workspace.client.editor.insert.linkemail.TextEditorInsertLinkEmailPanel;
+import org.ourproject.kune.workspace.client.editor.insert.linkemail.TextEditorInsertLinkEmailPresenter;
+import org.ourproject.kune.workspace.client.editor.insert.linkext.TextEditorInsertLinkExt;
+import org.ourproject.kune.workspace.client.editor.insert.linkext.TextEditorInsertLinkExtPanel;
+import org.ourproject.kune.workspace.client.editor.insert.linkext.TextEditorInsertLinkExtPresenter;
+import org.ourproject.kune.workspace.client.editor.insert.linklocal.TextEditorInsertLinkLocal;
+import org.ourproject.kune.workspace.client.editor.insert.linklocal.TextEditorInsertLinkLocalPanel;
+import org.ourproject.kune.workspace.client.editor.insert.linklocal.TextEditorInsertLinkLocalPresenter;
 import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
 import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPanel;
 import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter;
@@ -340,7 +353,8 @@
             @Override
             public UserLiveSearcher create() {
                 final UserLiveSearcherPresenter presenter = new UserLiveSearcherPresenter();
-                final EntityLiveSearcherView view = new UserLiveSearcherPanel(presenter, i18n);
+                final EntityLiveSearcherView view = new UserLiveSearcherPanel(presenter, i18n,
+                        $(FileDownloadUtils.class));
                 presenter.init(view);
                 return presenter;
             }
@@ -350,7 +364,8 @@
             @Override
             public GroupLiveSearcher create() {
                 final GroupLiveSearcherPresenter presenter = new GroupLiveSearcherPresenter();
-                final EntityLiveSearcherView view = new GroupLiveSearchPanel(presenter, i18n);
+                final EntityLiveSearcherView view = new GroupLiveSearchPanel(presenter, i18n,
+                        $(FileDownloadUtils.class));
                 presenter.init(view);
                 return presenter;
             }
@@ -372,6 +387,57 @@
             }
         });
 
+        register(Singleton.class, new Factory<TextEditorInsertElement>(TextEditorInsertElement.class) {
+            @Override
+            public TextEditorInsertElement create() {
+                final TextEditorInsertElementPresenter presenter = new TextEditorInsertElementPresenter();
+                final TextEditorInsertElementPanel panel = new TextEditorInsertElementPanel(presenter,
+                        $(WorkspaceSkeleton.class), $(Images.class), $(I18nTranslationService.class),
+                        $(TextEditorInsertElementGroup.class));
+                presenter.init(panel);
+                return presenter;
+            }
+        });
+
+        register(TextEditorInsertElementGroup.class, new Factory<TextEditorInsertLinkLocal>(
+                TextEditorInsertLinkLocal.class) {
+            @Override
+            public TextEditorInsertLinkLocal create() {
+                final TextEditorInsertLinkLocalPresenter presenter = new TextEditorInsertLinkLocalPresenter(
+                        $(TextEditorInsertElement.class));
+                final TextEditorInsertLinkLocalPanel panel = new TextEditorInsertLinkLocalPanel(presenter,
+                        $(WorkspaceSkeleton.class), $(I18nTranslationService.class), $(FileDownloadUtils.class));
+                presenter.init(panel);
+                return presenter;
+            }
+        });
+
+        register(TextEditorInsertElementGroup.class,
+                new Factory<TextEditorInsertLinkExt>(TextEditorInsertLinkExt.class) {
+                    @Override
+                    public TextEditorInsertLinkExt create() {
+                        final TextEditorInsertLinkExtPresenter presenter = new TextEditorInsertLinkExtPresenter(
+                                $(TextEditorInsertElement.class));
+                        final TextEditorInsertLinkExtPanel panel = new TextEditorInsertLinkExtPanel(presenter,
+                                $(I18nTranslationService.class));
+                        presenter.init(panel);
+                        return presenter;
+                    }
+                });
+
+        register(TextEditorInsertElementGroup.class, new Factory<TextEditorInsertLinkEmail>(
+                TextEditorInsertLinkEmail.class) {
+            @Override
+            public TextEditorInsertLinkEmail create() {
+                final TextEditorInsertLinkEmailPresenter presenter = new TextEditorInsertLinkEmailPresenter(
+                        $(TextEditorInsertElement.class));
+                final TextEditorInsertLinkEmailPanel panel = new TextEditorInsertLinkEmailPanel(presenter,
+                        $(I18nTranslationService.class));
+                presenter.init(panel);
+                return presenter;
+            }
+        });
+
         register(Singleton.class, new Factory<TextEditor>(TextEditor.class) {
             @Override
             public TextEditor create() {
@@ -384,7 +450,8 @@
                         $(I18nUITranslationService.class), $(StateManager.class), $(SiteSignOutLink.class),
                         $(DeferredCommandWrapper.class));
                 final TextEditorPanel panel = new TextEditorPanel(presenter, $(I18nTranslationService.class),
-                        $(WorkspaceSkeleton.class), $(ColorWebSafePalette.class), false);
+                        $(WorkspaceSkeleton.class), $(ColorWebSafePalette.class), $(TextEditorInsertElement.class),
+                        false);
                 presenter.init(panel);
                 return presenter;
             }

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -238,9 +238,10 @@
         register(ApplicationComponentGroup.class, new Factory<SiteSearch>(SiteSearch.class) {
             @Override
             public SiteSearch create() {
-                final SiteSearchPresenter presenter = new SiteSearchPresenter($$(SiteSearcher.class));
+                final SiteSearchPresenter presenter = new SiteSearchPresenter($$(SiteSearcher.class),
+                        $(I18nTranslationService.class));
                 final SiteSearchPanel panel = new SiteSearchPanel(presenter, $(WorkspaceSkeleton.class),
-                        $(I18nUITranslationService.class), $(Images.class));
+                        $(Images.class));
                 presenter.init(panel);
                 return presenter;
             }

Deleted: trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/DefaultBorderLayout.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -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.platf.client.ui;
-
-import com.google.gwt.user.client.ui.Widget;
-import com.gwtext.client.core.RegionPosition;
-import com.gwtext.client.widgets.Panel;
-import com.gwtext.client.widgets.Toolbar;
-import com.gwtext.client.widgets.layout.BorderLayout;
-import com.gwtext.client.widgets.layout.BorderLayoutData;
-
- at Deprecated
-public class DefaultBorderLayout {
-
-    public enum Position {
-        NORTH, CENTER, SOUTH, EAST, WEST
-    }
-
-    public static final int DEF_TOOLBAR_HEIGHT = 26;
-
-    private static final int NO_SIZE = -666;
-
-    private static RegionPosition[] regionPositions = new RegionPosition[] { RegionPosition.NORTH,
-            RegionPosition.CENTER, RegionPosition.SOUTH, RegionPosition.EAST, RegionPosition.WEST };
-
-    private final Panel mainPanel;
-
-    public DefaultBorderLayout() {
-        mainPanel = new Panel();
-        mainPanel.setLayout(new BorderLayout());
-        mainPanel.setBorder(false);
-    }
-
-    public DefaultBorderLayout(String title) {
-        this();
-        mainPanel.setTitle(title);
-    }
-
-    public void add(final Panel panel, final Position position) {
-        add(panel, position, false);
-    }
-
-    public void add(final Panel panel, final Position position, final boolean split) {
-        add(panel, position, split, NO_SIZE);
-    }
-
-    public void add(final Panel panel, final Position position, final boolean split, final int size) {
-        final RegionPosition regionPosition = regionPositions[position.ordinal()];
-        final BorderLayoutData borderLayoutData = new BorderLayoutData(regionPosition);
-        borderLayoutData.setSplit(split);
-        if (split) {
-            borderLayoutData.setUseSplitTips(true);
-            borderLayoutData.setCollapseModeMini(true);
-        }
-        if (size != NO_SIZE) {
-            switch (position) {
-            case NORTH:
-            case SOUTH:
-                panel.setHeight(size);
-                break;
-            case EAST:
-            case WEST:
-                panel.setWidth(size);
-            }
-        }
-        mainPanel.add(panel, borderLayoutData);
-        doLayoutIfNeeded();
-    }
-
-    public void add(final Panel panel, final Position position, final int size) {
-        add(panel, position, false, size);
-    }
-
-    public void add(final Panel panel, final Widget widget) {
-        panel.add(widget);
-        if (panel.isRendered()) {
-            panel.syncSize();
-            panel.doLayout(false);
-        }
-        doLayoutIfNeeded();
-    }
-
-    public void addStyle(final String style) {
-        mainPanel.addClass(style);
-    }
-
-    public Toolbar createBottomBar(final Panel panel) {
-        return createBottomBar(panel, null);
-    }
-
-    public Toolbar createBottomBar(final Panel panel, final String cssStyle) {
-        return createBottomBar(panel, cssStyle, null);
-    }
-
-    public Toolbar createBottomBar(final Panel panel, final String cssStyle, final String id) {
-        final Toolbar bottomToolbar = new Toolbar();
-        if (id != null) {
-            bottomToolbar.setId(id);
-        }
-        bottomToolbar.setHeight(DEF_TOOLBAR_HEIGHT);
-        if (cssStyle != null) {
-            bottomToolbar.setCls(cssStyle);
-        }
-        panel.setBottomToolbar(bottomToolbar);
-        return bottomToolbar;
-    }
-
-    public Toolbar createTopBar(final Panel panel) {
-        return createTopBar(panel, null);
-    }
-
-    public Toolbar createTopBar(final Panel panel, final String cssStyle) {
-        return createTopBar(panel, cssStyle);
-    }
-
-    public Toolbar createTopBar(final Panel panel, final String cssStyle, final String id) {
-        final Toolbar topToolbar = new Toolbar();
-        topToolbar.setHeight(DEF_TOOLBAR_HEIGHT);
-        if (id != null) {
-            topToolbar.setId(id);
-        }
-        if (cssStyle != null) {
-            topToolbar.setCls(cssStyle);
-        }
-        panel.setTopToolbar(topToolbar);
-        return topToolbar;
-    }
-
-    public void doLayoutIfNeeded() {
-        if (mainPanel.isRendered()) {
-            mainPanel.doLayout(false);
-        }
-    }
-
-    public Panel getPanel() {
-        return mainPanel;
-    }
-
-    public void removeStyle(final String style) {
-        mainPanel.removeClass(style);
-    }
-
-    public void setBorder(final boolean border) {
-        mainPanel.setBorder(border);
-    }
-
-    public void setPanel(final Panel panel, final Widget widget) {
-        panel.clear();
-        add(panel, widget);
-        doLayoutIfNeeded();
-    }
-
-    public void setWidth(int width) {
-        mainPanel.setWidth(width);
-    }
-
-    public void syncSize() {
-        mainPanel.syncSize();
-    }
-}

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialog.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialog.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -19,16 +19,32 @@
  */
 package org.ourproject.kune.platf.client.ui.dialogs;
 
+import com.gwtext.client.core.Ext;
 import com.gwtext.client.core.Position;
 import com.gwtext.client.widgets.Window;
 
 public class BasicDialog extends Window {
 
     public BasicDialog(final String caption, final boolean modal) {
-        this(caption, modal, false);
+        this(Ext.generateId(), caption, modal, false);
     }
 
-    public BasicDialog(final String caption, final boolean modal, final boolean autoScroll) {
+    public BasicDialog(final String caption, final boolean modal, final boolean autoScroll, final int width,
+            final int height) {
+        this(Ext.generateId(), caption, modal, autoScroll, width, height, width, height);
+    }
+
+    public BasicDialog(final String caption, final boolean modal, final boolean autoScroll, final int width,
+            final int height, final int minWidth, final int minHeight) {
+        this(Ext.generateId(), caption, modal, autoScroll, width, height, minWidth, minHeight);
+    }
+
+    public BasicDialog(final String id, final String caption, final boolean modal) {
+        this(id, caption, modal, false);
+    }
+
+    public BasicDialog(final String id, final String caption, final boolean modal, final boolean autoScroll) {
+        setId(id);
         setBorder(false);
         setAutoWidth(true);
         // Param values
@@ -45,14 +61,14 @@
         setButtonAlign(Position.RIGHT);
     }
 
-    public BasicDialog(final String caption, final boolean modal, final boolean autoScroll, final int width,
-            final int height) {
-        this(caption, modal, autoScroll, width, height, width, height);
+    public BasicDialog(final String id, final String caption, final boolean modal, final boolean autoScroll,
+            final int width, final int height) {
+        this(id, caption, modal, autoScroll, width, height, width, height);
     }
 
-    public BasicDialog(final String caption, final boolean modal, final boolean autoScroll, final int width,
-            final int height, final int minWidth, final int minHeight) {
-        this(caption, modal, autoScroll);
+    public BasicDialog(final String id, final String caption, final boolean modal, final boolean autoScroll,
+            final int width, final int height, final int minWidth, final int minHeight) {
+        this(id, caption, modal, autoScroll);
         setAutoWidth(false);
         // Param values
         setWidth(width);

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/BasicDialogExtended.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -32,18 +32,20 @@
     private final Button cancel;
     private final Button firstButton;
 
-    public BasicDialogExtended(final String title, final boolean modal, final boolean autoscroll, final int width,
-            final int heigth, final String icon, final String firstButtonTitle, final String cancelButtonTitle,
-            final Listener0 onFirstButtonClick, Listener0 onCancelButtonClick, int tabIndexStart) {
-        this(title, modal, autoscroll, width, heigth, icon, firstButtonTitle, Ext.generateId(), cancelButtonTitle,
-                Ext.generateId(), onFirstButtonClick, onCancelButtonClick, tabIndexStart);
+    public BasicDialogExtended(final String dialogId, final String title, final boolean modal,
+            final boolean autoscroll, final int width, final int heigth, final String icon,
+            final String firstButtonTitle, final String cancelButtonTitle, final Listener0 onFirstButtonClick,
+            Listener0 onCancelButtonClick, int tabIndexStart) {
+        this(dialogId, title, modal, autoscroll, width, heigth, icon, firstButtonTitle, Ext.generateId(),
+                cancelButtonTitle, Ext.generateId(), onFirstButtonClick, onCancelButtonClick, tabIndexStart);
     }
 
-    public BasicDialogExtended(final String title, final boolean modal, final boolean autoscroll, final int width,
-            final int heigth, final String icon, final String firstButtonTitle, final String firstButtonId,
-            final String cancelButtonTitle, final String cancelButtonId, final Listener0 onFirstButtonClick,
-            final Listener0 onCancelButtonClick, int tabIndexStart) {
-        super(title, modal, autoscroll, width, heigth);
+    public BasicDialogExtended(final String dialogId, final String title, final boolean modal,
+            final boolean autoscroll, final int width, final int heigth, final String icon,
+            final String firstButtonTitle, final String firstButtonId, final String cancelButtonTitle,
+            final String cancelButtonId, final Listener0 onFirstButtonClick, final Listener0 onCancelButtonClick,
+            int tabIndexStart) {
+        super(dialogId, title, modal, autoscroll, width, heigth);
         setLayout(new FitLayout());
         setCollapsible(false);
         setButtonAlign(Position.RIGHT);

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -18,7 +18,9 @@
  *
  */package org.ourproject.kune.platf.client.ui.dialogs;
 
+import com.allen_sauer.gwt.log.client.Log;
 import com.gwtext.client.core.Position;
+import com.gwtext.client.widgets.Button;
 import com.gwtext.client.widgets.form.Field;
 import com.gwtext.client.widgets.form.FieldSet;
 import com.gwtext.client.widgets.form.FormPanel;
@@ -61,6 +63,10 @@
         form.add(label);
     }
 
+    public void addButton(final Button button) {
+        form.addButton(button);
+    }
+
     public void addStyleName(final String cls) {
         form.addStyleName(cls);
     }
@@ -69,7 +75,7 @@
         return form.getForm().findField(id);
     }
 
-    public FormPanel getForm() {
+    public FormPanel getFormPanel() {
         return form;
     }
 
@@ -82,6 +88,7 @@
     }
 
     public void reset() {
+        Log.info("Reset------------------");
         form.getForm().reset();
     }
 

Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/InfoDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/InfoDialog.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/InfoDialog.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -25,9 +25,10 @@
 import com.gwtext.client.widgets.event.ButtonListenerAdapter;
 
 public class InfoDialog extends BasicDialog {
-    public InfoDialog(final String title, final String header, final String text, final String okButtonText,
-            String okButtonId, final boolean modal, final boolean autoScroll, final int width, final int height) {
-        super(title, modal, autoScroll, width, height);
+    public InfoDialog(final String dialogId, final String title, final String header, final String text,
+            final String okButtonText, String okButtonId, final boolean modal, final boolean autoScroll,
+            final int width, final int height) {
+        super(dialogId, title, modal, autoScroll, width, height);
         final Button okButton = new Button(okButtonText);
         okButton.setId(okButtonId);
         okButton.addListener(new ButtonListenerAdapter() {

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -38,11 +38,11 @@
     private final I18nTranslationService i18n;
     private final Button nextButton;
 
-    public WizardDialog(final String caption, final boolean modal, final boolean minimizable, final int width,
-            final int height, final int minWidth, final int minHeight, final WizardListener listener,
-            final I18nTranslationService i18n, String dialogId, final String backId, final String nextId,
-            final String finishId, final String cancelId, final String closeId) {
-        dialog = new BasicDialog(caption, modal, false, width, height, minWidth, minHeight);
+    public WizardDialog(String dialogId, final String caption, final boolean modal, final boolean minimizable,
+            final int width, final int height, final int minWidth, final int minHeight, final WizardListener listener,
+            final I18nTranslationService i18n, final String backId, final String nextId, final String finishId,
+            final String cancelId, final String closeId) {
+        dialog = new BasicDialog(dialogId, caption, modal, false, width, height, minWidth, minHeight);
         this.i18n = i18n;
         dialog.setCollapsible(minimizable);
         dialog.setShadow(true);
@@ -95,10 +95,10 @@
         });
     }
 
-    public WizardDialog(final String caption, final boolean modal, final boolean minimizable, final int width,
-            final int height, final WizardListener listener, final I18nTranslationService i18n, String dialogId,
+    public WizardDialog(String dialogId, final String caption, final boolean modal, final boolean minimizable,
+            final int width, final int height, final WizardListener listener, final I18nTranslationService i18n,
             final String backId, final String nextId, final String finishId, final String cancelId, final String closeId) {
-        this(caption, modal, minimizable, width, height, width, height, listener, i18n, dialogId, backId, nextId,
+        this(dialogId, caption, modal, minimizable, width, height, width, height, listener, i18n, backId, nextId,
                 finishId, cancelId, closeId);
     }
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -21,6 +21,7 @@
 
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
 import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalette;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
 import org.ourproject.kune.workspace.client.skel.Toolbar;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
 
@@ -45,7 +46,8 @@
     private final WorkspaceSkeleton ws;
 
     public TextEditorPanel(final TextEditorPresenter presenter, final I18nTranslationService i18n,
-            final WorkspaceSkeleton ws, final ColorWebSafePalette colorPalette, boolean permitHtmlButton) {
+            final WorkspaceSkeleton ws, final ColorWebSafePalette colorPalette,
+            final TextEditorInsertElement textEditorInsertElement, boolean permitHtmlButton) {
         this.presenter = presenter;
         this.i18n = i18n;
         this.ws = ws;
@@ -60,7 +62,8 @@
 
         final Toolbar editorTopBar = new Toolbar();
         editorTopBar.getPanel().setWidth("auto");
-        textEditorToolbar = new TextEditorToolbar(gwtRTarea, presenter, colorPalette, i18n, permitHtmlButton);
+        textEditorToolbar = new TextEditorToolbar(gwtRTarea, presenter, colorPalette, i18n, permitHtmlButton,
+                textEditorInsertElement);
         editorTopBar.add(textEditorToolbar);
         editorTopBar.addStyleName("k-toolbar-bottom-line");
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorToolbar.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/TextEditorToolbar.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -21,15 +21,11 @@
 
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
 import org.ourproject.kune.platf.client.ui.KuneUiUtils;
-import org.ourproject.kune.platf.client.ui.dialogs.BasicDialog;
-import org.ourproject.kune.platf.client.ui.form.FileUploadFormSample;
-import org.ourproject.kune.platf.client.ui.imgchooser.ImageChooser;
-import org.ourproject.kune.platf.client.ui.imgchooser.ImageChooserCallback;
-import org.ourproject.kune.platf.client.ui.imgchooser.ImageData;
 import org.ourproject.kune.platf.client.ui.palette.ColorWebSafePalette;
-import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
 
 import com.calclab.suco.client.listener.Listener;
+import com.calclab.suco.client.listener.Listener2;
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.AbstractImagePrototype;
@@ -44,14 +40,6 @@
 import com.google.gwt.user.client.ui.ToggleButton;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
-import com.gwtext.client.data.ArrayReader;
-import com.gwtext.client.data.DateFieldDef;
-import com.gwtext.client.data.FieldDef;
-import com.gwtext.client.data.IntegerFieldDef;
-import com.gwtext.client.data.MemoryProxy;
-import com.gwtext.client.data.RecordDef;
-import com.gwtext.client.data.Store;
-import com.gwtext.client.data.StringFieldDef;
 import com.gwtext.client.widgets.MessageBox;
 import com.gwtext.client.widgets.MessageBox.PromptCallback;
 
@@ -68,8 +56,19 @@
      */
     private class EventListener implements ClickListener, ChangeListener, KeyboardListener {
 
-        private ImageChooser ic;
+        public static final String TEXT_EDITOR_TOOLBAR_INS_IMG = "k-textedtol-img";
+        // private ImageChooser ic;
+        private final TextEditorInsertElement insertElement;
 
+        public EventListener(TextEditorInsertElement insertElement) {
+            this.insertElement = insertElement;
+            insertElement.onInsert(new Listener2<String, String>() {
+                public void onEvent(String name, String url) {
+                    extended.createLink(url);
+                }
+            });
+        }
+
         public void onChange(final Widget sender) {
             fireEdit();
         }
@@ -100,14 +99,7 @@
             } else if (sender == insertImage) {
                 showImagePanel();
             } else if (sender == createLink) {
-                MessageBox.prompt("Insert a link", "Enter a link URL:", new PromptCallback() {
-                    public void execute(final String btnID, final String text) {
-                        if (btnID.equals("ok") && text != null) {
-                            extended.createLink(text);
-                        }
-                    }
-                });
-                showLinkPanel();
+                insertElement.show();
             } else if (sender == backColor) {
                 colorPalette.show(sender.getAbsoluteLeft(), sender.getAbsoluteTop() + 20, new Listener<String>() {
                     public void onEvent(final String color) {
@@ -171,81 +163,83 @@
             }
         }
 
-        private Object[][] getData() {
-            return new Object[][] {
-            // new Object[]{"Pirates of the Caribbean", new Integer(2120), new
-            // Long(1180231870000l), "images/view/carribean.jpg"},
-            // new Object[]{"Resident Evil", new Integer(2120), new
-            // Long(1180231870000l), "images/view/resident_evil.jpg"},
-            // new Object[]{"Blood Diamond", new Integer(2120), new
-            // Long(1180231870000l), "images/view/blood_diamond.jpg"},
-            // new Object[]{"No Reservations", new Integer(2120), new
-            // Long(1180231870000l), "images/view/no_reservations.jpg"},
-            // new Object[]{"Casino Royale", new Integer(2120), new
-            // Long(1180231870000l), "images/view/casino_royale.jpg"},
-            // new Object[]{"Good Shepherd", new Integer(2120), new
-            // Long(1180231870000l), "images/view/good_shepherd.jpg"},
-            // new Object[]{"Ghost Rider", new Integer(2120), new
-            // Long(1180231870000l), "images/view/ghost_rider.jpg"},
-            // new Object[]{"Batman Begins", new Integer(2120), new
-            // Long(1180231870000l), "images/view/batman_begins.jpg"},
-            // new Object[]{"Last Samurai", new Integer(2120), new
-            // Long(1180231870000l), "images/view/last_samurai.jpg"},
-            // new Object[]{"Italian Job", new Integer(2120), new
-            // Long(1180231870000l), "images/view/italian_job.jpg"},
-            // new Object[]{"Mission Impossible III", new Integer(2120), new
-            // Long(1180231870000l), "images/view/mi3.jpg"},
-            // new Object[]{"Mr & Mrs Smith", new Integer(2120), new
-            // Long(1180231870000l), "images/view/smith.jpg"},
-            // new Object[]{"Inside Man", new Integer(2120), new
-            // Long(1180231870000l), "images/view/inside_man.jpg"},
-            // new Object[]{"The Island", new Integer(2120), new
-            // Long(1180231870000l), "images/view/island.jpg"}
-            };
-        }
+        // private Object[][] getData() {
+        // return new Object[][] {
+        // new Object[]{"Pirates of the Caribbean", new Integer(2120), new
+        // Long(1180231870000l), "images/view/carribean.jpg"},
+        // new Object[]{"Resident Evil", new Integer(2120), new
+        // Long(1180231870000l), "images/view/resident_evil.jpg"},
+        // new Object[]{"Blood Diamond", new Integer(2120), new
+        // Long(1180231870000l), "images/view/blood_diamond.jpg"},
+        // new Object[]{"No Reservations", new Integer(2120), new
+        // Long(1180231870000l), "images/view/no_reservations.jpg"},
+        // new Object[]{"Casino Royale", new Integer(2120), new
+        // Long(1180231870000l), "images/view/casino_royale.jpg"},
+        // new Object[]{"Good Shepherd", new Integer(2120), new
+        // Long(1180231870000l), "images/view/good_shepherd.jpg"},
+        // new Object[]{"Ghost Rider", new Integer(2120), new
+        // Long(1180231870000l), "images/view/ghost_rider.jpg"},
+        // new Object[]{"Batman Begins", new Integer(2120), new
+        // Long(1180231870000l), "images/view/batman_begins.jpg"},
+        // new Object[]{"Last Samurai", new Integer(2120), new
+        // Long(1180231870000l), "images/view/last_samurai.jpg"},
+        // new Object[]{"Italian Job", new Integer(2120), new
+        // Long(1180231870000l), "images/view/italian_job.jpg"},
+        // new Object[]{"Mission Impossible III", new Integer(2120), new
+        // Long(1180231870000l), "images/view/mi3.jpg"},
+        // new Object[]{"Mr & Mrs Smith", new Integer(2120), new
+        // Long(1180231870000l), "images/view/smith.jpg"},
+        // new Object[]{"Inside Man", new Integer(2120), new
+        // Long(1180231870000l), "images/view/inside_man.jpg"},
+        // new Object[]{"The Island", new Integer(2120), new
+        // Long(1180231870000l), "images/view/island.jpg"}
+        // };
+        // }
 
         private void showImagePanel() {
-            // i18n:
-            final FileUploadFormSample fileUploadFormSample = new FileUploadFormSample();
-            final BasicDialog dialog = new BasicDialog("Insert image", false, true, 400, 400);
-            dialog.add(fileUploadFormSample);
-            dialog.show();
-
-            if (ic == null) {
-                final MemoryProxy dataProxy = new MemoryProxy(getData());
-                final RecordDef recordDef = new RecordDef(new FieldDef[] { new StringFieldDef("name"),
-                        new IntegerFieldDef("size"), new DateFieldDef("lastmod", "timestamp"),
-                        new StringFieldDef("url") });
-                final ArrayReader reader = new ArrayReader(recordDef);
-                final Store store = new Store(dataProxy, reader, true);
-                store.load();
-
-                ic = new ImageChooser("Image Chooser", 515, 400, store);
-            }
-            Site.important("This is in development and very experimental...");
-            ic.show(new ImageChooserCallback() {
-                public void onImageSelection(final ImageData data) {
-                    // Element el = DomHelper.append("images",
-                    // Format.format("<img src='{0}'
-                    // style='margin:20px;visibility:hidden;'/>",
-                    // data.getUrl()));
-                    // ExtElement extEl = new ExtElement(el);
-                    // extEl.show(true).frame();
-                }
-            });
-            // MessageBox.prompt("Insert image", "Enter an image URL:", new
-            // PromptCallback() {
-            // public void execute(final String btnID, final String text) {
-            // if (btnID.equals("ok") && text != null) {
-            // extended.insertImage(text);
+            // // i18n:
+            // final FileUploadFormSample fileUploadFormSample = new
+            // FileUploadFormSample();
+            // final BasicDialog dialog = new
+            // BasicDialog(TEXT_EDITOR_TOOLBAR_INS_IMG, "Insert image", false,
+            // true, 400,
+            // 400);
+            // dialog.add(fileUploadFormSample);
+            // dialog.show();
+            //
+            // if (ic == null) {
+            // final MemoryProxy dataProxy = new MemoryProxy(getData());
+            // final RecordDef recordDef = new RecordDef(new FieldDef[] { new
+            // StringFieldDef("name"),
+            // new IntegerFieldDef("size"), new DateFieldDef("lastmod",
+            // "timestamp"),
+            // new StringFieldDef("url") });
+            // final ArrayReader reader = new ArrayReader(recordDef);
+            // final Store store = new Store(dataProxy, reader, true);
+            // store.load();
+            //
+            // ic = new ImageChooser("Image Chooser", 515, 400, store);
             // }
+            // Site.important("This is in development and very experimental...");
+            // ic.show(new ImageChooserCallback() {
+            // public void onImageSelection(final ImageData data) {
+            // // Element el = DomHelper.append("images",
+            // // Format.format("<img src='{0}'
+            // // style='margin:20px;visibility:hidden;'/>",
+            // // data.getUrl()));
+            // // ExtElement extEl = new ExtElement(el);
+            // // extEl.show(true).frame();
             // }
             // });
+            MessageBox.prompt("Insert image", "Enter an image URL:", new PromptCallback() {
+                public void execute(final String btnID, final String text) {
+                    if (btnID.equals("ok") && text != null) {
+                        extended.insertImage(text);
+                    }
+                }
+            });
 
         }
-
-        private void showLinkPanel() {
-        }
     }
 
     private static final RichTextArea.FontSize[] fontSizesConstants = new RichTextArea.FontSize[] {
@@ -254,7 +248,7 @@
             RichTextArea.FontSize.XX_LARGE };
 
     private final TextEditorImages images = (TextEditorImages) GWT.create(TextEditorImages.class);
-    private final EventListener listener = new EventListener();
+    private final EventListener listener;
     private final RichTextArea richText;
     private final RichTextArea.BasicFormatter basic;
     private final RichTextArea.ExtendedFormatter extended;
@@ -294,13 +288,15 @@
      *            the rich text area to be controlled
      */
     public TextEditorToolbar(final RichTextArea richText, final TextEditorPresenter presenter,
-            final ColorWebSafePalette colorPalette, final I18nTranslationService i18n, boolean permitEditHtml) {
+            final ColorWebSafePalette colorPalette, final I18nTranslationService i18n, boolean permitEditHtml,
+            TextEditorInsertElement insertElement) {
         this.richText = richText;
         this.colorPalette = colorPalette;
         this.i18n = i18n;
         this.basic = richText.getBasicFormatter();
         this.extended = richText.getExtendedFormatter();
         this.presenter = presenter;
+        listener = new EventListener(insertElement);
 
         initWidget(outer);
 

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElement.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElement.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElement.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,13 @@
+package org.ourproject.kune.workspace.client.editor.insert;
+
+import org.ourproject.kune.workspace.client.options.AbstractOptions;
+
+import com.calclab.suco.client.listener.Listener2;
+
+public interface TextEditorInsertElement extends AbstractOptions {
+
+    void fireOnInsert(String name, String link);
+
+    void onInsert(Listener2<String, String> slot);
+
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,35 @@
+package org.ourproject.kune.workspace.client.editor.insert;
+
+import org.ourproject.kune.platf.client.app.TextEditorInsertElementGroup;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.workspace.client.options.AbstractOptionsPanel;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.calclab.suco.client.listener.Listener0;
+
+public class TextEditorInsertElementPanel extends AbstractOptionsPanel implements TextEditorInsertElementView {
+    public static final String TEXT_EDT_INSERT_DIALOG = "k-ted-iep-dialog";
+    public static final String TEXT_EDT_INSERT_DIALOG_ERROR_ID = "k-ted-iep-dialog-err";
+    private final TextEditorInsertElementGroup textEditorInsertElementGroup;
+
+    public TextEditorInsertElementPanel(final TextEditorInsertElementPresenter presenter, final WorkspaceSkeleton ws,
+            Images images, I18nTranslationService i18n, final TextEditorInsertElementGroup textEditorInsertElementGroup) {
+        super(TEXT_EDT_INSERT_DIALOG, i18n.tWithNT("Insert an element",
+                "Option in a text editor to insert links and other elements"), 380, 170, 380, 170, images,
+                TEXT_EDT_INSERT_DIALOG_ERROR_ID);
+        // super.setIconCls("k-options-icon");
+        this.textEditorInsertElementGroup = textEditorInsertElementGroup;
+        super.addHideListener(new Listener0() {
+            public void onEvent() {
+                textEditorInsertElementGroup.resetAll();
+            }
+        });
+    }
+
+    @Override
+    public void createAndShow() {
+        textEditorInsertElementGroup.createAll();
+        super.createAndShow();
+    }
+}
\ No newline at end of file

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPresenter.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementPresenter.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,28 @@
+package org.ourproject.kune.workspace.client.editor.insert;
+
+import org.ourproject.kune.workspace.client.options.AbstractOptionsPresenter;
+
+import com.calclab.suco.client.listener.Event2;
+import com.calclab.suco.client.listener.Listener2;
+
+public class TextEditorInsertElementPresenter extends AbstractOptionsPresenter implements TextEditorInsertElement {
+
+    private final Event2<String, String> onInsert;
+
+    public TextEditorInsertElementPresenter() {
+        this.onInsert = new Event2<String, String>("onInsert");
+    }
+
+    public void fireOnInsert(String name, String link) {
+        onInsert.fire(name, link);
+        super.hide();
+    }
+
+    public void init(TextEditorInsertElementView view) {
+        super.init(view);
+    }
+
+    public void onInsert(final Listener2<String, String> slot) {
+        onInsert.add(slot);
+    }
+}
\ No newline at end of file

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementView.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/TextEditorInsertElementView.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,8 @@
+package org.ourproject.kune.workspace.client.editor.insert;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.options.AbstractOptionsView;
+
+public interface TextEditorInsertElementView extends AbstractOptionsView, View {
+
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractPresenter.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractPresenter.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,28 @@
+package org.ourproject.kune.workspace.client.editor.insert.abstractlink;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
+
+public class TextEditorInsertAbstractPresenter {
+
+    private TextEditorInsertAbstractView view;
+    private final TextEditorInsertElement editorInsertElement;
+
+    public TextEditorInsertAbstractPresenter(TextEditorInsertElement editorInsertElement) {
+        this.editorInsertElement = editorInsertElement;
+    }
+
+    public View getView() {
+        return view;
+    }
+
+    public void init(TextEditorInsertAbstractView view) {
+        this.view = view;
+        editorInsertElement.addOptionTab(view);
+    }
+
+    public void onInsert(String name, String link) {
+        editorInsertElement.fireOnInsert(name, link);
+        view.clear();
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractView.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/abstractlink/TextEditorInsertAbstractView.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,9 @@
+package org.ourproject.kune.workspace.client.editor.insert.abstractlink;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface TextEditorInsertAbstractView extends View {
+
+    void clear();
+
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmail.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmail.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmail.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkemail;
+
+public interface TextEditorInsertLinkEmail {
+
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,46 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkemail;
+
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+
+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.TextField;
+import com.gwtext.client.widgets.form.VType;
+
+public class TextEditorInsertLinkEmailPanel extends DefaultForm implements TextEditorInsertLinkEmailView {
+
+    public static final String EMAIL_FIELD = "k-teilep-email-field";
+    private final TextField emailField;
+
+    public TextEditorInsertLinkEmailPanel(final TextEditorInsertLinkEmailPresenter presenter,
+            I18nTranslationService i18n) {
+        super.setAutoWidth(true);
+        super.setAutoHeight(true);
+        emailField = new TextField();
+        emailField.setTabIndex(4);
+        emailField.setFieldLabel(i18n.t("Email"));
+        emailField.setName(EMAIL_FIELD);
+        emailField.setVtype(VType.EMAIL);
+        emailField.setWidth(DEF_MEDIUM_FIELD_WIDTH);
+        emailField.setAllowBlank(false);
+        emailField.setValidationEvent(false);
+        emailField.setId(EMAIL_FIELD);
+        add(emailField);
+        Button insert = new Button(i18n.t("Insert"));
+        insert.addListener(new ButtonListenerAdapter() {
+            @Override
+            public void onClick(Button button, EventObject e) {
+                if (getFormPanel().getForm().isValid()) {
+                    presenter.onInsert("", "mailto://" + emailField.getRawValue());
+                }
+            }
+        });
+        addButton(insert);
+    }
+
+    public void clear() {
+        super.reset();
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPresenter.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailPresenter.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,16 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkemail;
+
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractPresenter;
+
+public class TextEditorInsertLinkEmailPresenter extends TextEditorInsertAbstractPresenter implements
+        TextEditorInsertLinkEmail {
+
+    public TextEditorInsertLinkEmailPresenter(TextEditorInsertElement editorInsertElement) {
+        super(editorInsertElement);
+    }
+
+    public void init(TextEditorInsertLinkEmailView view) {
+        super.init(view);
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailView.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkemail/TextEditorInsertLinkEmailView.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,6 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkemail;
+
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractView;
+
+public interface TextEditorInsertLinkEmailView extends TextEditorInsertAbstractView {
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExt.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExt.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExt.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkext;
+
+public interface TextEditorInsertLinkExt {
+
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,48 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkext;
+
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+
+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.TextField;
+import com.gwtext.client.widgets.form.VType;
+
+public class TextEditorInsertLinkExtPanel extends DefaultForm implements TextEditorInsertLinkExtView {
+
+    public static final String LINK_FIELD = "k-teilep-link-f";
+    private final TextField linkField;
+
+    public TextEditorInsertLinkExtPanel(final TextEditorInsertLinkExtPresenter presenter,
+            final I18nTranslationService i18n) {
+        super.setAutoWidth(true);
+        super.setAutoHeight(true);
+        linkField = new TextField();
+        linkField.setTabIndex(1);
+        linkField.setFieldLabel(i18n.t("External link (URL)"));
+        linkField.setVtype(VType.URL);
+        linkField.setName(LINK_FIELD);
+        linkField.setWidth(DEF_FIELD_WIDTH);
+        linkField.setAllowBlank(false);
+        linkField.setMinLength(3);
+        linkField.setMaxLength(250);
+        linkField.setValidationEvent(false);
+        linkField.setId(LINK_FIELD);
+        add(linkField);
+        Button insert = new Button(i18n.t("Insert"));
+        insert.addListener(new ButtonListenerAdapter() {
+            @Override
+            public void onClick(Button button, EventObject e) {
+                if (getFormPanel().getForm().isValid()) {
+                    presenter.onInsert("", linkField.getRawValue());
+                }
+            }
+        });
+        addButton(insert);
+    }
+
+    public void clear() {
+        super.reset();
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPresenter.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtPresenter.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,16 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkext;
+
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractPresenter;
+
+public class TextEditorInsertLinkExtPresenter extends TextEditorInsertAbstractPresenter implements
+        TextEditorInsertLinkExt {
+
+    public TextEditorInsertLinkExtPresenter(TextEditorInsertElement editorInsertElement) {
+        super(editorInsertElement);
+    }
+
+    public void init(TextEditorInsertLinkExtView view) {
+        super.init(view);
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtView.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linkext/TextEditorInsertLinkExtView.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,6 @@
+package org.ourproject.kune.workspace.client.editor.insert.linkext;
+
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractView;
+
+public interface TextEditorInsertLinkExtView extends TextEditorInsertAbstractView {
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocal.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocal.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocal.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.editor.insert.linklocal;
+
+public interface TextEditorInsertLinkLocal {
+
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,27 @@
+package org.ourproject.kune.workspace.client.editor.insert.linklocal;
+
+import org.ourproject.kune.platf.client.dto.LinkDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
+import org.ourproject.kune.workspace.client.search.AbstractLiveSearcherPanel;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.calclab.suco.client.listener.Listener;
+
+public class TextEditorInsertLinkLocalPanel extends AbstractLiveSearcherPanel implements TextEditorInsertLinkLocalView {
+
+    private static final String DATA_PROXY_URL = "/kune/json/ContentJSONService/search";
+
+    public TextEditorInsertLinkLocalPanel(final TextEditorInsertLinkLocalPresenter presenter,
+            final WorkspaceSkeleton ws, I18nTranslationService i18n, FileDownloadUtils downloadUtils) {
+        super(i18n, TEMPLATE_TEXT_PREFIX + downloadUtils.getLogoImageUrl(new StateToken("{shortName}"))
+                + TEMPLATE_TEXT_SUFFIX, DATA_PROXY_URL, new Listener<LinkDTO>() {
+            public void onEvent(LinkDTO link) {
+            }
+        });
+        super.setTitle(i18n.t("Local link"));
+        super.setHeight(110);
+        super.setPaddings(20);
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPresenter.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalPresenter.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,16 @@
+package org.ourproject.kune.workspace.client.editor.insert.linklocal;
+
+import org.ourproject.kune.workspace.client.editor.insert.TextEditorInsertElement;
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractPresenter;
+
+public class TextEditorInsertLinkLocalPresenter extends TextEditorInsertAbstractPresenter implements
+        TextEditorInsertLinkLocal {
+
+    public TextEditorInsertLinkLocalPresenter(TextEditorInsertElement editorInsertElement) {
+        super(editorInsertElement);
+    }
+
+    public void init(TextEditorInsertLinkLocalView view) {
+        super.init(view);
+    }
+}

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalView.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/editor/insert/linklocal/TextEditorInsertLinkLocalView.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,6 @@
+package org.ourproject.kune.workspace.client.editor.insert.linklocal;
+
+import org.ourproject.kune.workspace.client.editor.insert.abstractlink.TextEditorInsertAbstractView;
+
+public interface TextEditorInsertLinkLocalView extends TextEditorInsertAbstractView {
+}

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/i18n/I18nTranslatorPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -60,6 +60,7 @@
 
 public class I18nTranslatorPanel extends AbstractSearcherPanel implements I18nTranslatorView {
 
+    public static final String TRANSLATOR_DIALOG = "k-i18n-trans";
     private Window dialog;
     private final I18nTranslatorPresenter presenter;
     private LanguageSelectorPanel languageSelectorPanel;
@@ -126,7 +127,7 @@
         center.setClosable(false);
         center.setBorder(false);
 
-        final Window dialog = new BasicDialog("", false, false, 720, 330);
+        final Window dialog = new BasicDialog(TRANSLATOR_DIALOG, "", false, false, 720, 330);
         // dialog.setResizable(false);
         dialog.setIconCls("i18n-icon");
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -21,6 +21,7 @@
 
 import org.ourproject.kune.platf.client.dto.LicenseDTO;
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.KuneUiUtils;
 import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
 
@@ -32,20 +33,17 @@
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
 import com.gwtext.client.core.Ext;
-import com.gwtext.client.core.Function;
-import com.gwtext.client.core.FxConfig;
+import com.gwtext.client.core.ExtElement;
 
 public class EntityLicensePanel implements EntityLicenseView {
     private final Image licenseImage;
     private final Label licenseLabel;
     private final I18nTranslationService i18n;
     private final SimpleToolbar licenseBar;
-    private final WorkspaceSkeleton ws;
 
     public EntityLicensePanel(final EntityLicensePresenter presenter, final I18nTranslationService i18n,
             final WorkspaceSkeleton ws) {
         this.i18n = i18n;
-        this.ws = ws;
         licenseImage = new Image();
         licenseLabel = new Label();
 
@@ -62,7 +60,6 @@
 
         licenseLabel.addClickListener(clickListener);
         licenseImage.addClickListener(clickListener);
-        licenseLabel.setVisible(false);
 
         MouseListenerAdapter mouseListenerAdapter = new MouseListenerAdapter() {
             @Override
@@ -82,18 +79,15 @@
         licenseLabel.addStyleName("kune-Margin-Large-l");
         licenseLabel.setStyleName("k-elp-limg");
         licenseImage.setStyleName("k-elp-limg");
+        ws.getEntityWorkspace().getBottomTitle().add(licenseBar);
     }
 
     public void attach() {
-        if (!licenseBar.isAttached()) {
-            ws.getEntityWorkspace().getBottomTitle().add(licenseBar);
-        }
+        Ext.get(licenseBar.getElement()).setOpacity(1, false);
     }
 
     public void detach() {
-        if (licenseBar.isAttached()) {
-            ws.getEntityWorkspace().getBottomTitle().remove(licenseBar);
-        }
+        Ext.get(licenseBar.getElement()).setOpacity(0, false);
     }
 
     public void openWindow(final String url) {
@@ -101,24 +95,15 @@
     }
 
     public void showLicense(final String groupName, final LicenseDTO licenseDTO) {
-        licenseLabel.setText(i18n.t("© [%s], under license: [%s]", groupName, licenseDTO.getLongName()));
+        String licenseText = i18n.t("© [%s], under license: [%s]", groupName, licenseDTO.getLongName());
+        licenseLabel.setText(licenseText);
+        KuneUiUtils.setQuickTip(licenseLabel, licenseText);
         licenseImage.setUrl(licenseDTO.getImageUrl());
         fade(false);
     }
 
     private void fade(final boolean in) {
-        if (licenseLabel.isVisible() != in) {
-            FxConfig fxConfigVisible = new FxConfig(1);
-            fxConfigVisible.setAfterStyle(new Function() {
-                public void execute() {
-                    licenseLabel.setVisible(in);
-                }
-            });
-            if (in) {
-                Ext.get(licenseLabel.getElement()).fadeIn(fxConfigVisible);
-            } else {
-                Ext.get(licenseLabel.getElement()).fadeOut(fxConfigVisible);
-            }
-        }
+        ExtElement element = Ext.get(licenseLabel.getElement());
+        element.setOpacity(in ? 1 : 0, true);
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/licensefoot/EntityLicensePresenter.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -57,8 +57,8 @@
     }
 
     private void setLicense(final StateContainerDTO state) {
-        view.attach();
         this.license = state.getLicense();
         view.showLicense(state.getGroup().getLongName(), license);
+        view.attach();
     }
 }

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -84,7 +84,7 @@
 
     public NewGroupPanel(final NewGroupPresenter presenter, final I18nUITranslationService i18n,
             final Provider<LicenseChoose> licenseChooseProvider, Images img) {
-        super(i18n.t(WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE), true, false, 460, 430, new WizardListener() {
+        super(NEWGROUP_WIZARD, i18n.t(WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE), true, false, 460, 430, new WizardListener() {
             public void onBack() {
                 presenter.onBack();
             }
@@ -105,7 +105,7 @@
             public void onNext() {
                 presenter.onNext();
             }
-        }, i18n, NEWGROUP_WIZARD, BACK_BUTTON, NEXT_BUTTON, FINISH_BUTTON, CANCEL_BUTTON, CLOSE_BUTTON);
+        }, i18n, BACK_BUTTON, NEXT_BUTTON, FINISH_BUTTON, CANCEL_BUTTON, CLOSE_BUTTON);
         this.i18n = i18n;
         Field.setMsgTarget("side");
         final Panel centerPanel = new Panel();

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPresenter.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -46,6 +46,7 @@
     private final Session session;
     private final StateManager stateManager;
     private final Provider<GroupServiceAsync> groupServiceProvider;
+    private boolean mustGoToPrevious;
 
     public NewGroupPresenter(final I18nTranslationService i18n, final Session session, final StateManager stateManager,
             final Provider<GroupServiceAsync> groupServiceProvider) {
@@ -58,6 +59,7 @@
                 doNewGroup();
             }
         });
+        mustGoToPrevious = true;
     }
 
     public void doNewGroup() {
@@ -98,8 +100,10 @@
     }
 
     public void onClose() {
+        if (mustGoToPrevious) {
+            stateManager.restorePreviousToken();
+        }
         reset();
-        stateManager.restorePreviousToken();
     }
 
     public void onFinish() {
@@ -129,8 +133,9 @@
             }
 
             public void onSuccess(final StateToken token) {
+                mustGoToPrevious = false;
+                view.hide();
                 stateManager.gotoToken(token);
-                view.hide();
                 reset();
                 view.unMask();
             }
@@ -164,5 +169,6 @@
 
     private void reset() {
         view.clearData();
+        mustGoToPrevious = true;
     }
 }

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptions.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptions.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,16 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+
+public interface AbstractOptions {
+
+    public void hideMessages();
+
+    public void setErrorMessage(String message, SiteErrorType type);
+
+    void addOptionTab(View view);
+
+    void show();
+
+}

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -1,12 +1,18 @@
 package org.ourproject.kune.workspace.client.options;
 
+import org.ourproject.kune.platf.client.View;
 import org.ourproject.kune.platf.client.services.Images;
 import org.ourproject.kune.platf.client.ui.dialogs.BasicDialog;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
 import org.ourproject.kune.platf.client.ui.dialogs.MessageToolbar;
 import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
 
+import com.allen_sauer.gwt.log.client.Log;
+import com.calclab.suco.client.listener.Listener0;
+import com.gwtext.client.widgets.Component;
 import com.gwtext.client.widgets.Panel;
 import com.gwtext.client.widgets.TabPanel;
+import com.gwtext.client.widgets.event.WindowListenerAdapter;
 
 public abstract class AbstractOptionsPanel {
     private BasicDialog dialog;
@@ -20,11 +26,12 @@
     private final Images images;
     private final String errorLabelId;
     private String iconCls;
-    private final String id;
+    private final String dialogId;
+    private Listener0 onHideListener;
 
-    public AbstractOptionsPanel(String title, int width, int height, int minWidth, int minHeight, Images images,
-            String id, String errorLabelId) {
-        this.id = id;
+    public AbstractOptionsPanel(String dialogId, String title, int width, int height, int minWidth, int minHeight,
+            Images images, String errorLabelId) {
+        this.dialogId = dialogId;
         this.title = title;
         this.width = width;
         this.height = height;
@@ -34,11 +41,29 @@
         this.errorLabelId = errorLabelId;
     }
 
-    public void addTab(Panel newTab) {
-        createDialogIfNecessary();
-        tabPanel.add(newTab);
+    public void addHideListener(final Listener0 onHideListener) {
+        this.onHideListener = onHideListener;
+        if (dialog != null) {
+            addHideListener();
+        }
     }
 
+    public void addOptionTab(View view) {
+        if (view instanceof Panel) {
+            addTab((Panel) view);
+        } else if (view instanceof DefaultForm) {
+            addTab(((DefaultForm) view).getFormPanel());
+        } else {
+            Log.error("Programatic error: Unexpected element added to GroupOptions");
+        }
+        doLayoutIfNeeded();
+    }
+
+    public void createAndShow() {
+        show();
+        setFirstTabActive();
+    }
+
     public void doLayoutIfNeeded() {
         if (dialog.isRendered()) {
             dialog.doLayout(false);
@@ -89,9 +114,27 @@
         dialog.show();
     }
 
+    private void addHideListener() {
+        dialog.addListener(new WindowListenerAdapter() {
+            @Override
+            public void onClose(Panel panel) {
+                onHideListener.onEvent();
+            }
+
+            @Override
+            public void onHide(Component component) {
+                onHideListener.onEvent();
+            }
+        });
+    }
+
+    private void addTab(Panel newTab) {
+        createDialogIfNecessary();
+        tabPanel.add(newTab);
+    }
+
     private void createDialog() {
-        dialog = new BasicDialog(title, false, true, width, height, minWidth, minHeight);
-        dialog.setId(id);
+        dialog = new BasicDialog(dialogId, title, false, true, width, height, minWidth, minHeight);
         messageErrorBar = new MessageToolbar(images, errorLabelId);
         dialog.setBottomToolbar(messageErrorBar.getToolbar());
         tabPanel = new TabPanel();
@@ -100,6 +143,9 @@
         if (iconCls != null) {
             dialog.setIconCls(iconCls);
         }
+        if (onHideListener != null) {
+            addHideListener();
+        }
     }
 
     private void createDialogIfNecessary() {

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPresenter.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPresenter.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,38 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+
+public abstract class AbstractOptionsPresenter {
+
+    private AbstractOptionsView view;
+
+    public void addOptionTab(View tab) {
+        view.addOptionTab(tab);
+    }
+
+    public View getView() {
+        return view;
+    }
+
+    public void hide() {
+        view.hide();
+    }
+
+    public void hideMessages() {
+        view.hideMessages();
+    }
+
+    public void init(AbstractOptionsView view) {
+        this.view = view;
+    }
+
+    public void setErrorMessage(String message, SiteErrorType type) {
+        view.setErrorMessage(message, type);
+    }
+
+    public void show() {
+        view.createAndShow();
+    }
+
+}

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -1,9 +1,16 @@
 package org.ourproject.kune.workspace.client.options;
 
+import org.ourproject.kune.platf.client.View;
 import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
 
-public interface AbstractOptionsView {
+public interface AbstractOptionsView extends View {
 
+    void addOptionTab(View tab);
+
+    void createAndShow();
+
+    void hide();
+
     void hideMessages();
 
     void setErrorMessage(final String message, final SiteErrorType type);

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -1,11 +1,18 @@
 package org.ourproject.kune.workspace.client.options;
 
 import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
 
-public interface EntityOptions extends AbstractOptionsView {
+public interface EntityOptions extends AbstractOptions {
 
-    void addOptionTab(View view);
+    public void addOptionTab(View tab);
 
-    void show();
+    public View getView();
 
+    public void hideMessages();
+
+    public void setErrorMessage(String message, SiteErrorType type);
+
+    public 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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -6,14 +6,11 @@
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
 import org.ourproject.kune.platf.client.services.Images;
 import org.ourproject.kune.platf.client.ui.IconLabel;
-import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
 import org.ourproject.kune.workspace.client.entityheader.EntityHeader;
 
-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.Widget;
-import com.gwtext.client.widgets.Panel;
 
 public class EntityOptionsPanel extends AbstractOptionsPanel implements EntityOptionsView {
 
@@ -22,9 +19,9 @@
             super(text, icon, false);
         }
     }
-    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";
+    public static final String ENTITY_OP_PANEL_ID = "k-eop-diag";
+    public static final String GROUP_OPTIONS_ERROR_ID = "k-eop-err-mess";
+    public static final String GROUP_OPTIONS_ICON = "k-eop-icon";
     private final I18nTranslationService i18n;
     private final EntityHeader entityHeader;
     private EntityOptionPushButton optionsButton;
@@ -32,9 +29,9 @@
 
     private final EntityOptionsGroup entityPreferencesGroup;
 
-    public EntityOptionsPanel(final EntityOptionsPresenter presenter, final EntityHeader entityHeader,
+    public EntityOptionsPanel(final EntityOptions presenter, final EntityHeader entityHeader,
             I18nTranslationService i18n, Images images, EntityOptionsGroup entityOptionsGroup) {
-        super("", 400, 250, 400, 250, images, GROUP_OPTIONS_ID, GROUP_OPTIONS_ERROR_ID);
+        super(ENTITY_OP_PANEL_ID, "", 400, 250, 400, 250, images, GROUP_OPTIONS_ERROR_ID);
         this.entityHeader = entityHeader;
         this.i18n = i18n;
         this.images = images;
@@ -43,21 +40,10 @@
         createOptionsButton();
     }
 
-    public void addOptionTab(View view) {
-        if (view instanceof Panel) {
-            super.addTab((Panel) view);
-        } else if (view instanceof DefaultForm) {
-            super.addTab(((DefaultForm) view).getForm());
-        } else {
-            Log.error("Programatic error: Unexpected element added to GroupOptions");
-        }
-        doLayoutIfNeeded();
-    }
-
+    @Override
     public void createAndShow() {
         entityPreferencesGroup.createAll();
-        show();
-        setFirstTabActive();
+        super.createAndShow();
     }
 
     public void setButtonVisible(boolean visible) {

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -1,15 +1,13 @@
 package org.ourproject.kune.workspace.client.options;
 
-import org.ourproject.kune.platf.client.View;
 import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
 import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
 
 import com.calclab.suco.client.listener.Listener;
 
-public class EntityOptionsPresenter implements EntityOptions {
+public class EntityOptionsPresenter extends AbstractOptionsPresenter implements EntityOptions {
 
-    private EntityOptionsView view;
+    EntityOptionsView view;
 
     public EntityOptionsPresenter(StateManager stateManager) {
         stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
@@ -29,27 +27,8 @@
         });
     }
 
-    public void addOptionTab(View tab) {
-        view.addOptionTab(tab);
-    }
-
-    public View getView() {
-        return view;
-    }
-
-    public void hideMessages() {
-        view.hideMessages();
-    }
-
     public void init(EntityOptionsView view) {
+        super.init(view);
         this.view = view;
     }
-
-    public void setErrorMessage(String message, SiteErrorType type) {
-        view.setErrorMessage(message, type);
-    }
-
-    public void show() {
-        view.createAndShow();
-    }
 }

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -4,12 +4,6 @@
 
 public interface EntityOptionsView extends View, AbstractOptionsView {
 
-    void addOptionTab(View tab);
-
-    void createAndShow();
-
-    void hide();
-
     void setButtonVisible(boolean visible);
 
     void setGroupTitle();

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -27,7 +27,7 @@
         super.setAutoWidth(true);
         super.setAutoHeight(true);
         super.add(new Hidden());
-        super.getForm().setLabelWidth(20);
+        super.getFormPanel().setLabelWidth(20);
         this.presenter = presenter;
         fields = new HashMap<String, Checkbox>();
     }
@@ -46,7 +46,7 @@
     }
 
     public void clear() {
-        super.getForm().removeAll(true);
+        super.getFormPanel().removeAll(true);
         fields.clear();
         Label label = new Label();
         label.setHtml(i18n.t("Here you can select the tools used:") + "<br/><br/>");
@@ -78,8 +78,8 @@
     }
 
     private void doLayoutIfNeeded() {
-        if (super.getForm().isRendered()) {
-            super.getForm().doLayout();
+        if (super.getFormPanel().isRendered()) {
+            super.getFormPanel().doLayout();
         }
     }
 

Added: trunk/src/main/java/org/ourproject/kune/workspace/client/search/AbstractLiveSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/AbstractLiveSearcherPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/AbstractLiveSearcherPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -0,0 +1,95 @@
+package org.ourproject.kune.workspace.client.search;
+
+import org.ourproject.kune.platf.client.dto.LinkDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+
+import com.calclab.suco.client.listener.Listener;
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.DeferredCommand;
+import com.gwtext.client.core.Connection;
+import com.gwtext.client.core.Template;
+import com.gwtext.client.core.UrlParam;
+import com.gwtext.client.data.DataProxy;
+import com.gwtext.client.data.FieldDef;
+import com.gwtext.client.data.HttpProxy;
+import com.gwtext.client.data.JsonReader;
+import com.gwtext.client.data.Record;
+import com.gwtext.client.data.RecordDef;
+import com.gwtext.client.data.Store;
+import com.gwtext.client.data.StringFieldDef;
+import com.gwtext.client.widgets.form.ComboBox;
+import com.gwtext.client.widgets.form.FormPanel;
+import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
+
+public class AbstractLiveSearcherPanel extends FormPanel {
+
+    protected static final String TEMPLATE_TEXT_PREFIX = "<div class=\"search-item\"><span class=\"kune-IconHyperlink\"><img src=\"";
+    protected static final String TEMPLATE_TEXT_SUFFIX = "\" style=\"height: 16px; width: 16px;\" />{shortName}:&nbsp;{longName}</span></div>";
+
+    private static final String LONG_NAME_FIELD = "longName";
+    private static final String SHORT_NAME_FIELD = "shortName";
+    private static final String ICON_URL_FIELD = "iconUrl";
+    private static final String LINK_FIELD = "link";
+
+    public static final int PAGINATION_SIZE = 10;
+
+    public AbstractLiveSearcherPanel(I18nTranslationService i18n, String templateText, String dataProxyUrl,
+            final Listener<LinkDTO> listener) {
+        DataProxy dataProxy = new HttpProxy(dataProxyUrl, Connection.POST);
+
+        final JsonReader reader = new JsonReader(new RecordDef(
+                new FieldDef[] { new StringFieldDef(SHORT_NAME_FIELD), new StringFieldDef(LONG_NAME_FIELD),
+                        new StringFieldDef(LINK_FIELD), new StringFieldDef(ICON_URL_FIELD) }));
+        reader.setRoot("list");
+        reader.setTotalProperty("size");
+        reader.setId(SHORT_NAME_FIELD);
+
+        final Store store = new Store(dataProxy, reader);
+
+        store.load(new UrlParam[] { new UrlParam("query", "."), new UrlParam("first", 1),
+                new UrlParam("max", PAGINATION_SIZE) });
+
+        super.setBorder(false);
+        super.setWidth(275);
+        super.setHideLabels(true);
+
+        final Template resultTpl = new Template(templateText);
+        final ComboBox cb = new ComboBox();
+        cb.setStore(store);
+        cb.setEmptyText(i18n.t("Write here to search"));
+        cb.setDisplayField(LONG_NAME_FIELD);
+        cb.setTypeAhead(true);
+        cb.setLoadingText(i18n.t("Searching..."));
+        cb.setWidth(268);
+        cb.setPageSize(PAGINATION_SIZE);
+        cb.setTpl(resultTpl);
+        cb.setMode(ComboBox.REMOTE);
+        cb.setMinChars(2);
+        cb.setSelectOnFocus(false);
+        cb.setHideTrigger(true);
+        cb.setHideLabel(true);
+        // setTitle(i18n.t("User or group"));
+        cb.setItemSelector("div.search-item");
+
+        cb.addListener(new ComboBoxListenerAdapter() {
+            @Override
+            public void onSelect(final ComboBox comboBox, final Record record, final int index) {
+                DeferredCommand.addCommand(new Command() {
+                    public void execute() {
+                        final LinkDTO link = new LinkDTO(record.getAsString(SHORT_NAME_FIELD),
+                                record.getAsString(LONG_NAME_FIELD), record.getAsString(ICON_URL_FIELD),
+                                record.getAsString(LINK_FIELD));
+                        listener.onEvent(link);
+                    }
+                });
+            }
+        });
+
+        super.add(cb);
+    }
+
+    public void reset() {
+        super.getForm().reset();
+    }
+
+}

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/EntityLiveSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/EntityLiveSearcherPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/EntityLiveSearcherPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -20,44 +20,29 @@
 package org.ourproject.kune.workspace.client.search;
 
 import org.ourproject.kune.platf.client.dto.LinkDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
 import org.ourproject.kune.platf.client.ui.dialogs.BasicDialog;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
 
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.DeferredCommand;
-import com.gwtext.client.core.Connection;
-import com.gwtext.client.core.Template;
-import com.gwtext.client.core.UrlParam;
-import com.gwtext.client.data.DataProxy;
-import com.gwtext.client.data.FieldDef;
-import com.gwtext.client.data.HttpProxy;
-import com.gwtext.client.data.JsonReader;
-import com.gwtext.client.data.Record;
-import com.gwtext.client.data.RecordDef;
-import com.gwtext.client.data.Store;
-import com.gwtext.client.data.StringFieldDef;
-import com.gwtext.client.widgets.form.ComboBox;
-import com.gwtext.client.widgets.form.FormPanel;
-import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
+import com.calclab.suco.client.listener.Listener;
 
 public class EntityLiveSearcherPanel implements EntityLiveSearcherView {
 
-    private static final String LONG_NAME_FIELD = "longName";
-    private static final String SHORT_NAME_FIELD = "shortName";
-    private static final String ICON_URL_FIELD = "iconUrl";
-    private static final String LINK_FIELD = "link";
-    private static final int PAGINATION_SIZE = 10;
+    public static final String ENT_LIVE_SEARCH_DIALOG = "k-elivesp-dialog";
     private final EntityLiveSearcherPresenter presenter;
     private BasicDialog dialog;
     private final EntityLiveSearcherType searchType;
-    private FormPanel searchForm;
     private final I18nTranslationService i18n;
+    private AbstractLiveSearcherPanel liveSearcher;
+    private final FileDownloadUtils downloadUtils;
 
     public EntityLiveSearcherPanel(final EntityLiveSearcherPresenter presenter,
-            final EntityLiveSearcherType searchType, final I18nTranslationService i18n) {
+            final EntityLiveSearcherType searchType, final I18nTranslationService i18n, FileDownloadUtils downloadUtils) {
         this.presenter = presenter;
         this.searchType = searchType;
         this.i18n = i18n;
+        this.downloadUtils = downloadUtils;
     }
 
     public void center() {
@@ -66,7 +51,7 @@
 
     public void hide() {
         dialog.hide();
-        searchForm.getForm().reset();
+        liveSearcher.reset();
     }
 
     public void show() {
@@ -84,73 +69,32 @@
         } else {
             title = i18n.t("Search existing users");
         }
-        dialog = new BasicDialog(title, true, false, 285, 55);
+        dialog = new BasicDialog(ENT_LIVE_SEARCH_DIALOG, title, true, false, 285, 55);
         dialog.setClosable(true);
         dialog.setCollapsible(false);
 
-        DataProxy dataProxy = null;
+        String dataProxyUrl = "";
         switch (searchType) {
         case groups:
-            dataProxy = new HttpProxy("/kune/json/GroupJSONService/search", Connection.POST);
+            dataProxyUrl = "/kune/json/GroupJSONService/search";
             break;
         case users:
-            dataProxy = new HttpProxy("/kune/json/UserJSONService/search", Connection.POST);
+            dataProxyUrl = "/kune/json/UserJSONService/search";
             break;
         default:
             break;
         }
 
-        final JsonReader reader = new JsonReader(new RecordDef(
-                new FieldDef[] { new StringFieldDef(SHORT_NAME_FIELD), new StringFieldDef(LONG_NAME_FIELD),
-                        new StringFieldDef(LINK_FIELD), new StringFieldDef(ICON_URL_FIELD) }));
-        reader.setRoot("list");
-        reader.setTotalProperty("size");
-        reader.setId(SHORT_NAME_FIELD);
+        String templateText = AbstractLiveSearcherPanel.TEMPLATE_TEXT_PREFIX
+                + downloadUtils.getLogoImageUrl(new StateToken("{shortName}"))
+                + AbstractLiveSearcherPanel.TEMPLATE_TEXT_SUFFIX;
 
-        final Store store = new Store(dataProxy, reader);
-
-        store.load(new UrlParam[] { new UrlParam("query", "."), new UrlParam("first", 1),
-                new UrlParam("max", PAGINATION_SIZE) });
-
-        searchForm = new FormPanel();
-        searchForm.setBorder(false);
-        searchForm.setWidth(275);
-        searchForm.setHideLabels(true);
-
-        final Template resultTpl = new Template(
-                "<div class=\"search-item\"><span class=\"kune-IconHyperlink\"><img alt=\"group logo\" src=\"images/group-def-icon.png\" style=\"height: 16px; width: 16px;\" />{shortName}:&nbsp;{longName}</span></div>");
-        final ComboBox cb = new ComboBox();
-        cb.setStore(store);
-        cb.setEmptyText(i18n.t("Write here to search"));
-        cb.setDisplayField(LONG_NAME_FIELD);
-        cb.setTypeAhead(true);
-        cb.setLoadingText(i18n.t("Searching..."));
-        cb.setWidth(268);
-        cb.setPageSize(PAGINATION_SIZE);
-        cb.setTpl(resultTpl);
-        cb.setMode(ComboBox.REMOTE);
-        cb.setMinChars(2);
-        cb.setSelectOnFocus(false);
-        cb.setHideTrigger(true);
-        cb.setHideLabel(true);
-        // setTitle(i18n.t("User or group"));
-        cb.setItemSelector("div.search-item");
-
-        cb.addListener(new ComboBoxListenerAdapter() {
-            @Override
-            public void onSelect(final ComboBox comboBox, final Record record, final int index) {
-                DeferredCommand.addCommand(new Command() {
-                    public void execute() {
-                        final LinkDTO link = new LinkDTO(record.getAsString(SHORT_NAME_FIELD),
-                                record.getAsString(LONG_NAME_FIELD), record.getAsString(ICON_URL_FIELD),
-                                record.getAsString(LINK_FIELD));
-                        presenter.onSelection(link);
-                    }
-                });
+        liveSearcher = new AbstractLiveSearcherPanel(i18n, templateText, dataProxyUrl, new Listener<LinkDTO>() {
+            public void onEvent(LinkDTO link) {
+                presenter.onSelection(link);
             }
         });
 
-        searchForm.add(cb);
-        dialog.add(searchForm);
+        dialog.add(liveSearcher);
     }
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/GroupLiveSearchPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/GroupLiveSearchPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/GroupLiveSearchPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -20,11 +20,13 @@
 package org.ourproject.kune.workspace.client.search;
 
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
 
 public class GroupLiveSearchPanel extends EntityLiveSearcherPanel {
 
-    public GroupLiveSearchPanel(final EntityLiveSearcherPresenter presenter, final I18nTranslationService i18n) {
-        super(presenter, EntityLiveSearcherType.groups, i18n);
+    public GroupLiveSearchPanel(final EntityLiveSearcherPresenter presenter, final I18nTranslationService i18n,
+            FileDownloadUtils downloadUtils) {
+        super(presenter, EntityLiveSearcherType.groups, i18n, downloadUtils);
     }
 
 }
\ No newline at end of file

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/SiteSearcherPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -54,7 +54,7 @@
 
 public class SiteSearcherPanel extends AbstractSearcherPanel implements SiteSearcherView {
 
-    private static final String SITE_SEARCHER_DIALOG = "k-site-searcher-dialog";
+    public static final String SITE_SEARCHER_DIALOG = "k-site-searcher-dialog";
     private final Window dialog;
     private final SiteSearcherPresenter presenter;
     private Store groupStore;
@@ -104,8 +104,8 @@
         dialog.expand();
         dialog.center();
         if (traybarButton == null) {
-            traybarButton = new SiteBottomTrayButton("images/kune-search-ico-push.gif", i18n.t("Show/hide search engine"),
-                    dialog, ws);
+            traybarButton = new SiteBottomTrayButton("images/kune-search-ico-push.gif",
+                    i18n.t("Show/hide search engine"), dialog, ws);
         }
     }
 
@@ -120,7 +120,7 @@
         centerPanel.setClosable(false);
         centerPanel.setBorder(false);
 
-        final BasicDialog dialog = new BasicDialog(i18n.t("Search"), false, false, 500, 400);
+        final BasicDialog dialog = new BasicDialog(SITE_SEARCHER_DIALOG, i18n.t("Search"), false, false, 500, 400);
         // dialog.setResizable(false);
         dialog.setIconCls("search-icon");
         final Button closeButton = new Button(i18n.tWithNT("Close", "used in button"));
@@ -167,7 +167,6 @@
         centerPanel.setActiveItemID(panelId);
 
         dialog.setCloseAction(Window.HIDE);
-        dialog.ensureDebugId(SITE_SEARCHER_DIALOG);
 
         return dialog;
     }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/search/UserLiveSearcherPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/search/UserLiveSearcherPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/search/UserLiveSearcherPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -20,11 +20,13 @@
 package org.ourproject.kune.workspace.client.search;
 
 import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
 
 public class UserLiveSearcherPanel extends EntityLiveSearcherPanel {
 
-    public UserLiveSearcherPanel(final EntityLiveSearcherPresenter presenter, final I18nTranslationService i18n) {
-        super(presenter, EntityLiveSearcherType.users, i18n);
+    public UserLiveSearcherPanel(final EntityLiveSearcherPresenter presenter, final I18nTranslationService i18n,
+            FileDownloadUtils downloadUtils) {
+        super(presenter, EntityLiveSearcherType.users, i18n, downloadUtils);
     }
 
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -10,7 +10,9 @@
 import com.calclab.suco.client.listener.Listener0;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.DeferredCommand;
+import com.gwtext.client.widgets.Component;
 import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.event.WindowListenerAdapter;
 
 public class RegisterPanel extends SignInAbstractPanel implements RegisterView {
 
@@ -21,13 +23,13 @@
     public static final String CANCEL_BUTTON_ID = "k-regp-cb";
     public static final String REGISTER_BUTTON_ID = "k-regp-rb";
     public static final String REGISTER_FORM = "k-regp-p";
-
     public static final String WELCOME_OK_BUTTON = "k-regp-okbt";
     public static final String WELCOME_DIALOG = "k-regp-wdiag";
+    public static final String REGISTER_DIALOG = "k-regp-dialog";
 
     public RegisterPanel(final RegisterPresenter presenter, I18nUITranslationService i18n, final WorkspaceSkeleton ws,
             Session session, Images images) {
-        super(i18n, i18n.t(PlatfMessages.REGISTER_TITLE), true, true, 390, 450, "",
+        super(REGISTER_DIALOG, i18n, i18n.t(PlatfMessages.REGISTER_TITLE), true, true, 390, 450, "",
                 i18n.t(PlatfMessages.REGISTER_TITLE), REGISTER_BUTTON_ID, i18n.tWithNT("Cancel", "used in button"),
                 CANCEL_BUTTON_ID, new Listener0() {
                     public void onEvent() {
@@ -41,12 +43,18 @@
                         presenter.onCancel();
                     }
                 }, images, ERRMSG, 11);
+        super.addListener(new WindowListenerAdapter() {
+            @Override
+            public void onHide(Component component) {
+                presenter.onClose();
+            }
+        });
 
         Panel panel = new Panel();
         panel.setBorder(false);
         registerForm = new RegisterForm(i18n, session);
         registerForm.setWidth(360);
-        panel.add(registerForm.getForm());
+        panel.add(registerForm.getFormPanel());
         add(panel);
         panel.setId(REGISTER_FORM);
     }
@@ -96,21 +104,19 @@
     }
 
     public void showWelcolmeDialog() {
-        InfoDialog welcomeDialog = new InfoDialog(i18n.t("Welcome"), i18n.t("Thanks for registering"),
+        InfoDialog welcomeDialog = new InfoDialog(WELCOME_DIALOG, i18n.t("Welcome"), i18n.t("Thanks for registering"),
                 i18n.t("Now you can participate more actively in this site with other people and groups. "
                         + "You can also use your personal space to publish contents. "
                         + "Your email is not verified, please follow the instructions you will receive by email."),
                 i18n.t("Ok"), WELCOME_OK_BUTTON, true, true, 380, 210);
-        welcomeDialog.setId(WELCOME_DIALOG);
         welcomeDialog.show();
     }
 
     public void showWelcolmeDialogNoHomepage() {
-        InfoDialog welcomeDialog = new InfoDialog(i18n.t("Welcome"), i18n.t("Thanks for registering"),
+        InfoDialog welcomeDialog = new InfoDialog(WELCOME_DIALOG, i18n.t("Welcome"), i18n.t("Thanks for registering"),
                 i18n.t("Now you can participate more actively in this site with other people and groups. "
                         + "Your email is not verified, please follow the instructions you will receive by email."),
                 i18n.t("Ok"), WELCOME_OK_BUTTON, true, true, 380, 210);
-        welcomeDialog.setId(WELCOME_DIALOG);
         welcomeDialog.show();
     }
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInAbstractPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -20,22 +20,22 @@
     protected final I18nUITranslationService i18n;
     private final MessageToolbar messageErrorBar;
 
-    public SignInAbstractPanel(I18nUITranslationService i18n, String title, boolean modal, boolean autoscroll,
-            int width, int heigth, String icon, String firstButtonTitle, String cancelButtonTitle,
+    public SignInAbstractPanel(String dialogId, I18nUITranslationService i18n, String title, boolean modal,
+            boolean autoscroll, int width, int heigth, String icon, String firstButtonTitle, String cancelButtonTitle,
             Listener0 onFirstButtonClick, Listener0 onCancelButtonClick, Images images, String errorLabelId,
             int tabIndexStart) {
-        this(i18n, title, modal, autoscroll, width, heigth, icon, firstButtonTitle, Ext.generateId(),
+        this(dialogId, i18n, title, modal, autoscroll, width, heigth, icon, firstButtonTitle, Ext.generateId(),
                 cancelButtonTitle, Ext.generateId(), onFirstButtonClick, onCancelButtonClick, images, errorLabelId,
                 tabIndexStart);
     }
 
-    public SignInAbstractPanel(I18nUITranslationService i18n, final String title, final boolean modal,
+    public SignInAbstractPanel(String dialogId, I18nUITranslationService i18n, final String title, final boolean modal,
             final boolean autoscroll, final int width, final int heigth, final String icon,
             final String firstButtonTitle, final String firstButtonId, final String cancelButtonTitle,
             final String cancelButtonId, final Listener0 onFirstButtonClick, final Listener0 onCancelButtonClick,
             Images images, String errorLabelId, int tabIndexStart) {
-        super(title, modal, autoscroll, width, heigth, icon, firstButtonTitle, firstButtonId, cancelButtonTitle,
-                cancelButtonId, onFirstButtonClick, onCancelButtonClick, tabIndexStart);
+        super(dialogId, title, modal, autoscroll, width, heigth, icon, firstButtonTitle, firstButtonId,
+                cancelButtonTitle, cancelButtonId, onFirstButtonClick, onCancelButtonClick, tabIndexStart);
         this.i18n = i18n;
 
         messageErrorBar = new MessageToolbar(images, errorLabelId);

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-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -20,13 +20,15 @@
     public static final String CANCEL_BUTTON_ID = "k-signinp-cb";
     public static final String SIGN_IN_BUTTON_ID = "k-signinp-sib";
     public static final String CREATE_ONE = "k-signinp-create";
+    public static final String SIGNIN_DIALOG = "k-signinp-dialog";
     static SignInForm signInForm;
     private final SignInPresenter presenter;
 
     public SignInPanel(final SignInPresenter presenter, I18nUITranslationService i18n, final WorkspaceSkeleton ws,
             Images images) {
-        super(i18n, i18n.t(PlatfMessages.SIGN_IN_TITLE), true, true, 340, 240, "", i18n.t(PlatfMessages.SIGN_IN_TITLE),
-                SIGN_IN_BUTTON_ID, i18n.tWithNT("Cancel", "used in button"), CANCEL_BUTTON_ID, new Listener0() {
+        super(SIGNIN_DIALOG, i18n, i18n.t(PlatfMessages.SIGN_IN_TITLE), true, true, 340, 240, "",
+                i18n.t(PlatfMessages.SIGN_IN_TITLE), SIGN_IN_BUTTON_ID, i18n.tWithNT("Cancel", "used in button"),
+                CANCEL_BUTTON_ID, new Listener0() {
                     public void onEvent() {
                         signInForm.validate();
                         if (signInForm.isValid()) {
@@ -56,7 +58,7 @@
         panel.setBorder(false);
         signInForm = new SignInForm(presenter, i18n);
         signInForm.setWidth(310);
-        panel.add(signInForm.getForm());
+        panel.add(signInForm.getFormPanel());
         panel.add(createNoAccountRegister());
         add(panel);
     }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitepublic/SitePublicSpaceLinkPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitepublic/SitePublicSpaceLinkPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitepublic/SitePublicSpaceLinkPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -43,7 +43,7 @@
     public SitePublicSpaceLinkPanel(final SitePublicSpaceLinkPresenter presenter, final WorkspaceSkeleton ws,
             final I18nUITranslationService i18n, final Images img) {
         publicHP = new HorizontalPanel();
-        gotoPublic = new IconLabel(img.anybody(), i18n.t("Go to Public Space"), false);
+        gotoPublic = new IconLabel(img.anybody(), i18n.t("Public Space"), false);
         gotoPublic.ensureDebugId(SITE_GOTO_PUBLIC);
         contentNoPublic = new IconLabel(img.anybody(), i18n.t("This content is not public"));
         contentNoPublic.ensureDebugId(SITE_CONTENT_NO_PUBLIC);
@@ -60,8 +60,7 @@
                 gotoPublic();
             }
         });
-        gotoPublic.setTitle(i18n.t("Leave the workspace and go to this group public space")
-                + Site.IN_DEVELOPMENT);
+        gotoPublic.setTitle(i18n.t("Leave the workspace and go to this group public space") + Site.IN_DEVELOPMENT);
         gotoPublic.addStyleName("k-sitebar-labellink");
         contentNoPublic.addStyleName("k-sitebar-labellink");
     }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -19,7 +19,6 @@
  */package org.ourproject.kune.workspace.client.sitebar.sitesearch;
 
 import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
 import org.ourproject.kune.workspace.client.site.Site;
 import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
@@ -40,15 +39,11 @@
 
     private final PushButton searchButton;
     private final TextBox searchTextBox;
-    private final I18nUITranslationService i18n;
     private final SimpleToolbar siteBar;
 
-    public SiteSearchPanel(final SiteSearchPresenter presenter, final WorkspaceSkeleton ws,
-            final I18nUITranslationService i18n, Images img) {
-        this.i18n = i18n;
+    public SiteSearchPanel(final SiteSearchPresenter presenter, final WorkspaceSkeleton ws, Images img) {
         siteBar = ws.getSiteBar();
         siteBar.addSpacer();
-        siteBar.addSpacer();
         searchButton = new PushButton(img.kuneSearchIco().createImage(), img.kuneSearchIcoPush().createImage());
         searchButton.ensureDebugId(SITE_SEARCH_BUTTON);
         searchTextBox = new TextBox();
@@ -57,10 +52,8 @@
         siteBar.add(searchButton);
         siteBar.addSpacer();
         siteBar.add(searchTextBox);
-        siteBar.addSpacer();
 
         setTextSearchSmall();
-        setDefaultTextSearch();
         searchTextBox.addFocusListener(new FocusListener() {
             public void onFocus(final Widget arg0) {
                 presenter.onSearchFocus();
@@ -104,11 +97,11 @@
         searchTextBox.selectAll();
     }
 
-    public void setDefaultTextSearch() {
-        searchTextBox.setText(i18n.t("Search"));
+    public void setSearchText(final String text) {
+        searchTextBox.setText(text);
     }
 
-    public void setSearchText(final String text) {
+    public void setTextSearch(String text) {
         searchTextBox.setText(text);
     }
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchPresenter.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -19,6 +19,7 @@
  */package org.ourproject.kune.workspace.client.sitebar.sitesearch;
 
 import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
 import org.ourproject.kune.workspace.client.search.SiteSearcher;
 
 import com.calclab.suco.client.ioc.Provider;
@@ -27,9 +28,11 @@
 
     private SiteSearchView view;
     private final Provider<SiteSearcher> provider;
+    private final String defaultSearchText;
 
-    public SiteSearchPresenter(final Provider<SiteSearcher> provider) {
+    public SiteSearchPresenter(final Provider<SiteSearcher> provider, I18nTranslationService i18n) {
         this.provider = provider;
+        defaultSearchText = i18n.t("Search");
     }
 
     public void doSearch(final String termToSearch) {
@@ -43,6 +46,7 @@
 
     public void init(final SiteSearchView view) {
         this.view = view;
+        setDefText();
     }
 
     public void onSearchFocus() {
@@ -51,10 +55,15 @@
     }
 
     public void onSearchLostFocus(final String search) {
-        if (search.length() == 0) {
-            view.setDefaultTextSearch();
+        if (search.length() == 0 || search.equals(defaultSearchText)) {
             view.setTextSearchSmall();
         }
+        if (search.length() == 0) {
+            setDefText();
+        }
     }
 
+    private void setDefText() {
+        view.setTextSearch(defaultSearchText);
+    }
 }

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/sitesearch/SiteSearchView.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -26,7 +26,7 @@
 
     void selectSearchText();
 
-    void setDefaultTextSearch();
+    void setTextSearch(String text);
 
     void setTextSearchBig();
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPanel.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPanel.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -22,6 +22,7 @@
 import org.ourproject.kune.platf.client.dto.GroupDTO;
 import org.ourproject.kune.platf.client.ui.MenuItemCollection;
 import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
+import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
 import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
 
 import com.google.gwt.user.client.ui.ClickListener;
@@ -50,8 +51,9 @@
         loggedUserMenu = new PushButton("");
         loggedUserMenu.ensureDebugId(LOGGED_USER_MENU);
         loggedUserMenu.setStyleName("k-sitebar-labellink");
-        ws.getSiteBar().add(loggedUserMenu);
-        separator = ws.getSiteBar().addSeparator();
+        SimpleToolbar siteBar = ws.getSiteBar();
+        siteBar.add(loggedUserMenu);
+        separator = siteBar.addSeparator();
         userMenu = new Menu();
         loggedUserMenu.addClickListener(new ClickListener() {
             public void onClick(final Widget sender) {

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/EntityWorkspace.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -72,14 +72,14 @@
         bottomPanel.setLayout(new AnchorLayout());
 
         title = new SimpleToolbar();
-        title.setHeight(WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT - 2);
+        title.setHeight("" + (WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT - 2));
         title.setStylePrimaryName(ENTITY_TITLE);
         // title.ensureDebugId(ENTITY_TITLE);
         subTitle = new SimpleToolbar();
         subTitle.setStylePrimaryName(ENTITY_SUBTITLE);
         // subTitle.ensureDebugId(ENTITY_SUBTITLE);
         bottom = new SimpleToolbar();
-        bottom.setHeight(WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT - 2);
+        bottom.setHeight("" + (WorkspaceSkeleton.DEF_TOOLBAR_HEIGHT - 2));
         bottom.setStylePrimaryName(ENTITY_BOTTOM);
         bottom.ensureDebugId(ENTITY_BOTTOM);
 

Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SimpleToolbar.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -88,8 +88,9 @@
         addStyleName("k-blank-toolbar");
     }
 
-    public void setHeight(int height) {
-        mainPanel.setHeight("" + height);
-        mainPanel.setCellHeight(childPanel, "" + height);
+    @Override
+    public void setHeight(String height) {
+        mainPanel.setHeight(height);
+        mainPanel.setCellHeight(childPanel, height);
     }
 }
\ No newline at end of file

Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -181,8 +181,8 @@
     protected void signInAndNewGroup() throws Exception {
         openDefPage();
         signIn();
+        verifyLoggedUserShorName("admin");
         open(SiteToken.newgroup);
-        verifyLoggedUserShorName("admin");
         waitForTextInside(NewGroupPanel.NEWGROUP_WIZARD, WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE);
     }
 

Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/site/UserServiceTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/site/UserServiceTest.java	2008-12-13 23:24:02 UTC (rev 993)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/site/UserServiceTest.java	2008-12-15 00:59:28 UTC (rev 994)
@@ -59,8 +59,8 @@
     @Test(expected = GroupNameInUseException.class)
     public void createUserExistingNameFails() throws Exception {
         assertNull(session.getUser().getId());
-        final UserDTO user = new UserDTO("test", properties.getAdminShortName(), "123456", "example at example.com", lang,
-                country, timezone, null, true, SubscriptionMode.manual, "blue");
+        final UserDTO user = new UserDTO("test", properties.getAdminShortName(), "123456", "example1234 at example.com",
+                lang, country, timezone, null, true, SubscriptionMode.manual, "blue");
         userService.createUser(user, false);
     }
 




More information about the kune-commits mailing list