r1134 - in trunk: . img script src/main/java/org/ourproject/kune/app/public/css src/main/java/org/ourproject/kune/blogs/client src/main/java/org/ourproject/kune/docs/client src/main/java/org/ourproject/kune/gallery/client src/main/java/org/ourproject/kune/platf/client/actions/toolbar src/main/java/org/ourproject/kune/platf/client/actions/ui src/main/java/org/ourproject/kune/platf/client/dto src/main/java/org/ourproject/kune/platf/client/rpc src/main/java/org/ourproject/kune/platf/client/state
Author: vjrj Date: 2009-07-13 13:36:33 +0200 (Mon, 13 Jul 2009) New Revision: 1134 Added: trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsBackManager.java trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsBackManagerImpl.java Modified: trunk/TODO trunk/img/icons-base.svg trunk/img/ui-drafts.svg trunk/script/css-compact-and-tidy.sh 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/blogs/client/BlogClientActions.java trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ComplexToolbar.java trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractToolbar.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/FlowToolbar.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/SimpleToolbar.java trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java trunk/src/main/java/org/ourproject/kune/platf/public/images/arrowdown.png trunk/src/main/java/org/ourproject/kune/platf/public/images/kune-search-ico.png trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConf.java trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfView.java trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/GroupOptionsPublicSpaceConfPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/UserOptionsPublicSpaceConfPresenter.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsThemeManager.java Log: Complete - task Group background image (styling) Modified: trunk/TODO =================================================================== --- trunk/TODO 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/TODO 2009-07-13 11:36:33 UTC (rev 1134) @@ -11,6 +11,8 @@ Use org-mode in emacs to easy manage this file * SHORT-TERM (URGENT) +** Do something with jetty/jruby alias issue + http://jetty.mortbay.org/jetty5/faq/faq_s_400-Security_t_Aliases.html ** Use of webdriver instead of plain selenium http://code.google.com/p/webdriver/ ** New Action class @@ -103,6 +105,12 @@ - value :: red *** logos *** caching +*** backgrounds + A big one select from context + body { + background: #352726 url('http://some.jpg') fixed no-repeat top left; + } + ** danigb,vjrj URLs public/workspace braimstorming Nowadays: - ws: #group.tool.container.content Modified: trunk/img/icons-base.svg =================================================================== --- trunk/img/icons-base.svg 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/img/icons-base.svg 2009-07-13 11:36:33 UTC (rev 1134) @@ -27,17 +27,17 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="1.4119877" - inkscape:cx="342.50815" - inkscape:cy="727.92005" + inkscape:zoom="1.3545976" + inkscape:cx="372.04724" + inkscape:cy="526.18109" inkscape:document-units="px" inkscape:current-layer="layer1" - inkscape:window-width="1270" - inkscape:window-height="773" - inkscape:window-x="1280" - inkscape:window-y="25" + inkscape:window-width="1280" + inkscape:window-height="730" + inkscape:window-x="0" + inkscape:window-y="24" showgrid="false" - showguides="false" + showguides="true" inkscape:guide-bbox="true" inkscape:grid-points="true" inkscape:guide-points="true"> @@ -2463,93 +2463,6 @@ id="image10688" x="522" y="784.36218" /> - <g - inkscape:export-ydpi="90.000000" - inkscape:export-xdpi="90.000000" - inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-org-home-draft-0.5.png" - transform="translate(-156.9822,555.56514)" - id="g4822" - style="opacity:0.5;display:inline"> - <rect - ry="3.7996395" - rx="3.7996395" - y="8.8522816" - x="405.52979" - height="15.999997" - width="15.999997" - id="rect4824" - style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> - <g - id="g4826" - transform="matrix(1.635216,0,0,1.635216,-260.6467,-12.57016)"> - <path - id="path4828" - d="M 409.34583,20.876719 L 413.22395,17.041177" - style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.74907231;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.37500004;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> - <g - id="g4830"> - <path - sodipodi:type="arc" - style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - id="path4832" - sodipodi:cx="250.53525" - sodipodi:cy="332.62314" - sodipodi:rx="26.82268" - sodipodi:ry="26.82268" - d="M 277.35793 332.62314 A 26.82268 26.82268 0 1 1 223.71257,332.62314 A 26.82268 26.82268 0 1 1 277.35793 332.62314 z" - transform="matrix(0.102065,0,0,0.102065,387.7515,-17.05636)" /> - <path - sodipodi:type="arc" - style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:#dd8a3d;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" - id="path4834" - sodipodi:cx="250.53525" - sodipodi:cy="332.62314" - sodipodi:rx="26.82268" - sodipodi:ry="26.82268" - d="M 277.35793 332.62314 A 26.82268 26.82268 0 1 1 223.71257,332.62314 A 26.82268 26.82268 0 1 1 277.35793 332.62314 z" - transform="matrix(5.245387e-2,0,0,5.245387e-2,400.1808,-0.554549)" /> - </g> - </g> - </g> - <g - inkscape:export-ydpi="90" - inkscape:export-xdpi="90" - inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/icons/kune-search-ico-push.png" - id="g3316"> - <rect - ry="3.7996395" - rx="3.7996395" - y="564.36218" - x="311" - height="15.999997" - width="15.999997" - id="rect3279" - style="opacity:1;fill:#eec59e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> - <path - sodipodi:type="arc" - style="opacity:1;fill:#a02c2c;fill-opacity:1;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - id="path3287" - sodipodi:cx="250.53525" - sodipodi:cy="332.62314" - sodipodi:rx="26.82268" - sodipodi:ry="26.82268" - d="M 277.35793 332.62314 A 26.82268 26.82268 0 1 1 223.71257,332.62314 A 26.82268 26.82268 0 1 1 277.35793 332.62314 z" - transform="matrix(0.1668983,0,0,0.1668983,278.88098,515.04891)" /> - <path - style="opacity:1;color:#000000;fill:#800000;fill-opacity:1;fill-rule:nonzero;stroke:#a02c2c;stroke-width:2.860111;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.37500004;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" - d="M 314.19237,577.07768 L 320.53393,570.80575" - id="path3283" /> - <path - sodipodi:type="arc" - style="opacity:1;fill:#eec59e;fill-opacity:1;fill-rule:evenodd;stroke:#dd8a3d;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" - id="path3289" - sodipodi:cx="250.53525" - sodipodi:cy="332.62314" - sodipodi:rx="26.82268" - sodipodi:ry="26.82268" - d="M 277.35793 332.62314 A 26.82268 26.82268 0 1 1 223.71257,332.62314 A 26.82268 26.82268 0 1 1 277.35793 332.62314 z" - transform="matrix(8.5773407e-2,0,0,8.5773407e-2,299.20557,542.03293)" /> - </g> <rect style="opacity:1;color:#000000;fill:#592704;fill-opacity:1;fill-rule:evenodd;stroke-width:1.90017545;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" id="rect17021" @@ -4515,5 +4428,164 @@ width="14" id="rect2884" style="opacity:1;fill:#ffe6d5;fill-opacity:1;fill-rule:nonzero;stroke:#d45500;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <g + id="g3700" + inkscape:export-filename="//home/vjrj/proyectos/dev/kune/trunk/src/main/java/org/ourproject/kune/platf/public/images/arrowdown.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" + transform="translate(-2.7252744,2.5494502)"> + <path + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/icons/menu-arrow-down.png" + transform="translate(-1437.9102,-6.8473347)" + d="M 1563.0192,677.96995 L 1559.716,672.3151 L 1566.2648,672.28185 L 1563.0192,677.96995 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="true" + sodipodi:arg2="2.6129171" + sodipodi:arg1="1.5657195" + sodipodi:r2="0.90551758" + sodipodi:r1="3.7810335" + sodipodi:cy="674.18896" + sodipodi:cx="1563" + sodipodi:sides="3" + id="path2918" + style="fill:#9b9b9b;fill-opacity:1;fill-rule:evenodd;stroke:#2b0000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + sodipodi:type="star" /> + <rect + y="660.27856" + x="117.08018" + height="16" + width="16" + id="rect2920" + style="opacity:0.35;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + </g> + <g + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/icons/kune-search-ico-push.png" + id="g3316" + transform="translate(-11.754839,-13.799158)"> + <rect + ry="3.7996395" + rx="3.7996395" + y="564.36218" + x="311" + height="15.999997" + width="15.999997" + id="rect3279" + style="opacity:1;fill:#eec59e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:#a02c2c;fill-opacity:1;fill-rule:evenodd;stroke:#a02c2c;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path3287" + sodipodi:cx="250.53525" + sodipodi:cy="332.62314" + sodipodi:rx="26.82268" + sodipodi:ry="26.82268" + d="M 277.35793,332.62314 A 26.82268,26.82268 0 1 1 223.71257,332.62314 A 26.82268,26.82268 0 1 1 277.35793,332.62314 z" + transform="matrix(0.1668983,0,0,0.1668983,278.88098,515.04891)" /> + <path + style="opacity:1;fill:#800000;fill-opacity:1;fill-rule:nonzero;stroke:#a02c2c;stroke-width:2.860111;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.37500004;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" + d="M 314.19237,577.07768 L 320.53393,570.80575" + id="path3283" /> + <path + sodipodi:type="arc" + style="opacity:1;fill:#eec59e;fill-opacity:1;fill-rule:evenodd;stroke:#dd8a3d;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" + id="path3289" + sodipodi:cx="250.53525" + sodipodi:cy="332.62314" + sodipodi:rx="26.82268" + sodipodi:ry="26.82268" + d="M 277.35793,332.62314 A 26.82268,26.82268 0 1 1 223.71257,332.62314 A 26.82268,26.82268 0 1 1 277.35793,332.62314 z" + transform="matrix(8.5773407e-2,0,0,8.5773407e-2,299.20557,542.03293)" /> + </g> + <rect + ry="3.7996395" + rx="3.7996395" + y="552.33008" + x="272.48584" + height="15.999997" + width="15.999997" + id="rect3712" + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + inkscape:export-filename="//home/vjrj/proyectos/dev/kune/trunk/src/main/java/org/ourproject/kune/platf/public/images/kune-search-ico.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <g + inkscape:export-ydpi="90.000000" + inkscape:export-xdpi="90.000000" + inkscape:export-filename="//home/vjrj/proyectos/dev/kune/trunk/src/main/java/org/ourproject/kune/platf/public/images/kune-search-ico.png" + transform="translate(-133.04393,543.47778)" + id="g4822" + style="opacity:0.5;display:inline"> + <rect + ry="3.7996395" + rx="3.7996395" + y="8.8522816" + x="405.52979" + height="15.999997" + width="15.999997" + id="rect4824" + style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:12.63039398pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g4826" + transform="matrix(1.635216,0,0,1.635216,-260.6467,-12.57016)"> + <path + id="path4828" + d="M 409.34583,20.876719 L 413.22395,17.041177" + style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.74907231;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0.37500004;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /> + <g + id="g4830"> + <path + sodipodi:type="arc" + style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + id="path4832" + sodipodi:cx="250.53525" + sodipodi:cy="332.62314" + sodipodi:rx="26.82268" + sodipodi:ry="26.82268" + d="M 277.35793,332.62314 A 26.82268,26.82268 0 1 1 223.71257,332.62314 A 26.82268,26.82268 0 1 1 277.35793,332.62314 z" + transform="matrix(0.102065,0,0,0.102065,387.7515,-17.05636)" /> + <path + sodipodi:type="arc" + style="fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:#dd8a3d;stroke-width:1pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline" + id="path4834" + sodipodi:cx="250.53525" + sodipodi:cy="332.62314" + sodipodi:rx="26.82268" + sodipodi:ry="26.82268" + d="M 277.35793,332.62314 A 26.82268,26.82268 0 1 1 223.71257,332.62314 A 26.82268,26.82268 0 1 1 277.35793,332.62314 z" + transform="matrix(5.245387e-2,0,0,5.245387e-2,400.1808,-0.554549)" /> + </g> + </g> + </g> + <use + style="display:inline" + x="0" + y="0" + xlink:href="#g28384" + id="use28983" + transform="translate(-878.08802,-538.70921)" + width="2104.7244" + height="1488.189" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-org-members-draft-0.3.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90" /> + <use + style="display:inline" + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/kune-org-members-draft-0.3.png" + height="1488.189" + width="2104.7244" + transform="translate(-1042.2138,-568.35984)" + id="use14410" + xlink:href="#g28384" + y="0" + x="0" + inkscape:transform-center-x="-156.01159" + inkscape:transform-center-y="41.742437" /> </g> </svg> Modified: trunk/img/ui-drafts.svg =================================================================== --- trunk/img/ui-drafts.svg 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/img/ui-drafts.svg 2009-07-13 11:36:33 UTC (rev 1134) @@ -3,7 +3,7 @@ <svg xmlns:i="http://ns.adobe.com/AdobeIllustrator/10.0/" 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" @@ -14,7 +14,7 @@ height="1488.189" id="svg2" 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="ui-drafts.svg" version="1.0" @@ -27,7 +27,7 @@ pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" - inkscape:pageopacity="1" + inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:zoom="0.50128043" inkscape:cx="1052.3622" @@ -42,7 +42,6 @@ inkscape:object-paths="true" guidetolerance="3.9" showgrid="true" - gridempspacing="0" inkscape:window-width="1379" inkscape:window-height="936" inkscape:window-x="61" @@ -51,9 +50,31 @@ height="2104.7244px" inkscape:grid-bbox="false" inkscape:guide-bbox="true" - showguides="true" /> + showguides="true"> + <inkscape:grid + id="GridFromPre046Settings" + type="xygrid" + originx="0px" + originy="0px" + spacingx="1px" + spacingy="1px" + color="#0000ff" + empcolor="#0000ff" + opacity="0.2" + empopacity="0.4" + empspacing="0" + visible="true" + enabled="true" /> + </sodipodi:namedview> <defs id="defs4"> + <inkscape:perspective + sodipodi:type="inkscape:persp3d" + inkscape:vp_x="0 : 744.09448 : 1" + inkscape:vp_y="0 : 1000 : 0" + inkscape:vp_z="2104.7244 : 744.09448 : 1" + inkscape:persp3d-origin="1052.3622 : 496.06299 : 1" + id="perspective13699" /> <linearGradient inkscape:collect="always" xlink:href="#RSSg" @@ -25089,6 +25110,20 @@ sodipodi:role="line">from: <tspan id="tspan29289" style="fill:#803300">Luther Blissett</tspan></tspan></text> + <use + inkscape:export-ydpi="90" + inkscape:export-xdpi="90" + inkscape:export-filename="/home/vjrj/Imágenes/yellow-logo.png" + height="1488.189" + width="2104.7244" + transform="matrix(1.237931,0,0,1.237931,-857.42313,-63.496407)" + id="use14410" + xlink:href="#g28384" + y="0" + x="0" + inkscape:transform-center-x="-193.13157" + inkscape:transform-center-y="51.674258" + style="fill:#241c1c" /> </g> <g inkscape:label="orange-circles" Modified: trunk/script/css-compact-and-tidy.sh =================================================================== --- trunk/script/css-compact-and-tidy.sh 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/script/css-compact-and-tidy.sh 2009-07-13 11:36:33 UTC (rev 1134) @@ -62,3 +62,5 @@ tidy $DEST2 rm $EXTTMPFILE +rm $CATTMPFILE +rm $CSSTMPFILE 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 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2009-07-13 11:36:33 UTC (rev 1134) @@ -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;}.kune-Content-Main blockquote{border:1px dashed #DDD;padding:10px;}.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-popup{z-index:9999!important;background-color:#FFF;border:1px solid gray;}.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 *//* + 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-popup{z-index:9999!important;background-color:#FFF;border:1px solid gray;}.kune-WebSafePalette td{width:12px;height:10px;}.k-site-traybar{background:transparent 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;}.k-sitebar .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:1px;color:#B3B3B3;background:transparent;}.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:transparent;border-left-width:5px;border-bottom-color:transparent;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-content{background:#FFF;}.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; } -*/.x-tree-node .k-ctn-status-normal a span{}.x-tree-node .k-ctn-status-deleted a span{text-decoration:line-through;color:gray;}.x-tree-node .k-ctn-status-rejected a span{text-decoration:line-through;/* color: #FF6633; */color:#F30;}.x-tree-node .k-ctn-status-editing a span{font-style:italic;color:gray;}.x-tree-node .k-ctn-status-submitted a span{color:green;}.k-info-links{text-decoration:underline;color:gray;cursor:pointer;}.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:left;padding:3px;cursor:pointer;color:#00F;}.k-tsp-cloud{line-height:1.5em;text-align:center;}.k-link-icon{background-image:url(img/link.gif)!important;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.k-copyleft-icon{background-image:url(img/copyleft.png)!important;}.k-picture-icon{background-image:url(img/picture.png)!important;}.k-film-icon{background-image:url(img/film.png)!important;}.k-specialchars-icon{background-image:url(img/specialchars.png)!important;}.k-info-icon{background-image:url(img/info.gif)!important;}.k-newgroup-icon{background-image:url(img/kune-icon16.png)!important;}.k-colors-icon{background-image:url(img/colors.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;}/* duplicated in rte.css */.k-rte-comment{border:1px dashed silver;line-height:1.4;padding:1px;background-color:#D7FFD7;}.k-specialchar-grid{border:1px solid #ACA899;}.k-specialchar-grid table{}.k-specialchar-grid div{line-height:22px;}.k-specialchar-grid td{padding:1px;}.k-specialchar-pb{border:1px solid #EBE8D7;cursor:pointer;font-size:108%!important;text-align:center;vertical-align:middle;width:18px;height:18px;}.k-specialchar-pb-up{}.k-specialchar-big{padding:3px;line-height:22px;font-size:197%!important;}.k-specialchar-adv-label{margin-left:-10px;}.k-specialchar-popup,{border:1px px solid silver;z-index:9999!important;background-color:#FFF;}.k-specialchar-pb-down{color:#161616;}.k-specialchar-pb-up-hovering{border:thin solid #ACA899;}.k-specialchar-pb-down-hovering{color:#161616;}.k-preview-panel{border:dashed 1px gray;padding:5px;}.k-rte-changelink{white-space:nowrap;color:navy;cursor:pointer;text-decoration:underline;margin:5px;}.k-rte-changelink-popup{border:1px solid silver;z-index:9999!important;background-color:#ECECEC;}.e-ui-room{height:27px;line-height:22px;}.e-ui-room input{font-size:100%;margin-left:0;margin-top:0;}.k-def-popup{z-index:9999!important;background-color:#FFF;border:1px solid gray;}#k-mshortcut{position:absolute;right:10px;}#k-mshortcut-hidden{visibility:hidden;}#k-mshortcut a{text-decoration:none;color:#000;}.k-plain-iframe iframe{border:1px solid gray;} \ No newline at end of file +*/.x-tree-node .k-ctn-status-normal a span{}.x-tree-node .k-ctn-status-deleted a span{text-decoration:line-through;color:gray;}.x-tree-node .k-ctn-status-rejected a span{text-decoration:line-through;/* color: #FF6633; */color:#F30;}.x-tree-node .k-ctn-status-editing a span{font-style:italic;color:gray;}.x-tree-node .k-ctn-status-submitted a span{color:green;}.k-info-links{text-decoration:underline;color:gray;cursor:pointer;}.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:left;padding:3px;cursor:pointer;color:#00F;}.k-tsp-cloud{line-height:1.5em;text-align:center;}.k-link-icon{background-image:url(img/link.gif)!important;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.k-copyleft-icon{background-image:url(img/copyleft.png)!important;}.k-picture-icon{background-image:url(img/picture.png)!important;}.k-film-icon{background-image:url(img/film.png)!important;}.k-specialchars-icon{background-image:url(img/specialchars.png)!important;}.k-info-icon{background-image:url(img/info.gif)!important;}.k-newgroup-icon{background-image:url(img/kune-icon16.png)!important;}.k-colors-icon{background-image:url(img/colors.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;}/* duplicated in rte.css */.k-rte-comment{border:1px dashed silver;line-height:1.4;padding:1px;background-color:#D7FFD7;}.k-specialchar-grid{border:1px solid #ACA899;}.k-specialchar-grid table{}.k-specialchar-grid div{line-height:22px;}.k-specialchar-grid td{padding:1px;}.k-specialchar-pb{border:1px solid #EBE8D7;cursor:pointer;font-size:108%!important;text-align:center;vertical-align:middle;width:18px;height:18px;}.k-specialchar-pb-up{}.k-specialchar-big{padding:3px;line-height:22px;font-size:197%!important;}.k-specialchar-adv-label{margin-left:-10px;}.k-specialchar-popup,{border:1px px solid silver;z-index:9999!important;background-color:#FFF;}.k-specialchar-pb-down{color:#161616;}.k-specialchar-pb-up-hovering{border:thin solid #ACA899;}.k-specialchar-pb-down-hovering{color:#161616;}.k-preview-panel{border:dashed 1px gray;padding:5px;}.k-rte-changelink{white-space:nowrap;color:navy;cursor:pointer;text-decoration:underline;margin:5px;}.k-rte-changelink-popup{border:1px solid silver;z-index:9999!important;background-color:#ECECEC;}.e-ui-room{height:27px;line-height:22px;}.e-ui-room input{font-size:100%;margin-left:0;margin-top:0;}.k-def-popup{z-index:9999!important;background-color:#FFF;border:1px solid gray;}#k-mshortcut{position:absolute;right:10px;}#k-mshortcut-hidden{visibility:hidden;}#k-mshortcut a{text-decoration:none;color:#000;}.k-plain-iframe iframe{border:1px solid gray;}.k-transp .x-panel-body{background:transparent;}.k-transp{background:transparent;}.k-blank{background:#FFF;} \ 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 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2009-07-13 11:36:33 UTC (rev 1134) @@ -1,5 +1,5 @@ .k-site-traybar { - background: #FFF none repeat scroll 0% 50%; + background: transparent none repeat scroll 0% 50%; } .k-blank-toolbar { @@ -34,7 +34,6 @@ .k-sitebar { margin-right: 10px; height: 16px; - background: #FFF; } .k-sitebar .gwt-TextBox { @@ -42,6 +41,7 @@ margin: 0 15px 0 3px; padding-left: 1px; color: #B3B3B3; + background: transparent; } .k-sitebar .gwt-Hyperlink a { @@ -63,9 +63,9 @@ } .k-entity-summary { - border-left-color: #FFF; + border-left-color: transparent; border-left-width: 5px; - border-bottom-color: #FFF; + border-bottom-color: transparent; border-bottom-width: 5px; } @@ -205,7 +205,7 @@ .k-entity-title { border-left-style: solid; - border-left-width: 2px; + border-left-width: 5px; } .k-entity-title div { @@ -411,6 +411,10 @@ background: #DDAFE9 none repeat scroll 0% 50%; } +.k-entity-content { + background: #FFF; +} + .k-entity-bottom div { /* line-height: 24px; */ color: #FFF; } @@ -933,46 +937,68 @@ border + + : + + 1 px + + solid + + #C0C0C0 + + ; z-index + + : + + 9999 ! important + + ; background-color + + : + + #FFF + + ; } .k-specialchar-pb-down { @@ -1039,4 +1065,16 @@ .k-plain-iframe iframe { border: 1px solid gray; -} \ No newline at end of file +} + +.k-transp .x-panel-body { + background: transparent; +} + +.k-transp { + background: transparent; +} + +.k-blank { + background: #FFF; +} Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -41,6 +41,7 @@ import org.ourproject.kune.workspace.client.editor.ContentEditor; import org.ourproject.kune.workspace.client.entityheader.EntityHeader; import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.upload.FileUploader; import com.calclab.suco.client.ioc.Provider; @@ -55,11 +56,11 @@ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo, final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler, final BlogViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider, - final SitePublicSpaceLink publicLink) { + final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) { super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider, contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry, contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider, - documentViewer, entityLogo, publicLink); + documentViewer, entityLogo, publicLink, wsBackManager); } @Override @@ -93,6 +94,7 @@ null, containersNoRoot); createSetAsDefContent(parentMenuTitle, contents); + createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE); createGoAction(all); createGoHomeAction(containers); Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -51,6 +51,7 @@ import org.ourproject.kune.workspace.client.entityheader.EntityHeader; import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.themes.WsThemeManager; import org.ourproject.kune.workspace.client.tool.ToolSelector; import org.ourproject.kune.workspace.client.upload.FileUploader; @@ -80,7 +81,7 @@ p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class), i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class), i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(BlogViewer.class), - p(ContextPropEditor.class), i(SitePublicSpaceLink.class)); + p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class)); } }); Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -41,6 +41,7 @@ import org.ourproject.kune.workspace.client.editor.ContentEditor; import org.ourproject.kune.workspace.client.entityheader.EntityHeader; import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.upload.FileUploader; import com.calclab.suco.client.ioc.Provider; @@ -55,11 +56,11 @@ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo, final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler, final DocumentViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider, - final SitePublicSpaceLink publicLink) { + final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) { super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider, contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry, contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider, - documentViewer, entityLogo, publicLink); + documentViewer, entityLogo, publicLink, wsBackManager); } @Override @@ -93,6 +94,8 @@ createSetAsDefContent(parentMenuTitle, contents); + createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE); + createUploadAction(i18n.t("Upload file"), "images/nav/upload.png", i18n.t("Upload files (images, PDFs...)"), null, containers); Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -51,6 +51,7 @@ import org.ourproject.kune.workspace.client.entityheader.EntityHeader; import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.themes.WsThemeManager; import org.ourproject.kune.workspace.client.tool.ToolSelector; import org.ourproject.kune.workspace.client.upload.FileUploader; @@ -80,7 +81,7 @@ p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class), i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class), i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(DocumentViewer.class), - p(ContextPropEditor.class), i(SitePublicSpaceLink.class)); + p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class)); } }); Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -40,6 +40,7 @@ import org.ourproject.kune.workspace.client.editor.ContentEditor; import org.ourproject.kune.workspace.client.entityheader.EntityHeader; import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.upload.FileUploader; import com.calclab.suco.client.ioc.Provider; @@ -54,11 +55,11 @@ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo, final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler, final GalleryViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider, - final SitePublicSpaceLink publicLink) { + final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) { super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider, contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry, contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider, - documentViewer, entityLogo, publicLink); + documentViewer, entityLogo, publicLink, wsBackManager); } @Override @@ -88,6 +89,7 @@ createRefreshCxtAction(parentMenuTitleCtx, containers); createSetAsDefContent(parentMenuTitle, contents); + createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE); // createUploadAction(i18n.t("Upload file"), "images/nav/upload.png", // i18n.t("Upload some files (images, PDFs, ...)"), null, containers); Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -51,6 +51,7 @@ import org.ourproject.kune.workspace.client.entityheader.EntityHeader; import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.themes.WsThemeManager; import org.ourproject.kune.workspace.client.tool.ToolSelector; import org.ourproject.kune.workspace.client.upload.FileUploader; @@ -80,7 +81,7 @@ p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class), i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class), i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(GalleryViewer.class), - p(ContextPropEditor.class), i(SitePublicSpaceLink.class)); + p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class)); } }); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/toolbar/ActionToolbarPanel.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -154,7 +154,7 @@ } public void setCleanStyle() { - toolbar.setCleanStyle(); + toolbar.setBlankStyle(); } public void setNormalStyle() { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ComplexToolbar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ComplexToolbar.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ui/ComplexToolbar.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -26,10 +26,10 @@ } /** - * Set the blank/clean style + * Set the blank style */ public void setCleanStyle() { - toolbar.setCleanStyle(); + toolbar.setBlankStyle(); } /** @@ -39,6 +39,13 @@ toolbar.setNormalStyle(); } + /** + * Set the blank style + */ + public void setTranspStyle() { + toolbar.setTranspStyle(); + } + @Override protected void add(final AbstractGuiItem item) { item.addStyleName("kune-floatleft"); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/GroupDTO.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -28,7 +28,7 @@ private String longName; private GroupType groupType; private ContentSimpleDTO defaultContent; - private ContentSimpleDTO groupFullLogo; + private ContentSimpleDTO groupBackImage; private LicenseDTO defaultLicense; private String workspaceTheme; private boolean hasLogo; @@ -79,8 +79,8 @@ return defaultLicense; } - public ContentSimpleDTO getGroupFullLogo() { - return groupFullLogo; + public ContentSimpleDTO getGroupBackImage() { + return groupBackImage; } public GroupType getGroupType() { @@ -146,8 +146,8 @@ this.defaultLicense = defaultLicense; } - public void setGroupFullLogo(final ContentSimpleDTO groupFullLogo) { - this.groupFullLogo = groupFullLogo; + public void setGroupBackImage(final ContentSimpleDTO groupBackImage) { + this.groupBackImage = groupBackImage; } public void setGroupType(final GroupType groupType) { Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -34,12 +34,14 @@ void changeGroupWsTheme(String userHash, StateToken groupToken, String theme) throws DefaultException; + GroupDTO clearGroupBackImage(String userHash, StateToken token); + StateToken createNewGroup(String userHash, GroupDTO group, String publicDesc, String tags, String[] enabledTools) throws DefaultException; GroupDTO getGroup(String userHash, StateToken token); - GroupDTO setGroupFullLogo(String userHash, StateToken token); + GroupDTO setGroupBackImage(String userHash, StateToken token); void setGroupNewMembersJoiningPolicy(String userHash, StateToken groupToken, AdmissionTypeDTO admissionPolicy); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -34,12 +34,14 @@ void changeGroupWsTheme(String userHash, StateToken groupToken, String theme, AsyncCallback<?> callback); + void clearGroupBackImage(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback); + void createNewGroup(String userHash, GroupDTO group, String publicDesc, String tags, String[] enabledTools, AsyncCallback<StateToken> callback); void getGroup(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback); - void setGroupFullLogo(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback); + void setGroupBackImage(String userHash, StateToken token, AsyncCallback<GroupDTO> asyncCallback); void setGroupNewMembersJoiningPolicy(String userHash, StateToken groupToken, AdmissionTypeDTO admissionPolicy, AsyncCallback<?> asyncCallback); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -123,6 +123,8 @@ Collection<ToolSimpleDTO> getUserTools(); + boolean isInCurrentUserSpace(); + boolean inSameToken(StateToken token); boolean isCurrentStateAContent(); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -189,6 +189,16 @@ return initData.getUserTools(); } + public boolean isInCurrentUserSpace() { + if (!isLogged()) { + return false; + } + if (getCurrentStateToken().getGroup().equals(getCurrentUser().getShortName())) { + return true; + } + return false; + } + public boolean inSameToken(final StateToken token) { return getCurrentStateToken().equals(token); } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractToolbar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractToolbar.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/AbstractToolbar.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -25,7 +25,7 @@ void removeAll(); - void setCleanStyle(); + void setBlankStyle(); void setHeight(String height); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/FlowToolbar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/FlowToolbar.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/FlowToolbar.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -84,9 +84,9 @@ } /** - * Set the blank/clean style + * Set the blank style */ - public void setCleanStyle() { + public void setBlankStyle() { setBasicStyle(); addStyleName("k-blank-toolbar"); } @@ -105,6 +105,14 @@ addStyleName("k-toolbar-bottom-line"); } + /** + * Set the transparent style + */ + public void setTranspStyle() { + setBasicStyle(); + addStyleName("k-transp"); + } + private void setBasicStyle() { setStyleName("x-toolbar"); addStyleName("x-panel"); Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/SimpleToolbar.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/SimpleToolbar.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/SimpleToolbar.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -84,7 +84,7 @@ childPanel.clear(); } - public void setCleanStyle() { + public void setBlankStyle() { setBasicStyle(); addStyleName("k-blank-toolbar"); } Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/tabbed/AbstractTabbedDialogPanel.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -113,7 +113,9 @@ public void hide() { if (dialog != null) { - dialog.hide(); + if (dialog.isVisible()) { + dialog.hide(); + } } } @@ -206,7 +208,7 @@ if (onHideListener != null) { addHideListener(); } - for (Button button : buttons) { + for (final Button button : buttons) { dialog.addButton(button); } } Modified: trunk/src/main/java/org/ourproject/kune/platf/public/images/arrowdown.png =================================================================== (Binary files differ) Modified: trunk/src/main/java/org/ourproject/kune/platf/public/images/kune-search-ico.png =================================================================== (Binary files differ) Modified: trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/server/domain/Group.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -88,7 +88,7 @@ private Content defaultContent; @OneToOne - private Content groupFullLogo; + private Content groupBackImage; @OneToOne(cascade = CascadeType.ALL) private SocialNetwork socialNetwork; @@ -201,8 +201,8 @@ return defaultLicense; } - public Content getGroupFullLogo() { - return groupFullLogo; + public Content getGroupBackImage() { + return groupBackImage; } public GroupType getGroupType() { @@ -287,8 +287,8 @@ this.defaultLicense = defaultLicense; } - public void setGroupFullLogo(final Content groupFullLogo) { - this.groupFullLogo = groupFullLogo; + public void setGroupBackImage(final Content groupBackImage) { + this.groupBackImage = groupBackImage; } public void setGroupType(final GroupType groupType) { Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -36,6 +36,8 @@ void changeWsTheme(User user, Group group, String theme) throws AccessViolationException; + void clearGroupBackImage(Group group); + Group createGroup(Group group, User user) throws GroupNameInUseException, UserMustBeLoggedException; Group createUserGroup(User user) throws GroupNameInUseException, EmailAddressInUseException; @@ -67,7 +69,7 @@ void setDefaultContent(String groupShortName, Content content); - void setGroupLogo(Group group, Content content); + void setGroupBackImage(Group group, Content content); void setToolEnabled(User userLogged, String groupShortName, String toolName, boolean enabled); Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -97,6 +97,10 @@ group.setWorkspaceTheme(theme); } + public void clearGroupBackImage(final Group group) { + group.setGroupBackImage(null); + } + public Group createGroup(final Group group, final User user) throws GroupNameInUseException, UserMustBeLoggedException { final String defaultSiteWorkspaceTheme = kuneProperties.get(KuneProperties.WS_THEMES_DEF); @@ -201,9 +205,9 @@ group.setDefaultContent(content); } - public void setGroupLogo(final Group group, final Content content) { - if (content.getMimeType().getType().equals("image")) { - group.setGroupFullLogo(content); + public void setGroupBackImage(final Group group, final Content content) { + if (content.getMimeType().isImage()) { + group.setGroupBackImage(content); } else { throw new DefaultException("Trying to set not a image as group logo"); } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -83,9 +83,18 @@ } @Authenticated + @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator) + @Transactional(type = TransactionType.READ_WRITE) + public GroupDTO clearGroupBackImage(final String userHash, final StateToken token) { + final Group group = groupManager.findByShortName(token.getGroup()); + groupManager.clearGroupBackImage(group); + return mapper.map(group, GroupDTO.class); + } + + @Authenticated @Transactional(type = TransactionType.READ_WRITE, rollbackOn = DefaultException.class) - public StateToken createNewGroup(final String userHash, final GroupDTO groupDTO, String publicDesc, String tags, - String[] enabledTools) throws DefaultException { + public StateToken createNewGroup(final String userHash, final GroupDTO groupDTO, final String publicDesc, + final String tags, final String[] enabledTools) throws DefaultException { final User user = getUserLogged(); final Group group = mapper.map(groupDTO, Group.class); final Group newGroup = groupManager.createGroup(group, user); @@ -93,30 +102,30 @@ contentManager.save(user, newGroup.getDefaultContent(), publicDesc); contentManager.setTags(user, defContentId, tags); return newGroup.getDefaultContent().getStateToken(); - } + }; @Authenticated(mandatory = false) @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Viewer) - public GroupDTO getGroup(String userHash, StateToken groupToken) { + public GroupDTO getGroup(final String userHash, final StateToken groupToken) { final Group group = groupManager.findByShortName(groupToken.getGroup()); return mapper.map(group, GroupDTO.class); - }; + } @Authenticated @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator) @Transactional(type = TransactionType.READ_WRITE) - public GroupDTO setGroupFullLogo(final String userHash, final StateToken token) { + public GroupDTO setGroupBackImage(final String userHash, final StateToken token) { final Group group = groupManager.findByShortName(token.getGroup()); final Content content = contentManager.find(ContentUtils.parseId(token.getDocument())); - groupManager.setGroupLogo(group, content); + groupManager.setGroupBackImage(group, content); return mapper.map(group, GroupDTO.class); } @Authenticated(mandatory = true) @Authorizated(accessRolRequired = AccessRol.Administrator, actionLevel = ActionLevel.group) @Transactional(type = TransactionType.READ_WRITE) - public void setGroupNewMembersJoiningPolicy(final String userHash, StateToken token, - AdmissionTypeDTO admissionPolicy) { + public void setGroupNewMembersJoiningPolicy(final String userHash, final StateToken token, + final AdmissionTypeDTO admissionPolicy) { final Group group = groupManager.findByShortName(token.getGroup()); group.setAdmissionType(AdmissionType.valueOf(admissionPolicy.toString())); } @@ -124,8 +133,8 @@ @Authenticated(mandatory = true) @Authorizated(accessRolRequired = AccessRol.Administrator, actionLevel = ActionLevel.group) @Transactional(type = TransactionType.READ_WRITE) - public void setSocialNetworkVisibility(final String userHash, StateToken token, - SocialNetworkVisibilityDTO visibility) { + public void setSocialNetworkVisibility(final String userHash, final StateToken token, + final SocialNetworkVisibilityDTO visibility) { final Group group = groupManager.findByShortName(token.getGroup()); group.getSocialNetwork().setVisibility(SocialNetworkVisibility.valueOf(visibility.toString())); } Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -41,6 +41,7 @@ import org.ourproject.kune.workspace.client.editor.ContentEditor; import org.ourproject.kune.workspace.client.entityheader.EntityHeader; import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.upload.FileUploader; import com.calclab.suco.client.ioc.Provider; @@ -55,11 +56,11 @@ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo, final Provider<ContentEditor> textEditorProvider, final ErrorHandler errorHandler, final WikiViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider, - final SitePublicSpaceLink publicLink) { + final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) { super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider, contentServiceProvider, fileUploaderProvider, contextNavigator, contentActionRegistry, contextActionRegistry, fileDownloadProvider, textEditorProvider, contextProvEditorProvider, - documentViewer, entityLogo, publicLink); + documentViewer, entityLogo, publicLink, wsBackManager); } @Override @@ -92,6 +93,7 @@ createRefreshCxtAction(parentMenuTitleCtx, containers); createSetAsDefContent(parentMenuTitle, contents); + createSetGroupBackImageAction(parentMenuTitle, TYPE_UPLOADEDFILE); createUploadAction(i18n.t("Upload file"), "images/nav/upload.png", i18n.t("Upload some files (images, PDFs, ...)"), null, containers); Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -51,6 +51,7 @@ import org.ourproject.kune.workspace.client.entityheader.EntityHeader; import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.themes.WsThemeManager; import org.ourproject.kune.workspace.client.tool.ToolSelector; import org.ourproject.kune.workspace.client.upload.FileUploader; @@ -80,7 +81,7 @@ p(ContentServiceAsync.class), p(GroupServiceAsync.class), p(FileUploader.class), i(ContentActionRegistry.class), i(ContextActionRegistry.class), p(FileDownloadUtils.class), i(EntityHeader.class), p(ContentEditor.class), i(ErrorHandler.class), i(WikiViewer.class), - p(ContextPropEditor.class), i(SitePublicSpaceLink.class)); + p(ContextPropEditor.class), i(SitePublicSpaceLink.class), i(WsBackManager.class)); } }); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -32,7 +32,6 @@ import org.ourproject.kune.platf.client.actions.ActionToolbarPosition; import org.ourproject.kune.platf.client.actions.RadioMustBeChecked; import org.ourproject.kune.platf.client.dto.AccessRolDTO; -import org.ourproject.kune.platf.client.dto.BasicMimeTypeDTO; import org.ourproject.kune.platf.client.dto.ContentSimpleDTO; import org.ourproject.kune.platf.client.dto.ContentStatusDTO; import org.ourproject.kune.platf.client.dto.GroupDTO; @@ -60,6 +59,7 @@ import org.ourproject.kune.workspace.client.editor.ContentEditor; import org.ourproject.kune.workspace.client.entityheader.EntityHeader; import org.ourproject.kune.workspace.client.sitebar.sitepublic.SitePublicSpaceLink; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.upload.FileUploader; import com.calclab.suco.client.events.Listener; @@ -98,6 +98,8 @@ protected final EntityHeader entityLogo; private final SitePublicSpaceLink publicLink; + private final WsBackManager wsBackManager; + public AbstractFoldableContentActions(final Session session, final StateManager stateManager, final I18nUITranslationService i18n, final ErrorHandler errorHandler, final DeferredCommandWrapper deferredCommandWrapper, @@ -107,7 +109,7 @@ final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry, final Provider<FileDownloadUtils> fileDownloadProvider, final Provider<ContentEditor> textEditorProvider, final Provider<ContextPropEditor> contextPropEditorProvider, final FoldableContent foldableContent, - final EntityHeader entityLogo, final SitePublicSpaceLink publicLink) { + final EntityHeader entityLogo, final SitePublicSpaceLink publicLink, final WsBackManager wsBackManager) { this.session = session; this.stateManager = stateManager; this.i18n = i18n; @@ -125,6 +127,7 @@ this.foldableContent = foldableContent; this.entityLogo = entityLogo; this.publicLink = publicLink; + this.wsBackManager = wsBackManager; createActions(); session.onInitDataReceived(new Listener<InitDataDTO>() { public void onEvent(final InitDataDTO parameter) { @@ -455,6 +458,34 @@ return setAsDefGroupContent; } + protected void createSetGroupBackImageAction(final String parentMenuTitle, final String... registerInTypes) { + final ActionToolbarMenuAndItemDescriptor<StateToken> setGroupBackImage = new ActionToolbarMenuAndItemDescriptor<StateToken>( + AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() { + public void onEvent(final StateToken token) { + groupServiceProvider.get().setGroupBackImage(session.getUserHash(), token, + new AsyncCallbackSimple<GroupDTO>() { + public void onSuccess(final GroupDTO newGroup) { + if (session.getCurrentState().getGroup().getShortName().equals( + newGroup.getShortName())) { + session.getCurrentState().setGroup(newGroup); + wsBackManager.clearBackImage(); + wsBackManager.setBackImage(newGroup.getGroupBackImage().getStateToken()); + } + } + }); + } + }); + setGroupBackImage.setParentMenuTitle(parentMenuTitle); + setGroupBackImage.setTextDescription(i18n.t("Set this as the group background image")); + setGroupBackImage.setIconUrl("images/nav/picture.png"); + setGroupBackImage.setEnableCondition(new ActionEnableCondition<StateToken>() { + public boolean mustBeEnabled(final StateToken token) { + return session.getContentState().getMimeType().isImage(); + } + }); + contentActionRegistry.addAction(setGroupBackImage, registerInTypes); + } + protected void createSetStatusAction(final AccessRolDTO rol, final String textDescription, final ContentStatusDTO status, final String[] contentsModerated) { final ActionToolbarMenuRadioDescriptor<StateToken> action = new ActionToolbarMenuRadioDescriptor<StateToken>( @@ -554,40 +585,6 @@ fileDownloadProvider.get().downloadFile(token); } - /** - * For future use contentActionRegistry.addAction(setGroupLogo, - * TYPE_UPLOADEDFILE); - */ - @SuppressWarnings("unused") - private ActionToolbarMenuAndItemDescriptor<StateToken> createSetGroupLogoAction(final String parentMenuTitle) { - final ActionToolbarMenuAndItemDescriptor<StateToken> setGroupLogo = new ActionToolbarMenuAndItemDescriptor<StateToken>( - AccessRolDTO.Administrator, CONTENT_TOPBAR, new Listener<StateToken>() { - public void onEvent(final StateToken token) { - groupServiceProvider.get().setGroupFullLogo(session.getUserHash(), token, - new AsyncCallbackSimple<GroupDTO>() { - public void onSuccess(final GroupDTO newGroup) { - NotifyUser.info("Logo selected"); - if (session.getCurrentState().getGroup().getShortName().equals( - newGroup.getShortName())) { - session.getCurrentState().setGroup(newGroup); - } - entityLogo.refreshGroupLogo(); - } - }); - } - }); - setGroupLogo.setParentMenuTitle(parentMenuTitle); - setGroupLogo.setTextDescription(i18n.t("Set this as the group logo")); - setGroupLogo.setIconUrl("images/nav/picture.png"); - setGroupLogo.setEnableCondition(new ActionEnableCondition<StateToken>() { - public boolean mustBeEnabled(final StateToken token) { - final BasicMimeTypeDTO mime = session.getContentState().getMimeType(); - return mime != null && mime.getType().equals("image"); - } - }); - return setGroupLogo; - } - private ActionEnableCondition<StateToken> notDefAndNotDeleted() { return new ActionEnableCondition<StateToken>() { public boolean mustBeEnabled(final StateToken token) { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/WorkspaceModule.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -236,6 +236,8 @@ import org.ourproject.kune.workspace.client.tags.TagsSummary; import org.ourproject.kune.workspace.client.tags.TagsSummaryPanel; import org.ourproject.kune.workspace.client.tags.TagsSummaryPresenter; +import org.ourproject.kune.workspace.client.themes.WsBackManager; +import org.ourproject.kune.workspace.client.themes.WsBackManagerImpl; import org.ourproject.kune.workspace.client.themes.WsThemeManager; import org.ourproject.kune.workspace.client.themes.WsThemeManagerPanel; import org.ourproject.kune.workspace.client.themes.WsThemeSelector; @@ -435,11 +437,18 @@ } }); + register(Singleton.class, new Factory<WsBackManager>(WsBackManager.class) { + @Override + public WsBackManager create() { + return new WsBackManagerImpl(i(FileDownloadUtils.class)); + } + }); + register(ApplicationComponentGroup.class, new Factory<WsThemeManager>(WsThemeManager.class) { @Override public WsThemeManager create() { final WsThemeManager presenter = new WsThemeManager(i(Session.class), p(GroupServiceAsync.class), - i(StateManager.class)); + i(StateManager.class), i(WsBackManager.class)); new WsThemeManagerPanel(presenter, i(WorkspaceSkeleton.class)); return presenter; } @@ -641,7 +650,8 @@ @Override public UserOptions create() { final UserOptionsPresenter presenter = new UserOptionsPresenter(i(Session.class), - i(I18nTranslationService.class), i(ImgResources.class), i(SiteUserOptions.class)); + i(StateManager.class), i(I18nTranslationService.class), i(ImgResources.class), + i(SiteUserOptions.class)); final UserOptionsPanel panel = new UserOptionsPanel(presenter, i(EntityHeader.class), i(I18nTranslationService.class), i(Images.class), i(UserOptionsCollection.class)); presenter.init(panel); @@ -733,9 +743,10 @@ final WsThemeSelector themeSelector = i(WsThemeSelector.class); final GroupOptionsPublicSpaceConfPresenter presenter = new GroupOptionsPublicSpaceConfPresenter( i(Session.class), i(StateManager.class), i(GroupOptions.class), i(WsThemeManager.class), - themeSelector); + themeSelector, p(GroupServiceAsync.class), i(WsBackManager.class)); final EntityOptionsPublicSpaceConfPanel panel = new EntityOptionsPublicSpaceConfPanel(presenter, - i(WorkspaceSkeleton.class), i(I18nTranslationService.class), themeSelector); + i(WorkspaceSkeleton.class), i(I18nTranslationService.class), themeSelector, + i(FileDownloadUtils.class)); presenter.init(panel); return presenter; } @@ -747,9 +758,11 @@ public UserOptionsPublicSpaceConf create() { final WsThemeSelector themeSelector = i(WsThemeSelector.class); final UserOptionsPublicSpaceConfPresenter presenter = new UserOptionsPublicSpaceConfPresenter( - i(Session.class), i(UserOptions.class), i(WsThemeManager.class), themeSelector); + i(Session.class), i(StateManager.class), i(UserOptions.class), i(WsThemeManager.class), + themeSelector, p(GroupServiceAsync.class), i(WsBackManager.class)); final EntityOptionsPublicSpaceConfPanel panel = new EntityOptionsPublicSpaceConfPanel( - presenter, i(WorkspaceSkeleton.class), i(I18nTranslationService.class), themeSelector); + presenter, i(WorkspaceSkeleton.class), i(I18nTranslationService.class), themeSelector, + i(FileDownloadUtils.class)); presenter.init(panel); return presenter; } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPanel.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -59,7 +59,7 @@ entityTextLogo = new EntityTextLogo(); add(entityTextLogo); toolbar = new ComplexToolbar(bindings); - toolbar.setCleanStyle(); + toolbar.setTranspStyle(); vpanel.add(toolbar); add(vpanel); wskel.addToEntityMainHeader(this); @@ -79,6 +79,7 @@ + new Date().getTime()); } + @Deprecated public void setFullLogo(final StateToken stateToken, final boolean clipped) { clear(); final String imageUrl = downloadProvider.get().getImageUrl(stateToken); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderPresenter.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -21,7 +21,6 @@ import org.ourproject.kune.platf.client.View; import org.ourproject.kune.platf.client.actions.ui.GuiActionDescrip; -import org.ourproject.kune.platf.client.dto.ContentSimpleDTO; import org.ourproject.kune.platf.client.dto.GroupDTO; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; @@ -73,10 +72,7 @@ } void setGroupLogo(final GroupDTO group) { - final ContentSimpleDTO groupFullLogo = group.getGroupFullLogo(); - if (groupFullLogo != null) { - view.setFullLogo(groupFullLogo.getStateToken(), true); - } else if (group.hasLogo()) { + if (group.hasLogo()) { setLogoText(group.getLongName()); view.setLogoImage(group.getStateToken()); view.setLogoImageVisible(true); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/entityheader/EntityHeaderView.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -33,8 +33,6 @@ void reloadImage(GroupDTO group); - void setFullLogo(StateToken stateToken, boolean clipped); - void setLargeFont(); void setLogoImage(StateToken stateToken); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPresenter.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/UserOptionsPresenter.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -25,6 +25,7 @@ import org.ourproject.kune.platf.client.actions.ui.MenuItemDescriptor; import org.ourproject.kune.platf.client.i18n.I18nTranslationService; import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.platf.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter; import org.ourproject.kune.platf.client.ui.img.ImgResources; import org.ourproject.kune.workspace.client.sitebar.siteusermenu.SiteUserOptions; @@ -37,9 +38,13 @@ private final ImgResources img; private final I18nTranslationService i18n; private final SiteUserOptions userOptions; + private final Session session; + private final StateManager stateManager; - public UserOptionsPresenter(final Session session, final I18nTranslationService i18n, final ImgResources img, - final SiteUserOptions userOptions) { + public UserOptionsPresenter(final Session session, final StateManager stateManager, + final I18nTranslationService i18n, final ImgResources img, final SiteUserOptions userOptions) { + this.session = session; + this.stateManager = stateManager; this.i18n = i18n; this.img = img; this.userOptions = userOptions; @@ -59,6 +64,9 @@ private void createActions() { final AbstractExtendedAction userPrefsAction = new AbstractExtendedAction() { public void actionPerformed(final ActionEvent event) { + if (!session.isInCurrentUserSpace()) { + stateManager.gotoToken(session.getCurrentUser().getStateToken()); + } show(); } }; Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConf.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConf.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConf.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -19,6 +19,6 @@ */ package org.ourproject.kune.workspace.client.options.pscape; + public interface EntityOptionsPublicSpaceConf { - } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPanel.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -19,9 +19,12 @@ */ package org.ourproject.kune.workspace.client.options.pscape; +import org.ourproject.kune.platf.client.dto.StateToken; import org.ourproject.kune.platf.client.i18n.I18nTranslationService; import org.ourproject.kune.platf.client.ui.BasicThumb; import org.ourproject.kune.platf.client.ui.TextUtils; +import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; +import org.ourproject.kune.platf.client.ui.download.ImageSize; import org.ourproject.kune.platf.client.ui.noti.NotifyUser; import org.ourproject.kune.workspace.client.options.EntityOptionsView; import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton; @@ -29,16 +32,28 @@ import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; -import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.HorizontalPanel; +import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; +import com.gwtext.client.core.EventObject; +import com.gwtext.client.widgets.Button; import com.gwtext.client.widgets.Panel; +import com.gwtext.client.widgets.event.ButtonListenerAdapter; public class EntityOptionsPublicSpaceConfPanel extends Panel implements EntityOptionsPublicSpaceConfView { + private final Image backImage; + private final FileDownloadUtils downUtils; + private final Label currentBackLabel; + private final Label noBackLabel; + private final Button clearBtn; + public EntityOptionsPublicSpaceConfPanel(final EntityOptionsPublicSpaceConfPresenter presenter, - final WorkspaceSkeleton ws, final I18nTranslationService i18n, final WsThemeSelector wsSelector) { + final WorkspaceSkeleton ws, final I18nTranslationService i18n, final WsThemeSelector wsSelector, + final FileDownloadUtils downUtils) { + this.downUtils = downUtils; super.setTitle(i18n.t("Style")); super.setIconCls("k-colors-icon"); super.setAutoScroll(true); @@ -54,21 +69,57 @@ wsHP.add(wsThemeInfo); wsHP.add(toolbarWsChange); add(wsHP); + final VerticalPanel backPanel = new VerticalPanel(); + currentBackLabel = new Label(i18n.t("Current background image: ")); + noBackLabel = new Label(i18n.t("Also you can upload any image and select it later as background.")); + backImage = new Image(); + backImage.addStyleName("kune-Margin-Medium-trbl"); + noBackLabel.addStyleName("kune-Margin-Medium-tb"); + clearBtn = new Button(i18n.t("Clear")); + clearBtn.setTooltip(i18n.t("Remove current background image")); + clearBtn.addListener(new ButtonListenerAdapter() { + @Override + public void onClick(final Button button, final EventObject event) { + presenter.clearBackImage(); + } + }); + backPanel.add(noBackLabel); + backPanel.add(currentBackLabel); + backPanel.add(backImage); + backPanel.add(clearBtn); + add(backPanel); final Label wsInfo = new Label(i18n.t("Select and configure the public space theme of this group:")); wsInfo.addStyleName("kune-Margin-Medium-tb"); add(wsInfo); - final FlowPanel stylesPanel = new FlowPanel(); + final Panel stylesPanel = new Panel(); + final ClickHandler clickHandler = new ClickHandler() { + public void onClick(final ClickEvent event) { + NotifyUser.info(TextUtils.IN_DEVELOPMENT_P); + } + }; for (int i = 1; i <= 6; i++) { - final BasicThumb thumb = new BasicThumb("images/styles/styl" + i + ".png", "Style " + i, - new ClickHandler() { - public void onClick(final ClickEvent event) { - NotifyUser.info(TextUtils.IN_DEVELOPMENT_P); - } - }); + final BasicThumb thumb = new BasicThumb("images/styles/styl" + i + ".png", "Style " + i, clickHandler); thumb.setTooltip(i18n.t("Click to select and configure this theme")); add(thumb); } add(stylesPanel); + setBackImageVisibleImpl(false); } + + public void clearBackImage() { + setBackImageVisibleImpl(false); + } + + public void setBackImage(final StateToken token) { + backImage.setUrl(downUtils.getImageResizedUrl(token, ImageSize.thumb)); + setBackImageVisibleImpl(true); + } + + private void setBackImageVisibleImpl(final boolean visible) { + backImage.setVisible(visible); + currentBackLabel.setVisible(visible); + clearBtn.setVisible(visible); + noBackLabel.setVisible(!visible); + } } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPresenter.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfPresenter.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -1,16 +1,49 @@ package org.ourproject.kune.workspace.client.options.pscape; import org.ourproject.kune.platf.client.View; +import org.ourproject.kune.platf.client.dto.ContentSimpleDTO; +import org.ourproject.kune.platf.client.dto.GroupDTO; +import org.ourproject.kune.platf.client.dto.StateAbstractDTO; +import org.ourproject.kune.platf.client.dto.StateToken; +import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple; +import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; +import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.workspace.client.options.EntityOptions; +import org.ourproject.kune.workspace.client.themes.WsBackManager; -public abstract class EntityOptionsPublicSpaceConfPresenter { +import com.calclab.suco.client.events.Listener; +import com.calclab.suco.client.events.Listener0; +import com.calclab.suco.client.ioc.Provider; + +public abstract class EntityOptionsPublicSpaceConfPresenter implements EntityOptionsPublicSpaceConf { private EntityOptionsPublicSpaceConfView view; private final EntityOptions entityOptions; + private final Provider<GroupServiceAsync> groupService; + private final Session session; + private final WsBackManager backManager; + private final StateManager stateManager; - public EntityOptionsPublicSpaceConfPresenter(final EntityOptions entityOptions) { + protected EntityOptionsPublicSpaceConfPresenter(final Session session, final StateManager stateManager, + final EntityOptions entityOptions, final Provider<GroupServiceAsync> groupService, + final WsBackManager backManager) { + this.session = session; + this.stateManager = stateManager; this.entityOptions = entityOptions; + this.groupService = groupService; + this.backManager = backManager; } + public void clearBackImage() { + groupService.get().clearGroupBackImage(session.getUserHash(), session.getCurrentStateToken(), + new AsyncCallbackSimple<GroupDTO>() { + public void onSuccess(final GroupDTO result) { + view.clearBackImage(); + backManager.clearBackImage(); + } + }); + } + public View getView() { return view; } @@ -18,6 +51,30 @@ public void init(final EntityOptionsPublicSpaceConfView view) { this.view = view; entityOptions.addTab(view); + setBackImage(session.getContainerState().getGroup().getGroupBackImage()); + stateManager.onStateChanged(new Listener<StateAbstractDTO>() { + public void onEvent(final StateAbstractDTO state) { + final ContentSimpleDTO backImage = state.getGroup().getGroupBackImage(); + setBackImage(backImage); + } + }); + backManager.addSetBackImage(new Listener<StateToken>() { + public void onEvent(final StateToken token) { + view.setBackImage(token); + } + }); + backManager.addBackClear(new Listener0() { + public void onEvent() { + view.clearBackImage(); + } + }); } + private void setBackImage(final ContentSimpleDTO backImage) { + if (backImage == null) { + view.clearBackImage(); + } else { + view.setBackImage(backImage.getStateToken()); + } + } } Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfView.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfView.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/EntityOptionsPublicSpaceConfView.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -20,7 +20,12 @@ package org.ourproject.kune.workspace.client.options.pscape; import org.ourproject.kune.platf.client.View; +import org.ourproject.kune.platf.client.dto.StateToken; public interface EntityOptionsPublicSpaceConfView extends View { + + public void clearBackImage(); + + public void setBackImage(final StateToken token); + } - Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/GroupOptionsPublicSpaceConfPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/GroupOptionsPublicSpaceConfPresenter.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/GroupOptionsPublicSpaceConfPresenter.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -20,21 +20,25 @@ package org.ourproject.kune.workspace.client.options.pscape; import org.ourproject.kune.platf.client.dto.StateAbstractDTO; +import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; import org.ourproject.kune.platf.client.state.Session; import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.workspace.client.options.EntityOptions; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.themes.WsTheme; import org.ourproject.kune.workspace.client.themes.WsThemeManager; import org.ourproject.kune.workspace.client.themes.WsThemeSelector; import com.calclab.suco.client.events.Listener; +import com.calclab.suco.client.ioc.Provider; public class GroupOptionsPublicSpaceConfPresenter extends EntityOptionsPublicSpaceConfPresenter implements GroupOptionsPublicSpaceConf { public GroupOptionsPublicSpaceConfPresenter(final Session session, final StateManager stateManager, - final EntityOptions entityOptions, final WsThemeManager themeManager, final WsThemeSelector themeSelector) { - super(entityOptions); + final EntityOptions entityOptions, final WsThemeManager themeManager, final WsThemeSelector themeSelector, + final Provider<GroupServiceAsync> groupService, final WsBackManager backManager) { + super(session, stateManager, entityOptions, groupService, backManager); themeSelector.addThemeSelected(new Listener<WsTheme>() { public void onEvent(final WsTheme theme) { themeManager.changeTheme(session.getCurrentStateToken(), theme); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/UserOptionsPublicSpaceConfPresenter.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/UserOptionsPublicSpaceConfPresenter.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/pscape/UserOptionsPublicSpaceConfPresenter.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -20,22 +20,27 @@ package org.ourproject.kune.workspace.client.options.pscape; import org.ourproject.kune.platf.client.dto.UserInfoDTO; +import org.ourproject.kune.platf.client.rpc.GroupServiceAsync; import org.ourproject.kune.platf.client.state.Session; +import org.ourproject.kune.platf.client.state.StateManager; import org.ourproject.kune.workspace.client.options.EntityOptions; +import org.ourproject.kune.workspace.client.themes.WsBackManager; import org.ourproject.kune.workspace.client.themes.WsTheme; import org.ourproject.kune.workspace.client.themes.WsThemeManager; import org.ourproject.kune.workspace.client.themes.WsThemeSelector; import com.calclab.suco.client.events.Listener; +import com.calclab.suco.client.ioc.Provider; public class UserOptionsPublicSpaceConfPresenter extends EntityOptionsPublicSpaceConfPresenter implements UserOptionsPublicSpaceConf { private final WsThemeSelector themeSelector; - public UserOptionsPublicSpaceConfPresenter(final Session session, final EntityOptions entityOptions, - final WsThemeManager themeManager, final WsThemeSelector themeSelector) { - super(entityOptions); + public UserOptionsPublicSpaceConfPresenter(final Session session, final StateManager stateManager, + final EntityOptions entityOptions, final WsThemeManager themeManager, final WsThemeSelector themeSelector, + final Provider<GroupServiceAsync> groupService, final WsBackManager backManager) { + super(session, stateManager, entityOptions, groupService, backManager); this.themeSelector = themeSelector; themeSelector.addThemeSelected(new Listener<WsTheme>() { public void onEvent(final WsTheme theme) { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -32,9 +32,10 @@ private final String collapsedTitle; private final String expandedTitle; - public SummaryPanel(final String title, final String titleTooltip, WorkspaceSkeleton ws) { + public SummaryPanel(final String title, final String titleTooltip, final WorkspaceSkeleton ws) { this.ws = ws; super.setBorder(false); + super.addStyleName("k-blank"); super.setAutoScroll(true); collapsedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip, Images.App.getInstance().arrowRightWhite(), IconPosition.left); @@ -43,12 +44,12 @@ setTitle(expandedTitle); super.addListener(new PanelListenerAdapter() { @Override - public void onCollapse(Panel panel) { + public void onCollapse(final Panel panel) { setTitle(collapsedTitle); } @Override - public void onExpand(Panel panel) { + public void onExpand(final Panel panel) { setTitle(expandedTitle); } }); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -51,13 +51,16 @@ container.setLayout(new FitLayout()); container.setBorder(false); container.setPaddings(5); + container.addStyleName("k-transp"); final Panel mainPanel = new Panel(); mainPanel.setLayout(new AnchorLayout()); mainPanel.setBorder(false); + mainPanel.addStyleName("k-transp"); sitebar = new SimpleToolbar(); sitebar.setStyleName("k-sitebar"); + sitebar.addStyleName("k-transp"); sitebar.setHeight(String.valueOf(DEF_BAR_HEIGHT)); entity = new Entity(); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/BuddiesSummaryPanel.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -67,7 +67,7 @@ vp.add(flowPanel); vp.add(otherBuddiesLabel); toolbar = ((ActionToolbarPanel<UserSimpleDTO>) actionToolbarView).getToolbar(); - toolbar.setCleanStyle(); + toolbar.setBlankStyle(); vp.add((Widget) toolbar); super.add(vp); addInSummary(); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/GroupMembersSummaryPanel.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -78,7 +78,7 @@ super.add(noMembersPublic); toolbar = ((ActionToolbarPanel<StateToken>) actionToolbarView).getToolbar(); - toolbar.setCleanStyle(); + toolbar.setBlankStyle(); super.add((Widget) toolbar); super.addInSummary(); ws.addListenerInEntitySummary(new ContainerListenerAdapter() { Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/socialnet/ParticipationSummaryPanel.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -54,7 +54,7 @@ gridMenuPanel.onDoubleClick(go); super.add(gridMenuPanel); toolbar = ((ActionToolbarPanel<StateToken>) actionToolbarView).getToolbar(); - toolbar.setCleanStyle(); + toolbar.setBlankStyle(); super.add((Widget) toolbar); addInSummary(); ws.addListenerInEntitySummary(new ContainerListenerAdapter() { Added: trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsBackManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsBackManager.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsBackManager.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -0,0 +1,18 @@ +package org.ourproject.kune.workspace.client.themes; + +import org.ourproject.kune.platf.client.dto.StateToken; + +import com.calclab.suco.client.events.Listener; +import com.calclab.suco.client.events.Listener0; + +public interface WsBackManager { + + void addBackClear(Listener0 listener); + + void addSetBackImage(Listener<StateToken> listener); + + void clearBackImage(); + + void setBackImage(StateToken token); + +} Added: trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsBackManagerImpl.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsBackManagerImpl.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsBackManagerImpl.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -0,0 +1,53 @@ +package org.ourproject.kune.workspace.client.themes; + +import org.cobogw.gwt.user.client.CSS; +import org.ourproject.kune.platf.client.dto.StateToken; +import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils; + +import com.calclab.suco.client.events.Event; +import com.calclab.suco.client.events.Event0; +import com.calclab.suco.client.events.Listener; +import com.calclab.suco.client.events.Listener0; +import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.ui.RootPanel; + +public class WsBackManagerImpl implements WsBackManager { + + private static final StateToken NO_TOKEN = new StateToken("none.none.0.0"); + private final FileDownloadUtils downloadUtils; + private StateToken lastToken; + private final Event0 onBackClear; + private final Event<StateToken> onSetBackImage; + + public WsBackManagerImpl(final FileDownloadUtils downloadUtils) { + this.downloadUtils = downloadUtils; + lastToken = NO_TOKEN; + this.onBackClear = new Event0("onBackClear"); + this.onSetBackImage = new Event<StateToken>("onSetBackImage"); + } + + public void addBackClear(final Listener0 listener) { + onBackClear.add(listener); + } + + public void addSetBackImage(final Listener<StateToken> listener) { + onSetBackImage.add(listener); + } + + public void clearBackImage() { + onBackClear.fire(); + if (!lastToken.equals(NO_TOKEN)) { + DOM.setStyleAttribute(RootPanel.getBodyElement(), CSS.A.BACKGROUND, "transparent"); + lastToken = NO_TOKEN; + } + } + + public void setBackImage(final StateToken token) { + onSetBackImage.fire(token); + if (!token.equals(lastToken)) { + final String bodyProp = "#FFFFFF url('" + downloadUtils.getImageUrl(token) + "') fixed no-repeat top left"; + DOM.setStyleAttribute(RootPanel.getBodyElement(), CSS.A.BACKGROUND, bodyProp); + lastToken = token; + } + } +} Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsThemeManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsThemeManager.java 2009-07-01 23:06:27 UTC (rev 1133) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/themes/WsThemeManager.java 2009-07-13 11:36:33 UTC (rev 1134) @@ -19,6 +19,7 @@ \*/ package org.ourproject.kune.workspace.client.themes; +import org.ourproject.kune.platf.client.dto.ContentSimpleDTO; import org.ourproject.kune.platf.client.dto.InitDataDTO; import org.ourproject.kune.platf.client.dto.StateAbstractDTO; import org.ourproject.kune.platf.client.dto.StateToken; @@ -40,11 +41,13 @@ private final Provider<GroupServiceAsync> groupServiceProvider; private final Session session; private WsTheme defTheme; + private final WsBackManager wsBackManager; public WsThemeManager(final Session session, final Provider<GroupServiceAsync> groupServiceProvider, - final StateManager stateManager) { + final StateManager stateManager, final WsBackManager wsBackManager) { this.session = session; this.groupServiceProvider = groupServiceProvider; + this.wsBackManager = wsBackManager; this.onThemeChanged = new Event2<WsTheme, WsTheme>("onThemeChanged"); session.onInitDataReceived(new Listener<InitDataDTO>() { public void onEvent(final InitDataDTO initData) { @@ -59,6 +62,10 @@ }); } + public void addOnThemeChanged(final Listener2<WsTheme, WsTheme> listener) { + onThemeChanged.add(listener); + } + public void changeTheme(final StateToken token, final WsTheme newTheme) { NotifyUser.showProgressProcessing(); groupServiceProvider.get().changeGroupWsTheme(session.getUserHash(), token, newTheme.getName(), @@ -72,10 +79,6 @@ }); } - public void addOnThemeChanged(final Listener2<WsTheme, WsTheme> listener) { - onThemeChanged.add(listener); - } - protected void onChangeGroupWsTheme(final WsTheme newTheme) { NotifyUser.showProgressProcessing(); groupServiceProvider.get().changeGroupWsTheme(session.getUserHash(), session.getCurrentState().getStateToken(), @@ -93,6 +96,12 @@ private void setState(final StateAbstractDTO state) { setTheme(new WsTheme(state.getGroup().getWorkspaceTheme())); + final ContentSimpleDTO groupBackImage = state.getGroup().getGroupBackImage(); + if (groupBackImage == null) { + wsBackManager.clearBackImage(); + } else { + wsBackManager.setBackImage(groupBackImage.getStateToken()); + } } private void setTheme(final WsTheme newTheme) {
participants (1)
-
vjrj