kune-commits
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
November 2011
- 1 participants
- 57 discussions
Author: vjrj_
Date: 2011-11-08 05:15:12 +0100 (Tue, 08 Nov 2011)
New Revision: 1593
Modified:
trunk/src/main/webapp/others/cursor-orange.png
Log:
NEW - # 127: Generate some screencast while doing automate testing
http://kune.ourproject.org/issues/ticket/127
Modified: trunk/src/main/webapp/others/cursor-orange.png
===================================================================
(Binary files differ)
1
0
08 Nov '11
Author: vjrj_
Date: 2011-11-08 05:10:50 +0100 (Tue, 08 Nov 2011)
New Revision: 1592
Modified:
trunk/src/main/webapp/ws.html
trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java
Log:
NEW - # 127: Generate some screencast while doing automate testing
http://kune.ourproject.org/issues/ticket/127
Modified: trunk/src/main/webapp/ws.html
===================================================================
--- trunk/src/main/webapp/ws.html 2011-11-08 04:06:31 UTC (rev 1591)
+++ trunk/src/main/webapp/ws.html 2011-11-08 04:10:50 UTC (rev 1592)
@@ -280,7 +280,7 @@
</head>
<body>
<div id="kcursor"
- style="visibility: hidden; position: absolute; z-Index: 10000; height: 0; width: 0">
+ style="visibility: hidden; position: absolute; z-Index: 100001'; height: 0; width: 0">
<img src="/others/cursor-orange.png">
</div>
<script type="text/javascript">
Modified: trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java 2011-11-08 04:06:31 UTC (rev 1591)
+++ trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java 2011-11-08 04:10:50 UTC (rev 1592)
@@ -68,8 +68,9 @@
public KuneSeleniumDefaults() {
// baseUrl = "http://kune.beta.iepala.es/?locale=en#";
- baseUrl = "http://127.0.0.1:8888/?locale=es&log_level=INFO&gwt.codesvr=127.0.0.1:9997#";
- // baseUrl = "http://beta.eurosur.org/#";
+ // baseUrl =
+ // "http://127.0.0.1:8888/?locale=es&log_level=INFO&gwt.codesvr=127.0.0.1:9997#";
+ baseUrl = "http://beta.eurosur.org/#";
injector = INJECTOR;
webdriver = injector.getInstance(WebDriver.class);
login = injector.getInstance(LoginPageObject.class);
1
0
r1591 - in trunk: img/icons src/main/java/cc/kune/core/public src/main/webapp src/main/webapp/others src/test/java/cc/kune/selenium src/test/java/cc/kune/selenium/chat
by Vicente J. Ruiz Jurado 08 Nov '11
by Vicente J. Ruiz Jurado 08 Nov '11
08 Nov '11
Author: vjrj_
Date: 2011-11-08 05:06:31 +0100 (Tue, 08 Nov 2011)
New Revision: 1591
Added:
trunk/img/icons/cursor-orange.png
trunk/src/main/webapp/others/cursor-orange.png
Modified:
trunk/img/icons/Black_Cursor.svg
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/webapp/ws.html
trunk/src/test/java/cc/kune/selenium/CustomWebDriverEventListener.java
trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java
trunk/src/test/java/cc/kune/selenium/PageObjectModule.java
trunk/src/test/java/cc/kune/selenium/SeleniumModule.java
trunk/src/test/java/cc/kune/selenium/SeleniumUtils.java
trunk/src/test/java/cc/kune/selenium/chat/ChatPageObject.java
Log:
NEW - # 127: Generate some screencast while doing automate testing
http://kune.ourproject.org/issues/ticket/127
Modified: trunk/img/icons/Black_Cursor.svg
===================================================================
--- trunk/img/icons/Black_Cursor.svg 2011-11-07 22:25:13 UTC (rev 1590)
+++ trunk/img/icons/Black_Cursor.svg 2011-11-08 04:06:31 UTC (rev 1591)
@@ -14,7 +14,7 @@
width="20"
height="20"
id="svg2"
- inkscape:version="0.48.1 r9760"
+ inkscape:version="0.48.2 r9819"
sodipodi:docname="Black_Cursor.svg">
<sodipodi:namedview
pagecolor="#ffffff"
@@ -31,9 +31,9 @@
showgrid="false"
inkscape:showpageshadow="false"
showborder="false"
- inkscape:zoom="1"
- inkscape:cx="6.5104813"
- inkscape:cy="10.563713"
+ inkscape:zoom="4.4875"
+ inkscape:cx="10"
+ inkscape:cy="10"
inkscape:window-x="0"
inkscape:window-y="947"
inkscape:window-maximized="0"
@@ -110,7 +110,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
+ <dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
@@ -268,4 +268,100 @@
id="g3078-1" />
</g>
</g>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/cursor-orange.png"
+ id="g3039"
+ transform="matrix(-0.89284025,1.2053366,1.2053366,0.89284025,-1205.9051,-972.00694)"
+ style="fill:#ff6600">
+ <g
+ id="g3041"
+ transform="matrix(0.05527655,0,0,0.05527655,-22.484133,1026.5598)"
+ style="fill:#ff6600">
+ <g
+ id="g3043"
+ transform="matrix(1.25,0,0,-1.25,385.16156,1124.4318)"
+ style="fill:#ff6600" />
+ <g
+ id="g3045"
+ transform="matrix(1.25,0,0,-1.25,385.16156,1124.4318)"
+ style="fill:#ff6600" />
+ <g
+ id="g3047"
+ transform="matrix(1.25,0,0,-1.25,385.16156,1124.4318)"
+ style="fill:#ff6600" />
+ <g
+ id="g3049"
+ transform="matrix(1.25,0,0,-1.25,385.16156,1124.4318)"
+ style="fill:#ff6600">
+ <g
+ id="g3051"
+ transform="matrix(221,0,0,306,1,526)"
+ style="fill:#ff6600">
+ <image
+ id="image3053"
+ mask="url(#mask3036-4)"
+ transform="matrix(1,0,0,-1,0,1)"
+ height="1"
+ width="1"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN0AAAEyCAYAAAB+odX5AAAABHNCSVQICAgIfAhkiAAAA2dJREFUeJzt0zEBACAMwLCBf8/gohwkCvp0zcwZILNfB8BvTAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcRMBzHTQcx0EDMdxEwHMdNBzHQQMx3ETAcx00HMdBAzHcQu1KYDY6GxuR4AAAAASUVORK5CYII="
+ style="fill:#ff6600" />
+ </g>
+ </g>
+ <g
+ id="g3055"
+ transform="matrix(1.25,0,0,-1.25,385.16156,1124.4318)"
+ style="fill:#ff6600" />
+ <g
+ id="g3057"
+ clip-path="url(#clipPath3048-6)"
+ transform="matrix(1.25,0,0,-1.25,385.16156,1124.4318)"
+ style="fill:#ff6600">
+ <g
+ id="g3059"
+ style="fill:#ff6600" />
+ <g
+ id="g3061"
+ style="fill:#ff6600">
+ <g
+ id="g3063"
+ clip-path="url(#clipPath3054-7)"
+ style="fill:#ff6600">
+ <g
+ id="g3065"
+ style="fill:#ff6600" />
+ <g
+ id="g3067"
+ style="fill:#ff6600">
+ <g
+ id="g3069"
+ clip-path="url(#clipPath3058-3)"
+ style="fill:#ff6600">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#ff6600;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path3071"
+ d="m 41.14001,791.145 0,-187.8 42.2,40.8 40.99999,-69.2 22.8,0 0.4,19 -36.2,68 c 0,0 16.8,0 26.4,0 11.2667,0 36.2,0 36.2,0 l -132.79999,129.2 z" />
+ <g
+ id="g3073"
+ transform="matrix(1,0,0,-1,0.1400146,841.945)"
+ style="fill:#ff6600">
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#ff6600;stroke:#ffffff;stroke-width:12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path3075"
+ d="M 41,50.79999 41,238.6 l 42.2,-40.8 41,69.2 22.8,0 0.4,-19 -36.2,-68 c 0,0 16.8,0 26.4,0 11.2667,0 36.2,0 36.2,0 L 41,50.79999 z" />
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ <g
+ id="g3077"
+ transform="matrix(1.25,0,0,-1.25,385.16156,1124.4318)"
+ style="fill:#ff6600" />
+ </g>
+ </g>
</svg>
Added: trunk/img/icons/cursor-orange.png
===================================================================
(Binary files differ)
Property changes on: trunk/img/icons/cursor-orange.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-11-07 22:25:13 UTC (rev 1590)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-11-08 04:06:31 UTC (rev 1591)
@@ -1543,7 +1543,7 @@
}
div.jGrowl {
- font-size: 18px;
+ font-size: 18px !important;
}
/* Dotted tab panel */
Added: trunk/src/main/webapp/others/cursor-orange.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/webapp/others/cursor-orange.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/webapp/ws.html
===================================================================
--- trunk/src/main/webapp/ws.html 2011-11-07 22:25:13 UTC (rev 1590)
+++ trunk/src/main/webapp/ws.html 2011-11-08 04:06:31 UTC (rev 1591)
@@ -75,6 +75,7 @@
<script type="text/javascript"
src="http://wave.google.com/gadgets/js/core:rpc.js?c=1"></script>
+
<style type="text/css">
body {
background-color: white;
@@ -278,6 +279,85 @@
<![endif]-->
</head>
<body>
+ <div id="kcursor"
+ style="visibility: hidden; position: absolute; z-Index: 10000; height: 0; width: 0">
+ <img src="/others/cursor-orange.png">
+ </div>
+ <script type="text/javascript">
+ <!-- // This is only used for tests (comment/remove in production)
+ var newx;
+ var newy;
+ var k_cur_x;
+ var k_cur_y;
+ var xGreat;
+ var x_inc;
+ var y_inc;
+ var diff_x;
+ var diff_y;
+ function kmove(x, y) {
+ newx = x - 18 + 15;
+ newy = y - 7 + 15;
+ kmoveit();
+ }
+
+ function recheck() {
+ if (newx >= k_cur_x) {
+ x_inc = 1;
+ } else {
+ x_inc = -1;
+ }
+ if (newy >= k_cur_y) {
+ y_inc = 1;
+ } else {
+ y_inc = -1;
+ }
+ diff_x = newx - k_cur_x * x_inc;
+ diff_y = newy - k_cur_y * y_inc;
+ xGreat = diff_x > diff_y;
+ }
+
+ function kmoveit() {
+ recheck();
+ if (k_cur_x != newx)
+ if (xGreat) {
+ k_cur_x = k_cur_x + 3 * x_inc;
+ } else {
+ k_cur_x = Math.round(k_cur_y * newx / newy);
+ }
+ if (k_cur_y != newy)
+ if (xGreat) {
+ k_cur_y = Math.round(k_cur_x * newy / newx);
+ } else {
+ k_cur_y = k_cur_y + 3 * y_inc;
+ }
+
+ ksetCursorPos(k_cur_x, k_cur_y);
+
+ if ((diff_x > 3) || (diff_y > 3)) {
+ window.setTimeout('kmoveit()', 1);
+ }
+ }
+
+ function ksetCursorPos(x, y) {
+ document.getElementById('kcursor').style.top = k_cur_y + 'px';
+ document.getElementById('kcursor').style.left = k_cur_x + 'px';
+ }
+ function ksetCursor(x, y) {
+ k_cur_x = x;
+ k_cur_y = y;
+ ksetCursorPos(x, y);
+ }
+
+ function khideCursor() {
+ document.getElementById('kcursor').style.visibility = 'hidden';
+ }
+
+ function kshowCursor() {
+ document.getElementById('kcursor').style.visibility = 'visible';
+ }
+ ksetCursor(0, 0);
+ //-->
+ </script>
<!-- Banner for wave errors -->
<div class="banner" id="banner"></div>
<!-- Autocomplete user/pass -->
@@ -324,8 +404,8 @@
</li>
<li
style="background-image: url(ws/images/kune-intro-group.png);">
- <!-- Put here your site default group name -->
- <a href="#site">Work in collaboration</a>
+ <!-- Put here your site default group name --> <a
+ href="#site">Work in collaboration</a>
</li>
<li
style="background-image: url(ws/images/kune-intro-world.png);">
Modified: trunk/src/test/java/cc/kune/selenium/CustomWebDriverEventListener.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/CustomWebDriverEventListener.java 2011-11-07 22:25:13 UTC (rev 1590)
+++ trunk/src/test/java/cc/kune/selenium/CustomWebDriverEventListener.java 2011-11-08 04:06:31 UTC (rev 1591)
@@ -1,7 +1,6 @@
package cc.kune.selenium;
import org.openqa.selenium.By;
-import org.openqa.selenium.OutputType;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
@@ -45,6 +44,7 @@
@Override
public void beforeChangeValueOf(final WebElement element, final WebDriver driver) {
SeleniumUtils.hightlight(element, driver);
+ sleep(300);
}
@Override
@@ -76,7 +76,7 @@
@Override
public void onException(final Throwable throwable, final WebDriver driver) {
if (driver instanceof ChromeDriver) {
- ((ChromeDriver) driver).getScreenshotAs(OutputType.FILE);
+ // ((ChromeDriver) driver).getScreenshotAs(OutputType.FILE);
}
}
Modified: trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java 2011-11-07 22:25:13 UTC (rev 1590)
+++ trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java 2011-11-08 04:06:31 UTC (rev 1591)
@@ -68,8 +68,8 @@
public KuneSeleniumDefaults() {
// baseUrl = "http://kune.beta.iepala.es/?locale=en#";
+ baseUrl = "http://127.0.0.1:8888/?locale=es&log_level=INFO&gwt.codesvr=127.0.0.1:9997#";
// baseUrl = "http://beta.eurosur.org/#";
- baseUrl = "http://127.0.0.1:8888/?locale=es&log_level=INFO&gwt.codesvr=127.0.0.1:9997#";
injector = INJECTOR;
webdriver = injector.getInstance(WebDriver.class);
login = injector.getInstance(LoginPageObject.class);
@@ -95,6 +95,9 @@
LOG.info("Going home");
home();
resize();
+ SeleniumUtils.initCursor(webdriver);
+ SeleniumUtils.showCursor(webdriver);
+ login.getAnonMsg().click();
}
public void close() {
@@ -147,7 +150,6 @@
public void home() {
assert baseUrl != null;
webdriver.get(baseUrl);
- login.getAnonMsg().click();
}
public void open(final String url) {
@@ -163,6 +165,10 @@
js.executeScript("window.resizeTo(806,707); window.moveTo(0,0);");
}
+ public void showCursor(final int x, final int y) {
+ SeleniumUtils.showCursor(webdriver, x, y);
+ }
+
public void showMsg(final String msg) {
SeleniumUtils.showMsg(webdriver, "", msg);
}
@@ -181,7 +187,7 @@
public void showTitleSlide(final String title, final String description, final String token) {
gotoToken(TokenUtils.subtitle(title, description, token));
- sleep(3000);
+ sleep(4000);
webdriver.findElement(By.id(SeleniumConstants.GWTDEV + SubtitlesWidget.SUBTITLE_MANAGER_ID)).click();
}
Modified: trunk/src/test/java/cc/kune/selenium/PageObjectModule.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/PageObjectModule.java 2011-11-07 22:25:13 UTC (rev 1590)
+++ trunk/src/test/java/cc/kune/selenium/PageObjectModule.java 2011-11-08 04:06:31 UTC (rev 1591)
@@ -29,6 +29,5 @@
final ElementLocatorFactory locator) {
bind(componentType).toInstance(object);
PageFactory.initElements(locator, object);
-
}
}
Modified: trunk/src/test/java/cc/kune/selenium/SeleniumModule.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/SeleniumModule.java 2011-11-07 22:25:13 UTC (rev 1590)
+++ trunk/src/test/java/cc/kune/selenium/SeleniumModule.java 2011-11-08 04:06:31 UTC (rev 1591)
@@ -47,8 +47,8 @@
@Override
protected void configure() {
- // final RemoteWebDriver driver = createChromeDriver();
- final WebDriver driver = creatFirefoxDriver();
+ final RemoteWebDriver driver = createChromeDriver();
+ // final WebDriver driver = creatFirefoxDriver();
final EventFiringWebDriver wrap = new EventFiringWebDriver(driver);
wrap.register(new CustomWebDriverEventListener());
Modified: trunk/src/test/java/cc/kune/selenium/SeleniumUtils.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/SeleniumUtils.java 2011-11-07 22:25:13 UTC (rev 1590)
+++ trunk/src/test/java/cc/kune/selenium/SeleniumUtils.java 2011-11-08 04:06:31 UTC (rev 1591)
@@ -1,6 +1,9 @@
package cc.kune.selenium;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.openqa.selenium.JavascriptExecutor;
+import org.openqa.selenium.Point;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.interactions.Actions;
@@ -10,27 +13,57 @@
public class SeleniumUtils {
+ private static final Log LOG = LogFactory.getLog(SeleniumUtils.class);
+
+ public static void hideCursor(final WebDriver webdriver) {
+ jsExec(webdriver).executeScript("khideCursor();");
+ }
+
public static void hightlight(final WebElement element, final WebDriver webdriver) {
- final JavascriptExecutor js = (JavascriptExecutor) webdriver;
+ showCursor(webdriver, element);
+ sleep(300);
final String script = "window.jQuery('#" + element.getAttribute("id") + "').addClass('k-outline');"
+ "setTimeout('window.jQuery(\"#" + element.getAttribute("id")
+ "\").removeClass(\"k-outline\")', 1200);";
// Antes 700
// LOG.info("High: " + script);
- js.executeScript(script);
+ jsExec(webdriver).executeScript(script);
+
}
+ public static void initCursor(final WebDriver webdriver) {
+ jsExec(webdriver).executeScript("ksetCursor(100,100);");
+ showCursor(webdriver);
+ }
+
+ private static JavascriptExecutor jsExec(final WebDriver webdriver) {
+ return (JavascriptExecutor) webdriver;
+ }
+
public static void moveMouseTo(final WebDriver webdriver, final WebElement element) {
final Actions actions = new Actions(webdriver);
actions.moveToElement(element);
}
+ public static void showCursor(final WebDriver webdriver) {
+ jsExec(webdriver).executeScript("kshowCursor();");
+ }
+
+ public static void showCursor(final WebDriver webdriver, final int x, final int y) {
+ LOG.info("Mover cursor to x: " + x + ", y: " + y);
+ jsExec(webdriver).executeScript("kmove(" + x + "," + y + ");");
+ }
+
+ public static void showCursor(final WebDriver webdriver, final WebElement element) {
+ final Point location = element.getLocation();
+ showCursor(webdriver, location.getX(), location.getY());
+ }
+
public static void showMsg(final WebDriver webdriver, final String header, final String msg) {
- final JavascriptExecutor js = (JavascriptExecutor) webdriver;
final String opts = TextUtils.notEmpty(header) ? "header: '" + header + "'," : "";
// sticky: true,
final String script = "window.jQuery.jGrowl(\"" + msg + "\", { " + opts + " theme: 'k-jgrowl' } )";
- js.executeScript(script);
+ jsExec(webdriver).executeScript(script);
}
public static void showTooltip(final WebDriver webdriver, final WebElement element) {
@@ -46,5 +79,4 @@
Assert.fail("Exception in sleep method", e);
}
}
-
}
Modified: trunk/src/test/java/cc/kune/selenium/chat/ChatPageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/chat/ChatPageObject.java 2011-11-07 22:25:13 UTC (rev 1590)
+++ trunk/src/test/java/cc/kune/selenium/chat/ChatPageObject.java 2011-11-08 04:06:31 UTC (rev 1591)
@@ -80,13 +80,17 @@
}
public void openChat(final XmppURI uri) {
+ hightlight(openChat);
openChat.click();
jid.sendKeys(uri.toString());
+ hightlight(addToRoster);
addToRoster.click();
+ hightlight(openChatBtn);
openChatBtn.click();
}
public void show() {
+ hightlight(chatIcon);
chatIcon.click();
}
1
0
r1590 - in trunk: . img script src/main/java/cc/kune/core/client/sub src/main/java/cc/kune/core/public src/main/resources src/test/java/cc/kune/core/client/i18n src/test/java/cc/kune/selenium src/test/java/cc/kune/selenium/login
by Vicente J. Ruiz Jurado 07 Nov '11
by Vicente J. Ruiz Jurado 07 Nov '11
07 Nov '11
Author: vjrj_
Date: 2011-11-07 23:25:13 +0100 (Mon, 07 Nov 2011)
New Revision: 1590
Added:
trunk/img/kune-intro-en.png
trunk/img/kune-intro-es.png
trunk/script/recordScreenCast.sh
trunk/src/main/resources/TestConstants_en.properties
trunk/src/main/resources/TestConstants_es.properties
Removed:
trunk/src/main/resources/ConstantsTest_en.properties
trunk/src/main/resources/ConstantsTest_es.properties
Modified:
trunk/.classpath
trunk/img/kune-intro.svg
trunk/src/main/java/cc/kune/core/client/sub/SubtitlesWidget.ui.xml
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/test/java/cc/kune/core/client/i18n/ConstantsTest.java
trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java
trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java
trunk/src/test/java/cc/kune/selenium/SeleniumModule.java
trunk/src/test/java/cc/kune/selenium/login/RegisterSeleniumTests.java
Log:
NEW - # 127: Generate some screencast while doing automate testing
http://kune.ourproject.org/issues/ticket/127
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/.classpath 2011-11-07 22:25:13 UTC (rev 1590)
@@ -153,4 +153,4 @@
<classpathentry kind="var" path="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2.jar" sourcepath="M2_REPO/com/thoughtworks/xstream/xstream/1.2.2/xstream-1.2.2-sources.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path=".apt_generated" including="**/*.java"/> <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
-</classpath>
+</classpath>
\ No newline at end of file
Added: trunk/img/kune-intro-en.png
===================================================================
(Binary files differ)
Property changes on: trunk/img/kune-intro-en.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/img/kune-intro-es.png
===================================================================
(Binary files differ)
Property changes on: trunk/img/kune-intro-es.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/img/kune-intro.svg
===================================================================
--- trunk/img/kune-intro.svg 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/img/kune-intro.svg 2011-11-07 22:25:13 UTC (rev 1590)
@@ -14,7 +14,7 @@
height="297mm"
id="svg2"
version="1.1"
- inkscape:version="0.48.1 r9760"
+ inkscape:version="0.48.2 r9819"
sodipodi:docname="kune-intro.svg">
<defs
id="defs4" />
@@ -26,18 +26,31 @@
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="1"
- inkscape:cx="363.31745"
- inkscape:cy="109.6441"
+ inkscape:cx="345.61953"
+ inkscape:cy="349.06544"
inkscape:document-units="px"
- inkscape:current-layer="layer1"
+ inkscape:current-layer="layer3"
showgrid="false"
inkscape:window-width="1078"
inkscape:window-height="908"
inkscape:window-x="0"
inkscape:window-y="958"
inkscape:window-maximized="0"
- showguides="true"
- inkscape:guide-bbox="true" />
+ showguides="false"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="0,1"
+ position="131,154"
+ id="guide3323" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="208.72862,198.97495"
+ id="guide3325" />
+ <sodipodi:guide
+ orientation="0,1"
+ position="205.31483,107.7781"
+ id="guide3327" />
+ </sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
@@ -46,7 +59,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
+ <dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
@@ -55,8 +68,8 @@
inkscape:groupmode="layer"
id="layer1">
<image
- y="-644.93011"
- x="-128.63333"
+ y="-174.93011"
+ x="11.366669"
id="image3182"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABCwAAAL/CAIAAAAiCsF8AAAAA3NCSVQICAjb4U/gAAAgAElEQVR4 nOzdd1xT5/4H8OdkEkbYQxAEAQFBQVHcuFBxt7Zu62qrdtlxu27XbXt/be9tezutdVSr1qod2ioq bsWFoDIEFQWVvUfCTMg4vz+OTdPkEEIIgdjP++WrTc55zvN8zwr55pznOZRUKiUAAAAAAADm8Mue H1c8sVqpaKVpolarabVaRauVCoVSqVApVbRaZS924nR3kAAAAAAA8GCh6T9fU9QfEzXTaSQhAAAA AADQBWj6ftbxR05CE8K8QhICAAAAAAAWhSQEAAAAAAAsCkkIAAAAAABYFJIQAAAAAACwKCQhAAAA AABgUUhCAAAAAADAopCEAAAAAACARSEJAQAAAAAAi0ISAgAAAAAAFoUkBAAAAAAALApJCAAAAAAA WBSSEAAAAAAAsCgkIQAAAAAAYFFIQgAAAAAAwKKQhAAAAAAAgEUhCQEAAAAAAIviWbg9iqIEAgGP x+NwOBRFWbh1AAAAAIAHCU3TarVaqVS2trbSNN3d4RjLokkIn8+3sbFB7gEAAAAAYBYURXG5XC6X KxAIZDKZQqHo7oiMYrkkhM/ni0QiizUHAAAAAPD3QVEU82XbKvIQC/UJoSjKxsbGMm0BAAAAAPw9 WcttRxZKQgQCgVVsDgAAAAAA68V0wO7uKNpnoSSEx7N0D3gAAAAAgL8hq/jibaEkhMPBWMAAAAAA AF3OKr54W65PiGUaAgAAAAD4O7OKL95WkCcBAAAAAMCDBEkIAAAAAABYFJIQAAAAAACwKCQhAAAA AABgUUhCAAAAAADAopCEAAAAAACARSEJAQAAAAAAi0ISAgAAAAAAFoUkBAAAAAAALApJCAAAAAAA WBSSEAAAAAAAsCgkIQAAAAAAYFFIQgAAAAAAwKKQhAAAAAAAgEUhCQEAAAAAAItCEgIAAAAAABaF JAQAAAAAACwKSQgAAAAAAFgUkhAAAAAAALAoJCEAAAAAAGBRSEIAAAAAAMCieN0dAAAAAAAAPLAS 9u9jXkyYOEkz0TqSEHVrc/WJLxR1RVxbZ76zr2P0IzwHD7PUXJd+uixhI9/Z09a3n3vsIwIXL8Pl K/OyriVs0Z8+auU7IkeXdptrbWkkNPssga299lulvEWtUumUoTgcvo1tu61oUylaVYrWdpszZhG+ yI6iKM1bWq2uuptdmJYkKblLtNaKb2PnN3isb9QYnlDUoVCN0drSWH33elVeVk3Braaa8mZJlUqp 4AmENg4uNmJnJ+8A7/BhXqGDu6JpAAAAADDB/EWPMS+qKso1E60gCWmtKaj47Q1FXZFmijTtV3Hk TKdhS3j2biZXS6uUdze9Lsk4QwhpKcmrz75Qf+NSyCtbOHyBgaXkjdLK3Gv601VKlm/tOorSz57b /C7rLL/B40Y/8Y72lAvff1By7aJOMSefwGlvbm63IW255w6k/bpef/r8L49w21jTthZ59NMDTOqi bJVlH95xL+V4i7SGtYaSrOTLe77wGzyu/+SFYk/fDgXclsq8a7lJ+wvTz9Jq3dxMKZc1yksbq0ur 717PO3+Qw+P7DR43YNpSBw8fszQNAAAAACZrbmpSqZRKpVJ7ohUkIfUZ+7UzEEIIUSnq0/Y1XDso jnrIadgSrq2TCdVWJf3KZCAazQU3i3/9wm/hq50Itk2yhrrU3Z+zzrJ1do9Z9GJXNNoVqu/dSN72 UUNVieFiSrnsbvKRovRzI1e+6RMxvDMt1hXnpe76vCb/ppHl1UpFfurxgisnA4ZNiXp4lY29Y2da BwAAAIDOsNbbsVqr8lin08pW6ZWf6zMPOA5+xHHoQq5IbHyd6lZZ+ZFt+tNlZXdNC7Jdqbs+kzdK WWZQ1Ihl/xTYOnRRu+ZVmHbmwpb/o2m1keUVsqakb9+Mmv1E/8kLTWhOrVJmHtiSc/IXWm1sixq0 Wn03ObHsxuXRT7zjHhhhQusAAAAA0Hmst2NZwehYqqZaA3NphUyS8mPhpnm157eo5Y1G1lmV9KtC Wq0/ne/kbkqI7bl76Whx5gXWWf0nLfDsF9UVjZpd9b0bF7d9ZHwGch9NZ/y+OW3vtx1tTiFrObP+ jZvHfzIhA9FokVaf+PyFnFO/mlwDAAAAAHRGc1NTQ720rvYvt/FbQRLiMubJdsvQrc2S5O2FG+fV JW9XtzYbLqySt5Qf3c46y8azjykhGtRUW3n153Wss1z8+g2cucLsLXaRC1v+rVYqTFs25+Qvheln jS8vb5Se/OLF8ptXTGtOG61Wp/26/nbS/s5XBQAAAAAdlbB/3+GDB44dOaw90QqSELt+Y+36jW23 GMXjOIeKRdykpgtPNWd8rm5taatk1emflA11+tM5Ahu32Ec6FasemqZTdn6skDXpz+LyhSNXvMnh WsEdcQzWtTDepR8+bpZUGVNSrVKd++692sLbhovxhCIXv37OvsE8oU27dV75+asOZUEAhJDc3Nx3 3nnn8uXL3RhDXl7ev/71r+6NAQzQ2UHG76+ecHQxJBJJd4fwIDD7Du0h+0Umk6WkpHz77bdr1659 7bXXioqK2l/G4vA52fPNX/QY8097onV8A/aY+W7j9aN1yduV0jLWAjaudh5D/XgiPiHExoUQcqfq 4Aq+3xxx1GwOT6hdUiVrKj/2A3srExbwHZzNG3nu2f3lOWmss6LnPmOukaO6i9De0dE7wMHdp0VS XV9R1FRTbuBmLaWs+fqRXUMXPN9uten7NlTezmhrroO7z4CZKzwCB9g6/3nvXHNdVfW9G9lHdkqK 77AvRtMXv/9AJHZB/xBrt23btuTk5IULF44bN66r28rJyamoqOjdu7cxhVNTU0+fPr1y5Up3d3Pe 1ZmTk1NeXu7jwzLUWxe1CB2is4MM7C/9BY0/usyC9YBJTk7etm3b3Llz4+LiLBaJGZn9LDC5wlu3 bplxh3bpfikuLk5ISLhz5w5N02FhYfPnz3dwaLNj6meffVZWVhYaGjpp0qTGxkZjjm3L0znv8NnY A1nr6FiEEIrDdRgwzb7/5Ibsw3XJO1QNlX+dTdwH92YyEA3X/i7FpzZJU3c7DV8ijpxFce/PrTy5 W9XE0kGcI7T1nPyY/vTOqK8sTt+3kXVW78hRQaNnmLc5i6EoTsiEOWFxC3QejaJSKvJTj6f/tqm1 qZ51wTsXD4fHL7I12PGmMC3p1um9rLMEtvYDpi8Pjp2lf/nI1tndz3ms76DYovSzGb9vbqwu1V9c rVSk7Pxk2ltbOVyuodWDHuzu3buXLl0ihOTl5VkgCSksLBQKhV5e7Tw+iJGSklJSUuLmZvq44awK CgoEAgFrDF3UInSIzg4ysL90dOjoMgvWA6apqcnd3T00NNRiYZiX2c8CkyssKCgw4w7tuv2Sn5// v//9z9vbe/r06ffu3UtJSREIBEuXLmUtnJmZWVBQ8NJLL4WEhJg9EjPSOe/w2WgtrCMJYVBcnjhy lkN4fP21BMmlnaqm+71bHPxc+PZCncIcHodvJ2iprKk5+aUkdZfziGUOEdNU8paK4ztZK/eMW8Sz M+dYrmq16tL2/6gUcv1ZNmKXYYtfNmNbluTUO3D4kldc/Prpz+Ly+IEjp/kMHHXlpy8Lr57RL6BW KgqunAmLm9tW5WqVKuP3TayzuHzhuGf/6+YfZiA2iqL8Bo916xt+7JNnm+sq9QvUVxTlnjsQMu5h A5VAj0XT9O7du/v3719SUpKXxz5onnkVFBT07t1b+xmdBhQWFhpfuEMx+Pr6cjgst852UYvQITo7 yMD+0l/QwruP9YCJi4uz0msgDLOfBSZXaN4d2nX75ZdffrG1tX3ppZeEQuHo0aNTU1MN3PeVkJDg 7+/fwzMQonfe4bPRWlhTEsKgeALHwY84DJxRn7FfkrJT3SJ1CmV/erqyRUHTNCFEWV9ZdfSTmhNf 0MJeKhnLCFpckb1H3GLzxnnz+E/V926wzhqx7HWhdT68QmDrMOG5T2wcDD2YxcbeccTS12sLbrNe jqi4nWYgCbmbnNhYzXLHHUVxRj3+luEMRMPWyW38s/89/r/nWptZ9nX2oe0BMZMMPDAeeqxz586V lZWtXr36559/zszMlEgkTk4sh+LWrVtTUlL++c9/+vv7E0Jyc3M//fTTVatWRUdHMwUyMzPXr1// 6KOPTpo0iRBSUlJy4MCBu3fvEkJCQ0MXL15sY2NDCJFKpVKp1NnZ+euvvy4uLpbL5X5+flOnTg0L YzkOJRJJfX19fX396tWrCSHjx49fsGABM6upqSkhIeHWrVt1dXW+vr6zZ88OCgrSXtZAASaGwYMH m7dFbW2tfmNj488//1xaWlpfX9/U1OTk5BQcHLxw4UKh8M9ffBobGxMSEm7fvl1VVWVvbz9x4kRm kxpeo1dffVU7WolE8tprrzFTGhoafvjhh7KyssbGxpaWFkLIBx984Orq2tDQsHHjxrKyMoVC0atX r/nz5/ft21cTRl1d3YEDB+7cuVNbW2tvb+/m5jZp0qTIyEjDK6jPtNXR3kH6+6utyI08ugw03dFt xXrAaG98Yxo15qgwwIQtbLhFA2eBaQe2gQq1t09ycvLNmzdzc3P5fH7fvn2ffvrp+vp6qVTK5XLf fffd6upqR0dHnS3T1n5h3Y9cLld7vxiz2Q2fBRoqlSovLy8iIoJZNjc3l6bpAQMGsO4viUTC9ADR 3hptHXgGtrnhPWLMcRITE2Pgc0PnvGPdiaZ98nQobDCB9SUhDA5P6DRknnjgTNmN9Xzbe/oFaLVa 0dxKEYpQmilK0lLk2Eckq1XI6xWE/Jkie05awjPrkzokJXezDm5jnRUy4dFeYUPM2JYlDZqz2nAG wuDyBYMfffrshrf0Z1XmZdFqNcX2MyGtVmcnsl+nipi+tPfAUcbH6dirz4hl/0z69k39WfKm+txz B8KnLDK+NugJmpqafv/99+nTp7u5ufn5+WVmZhYWFrImITwejxCi/mNk50OHDhFCXFz+vHXw7Nmz YrGYuZsrIyNj48aNvr6+I0aMuHHjRmpqKo/HW7ZsGSGkoKCAEFJUVBQeHj5ixAiJRJKWlvb111+/ 9NJL+t/pmcLDhg3z9vYmhPTv35+ZXlRU9OWXXzY2Nvbv39/Z2fn69euff/7566+/7uvra0wBpto+ fVhG7TO5RW0GVv/u3bspKSlhYWGRkZFqtfrmzZvJyclqtXrlypXMsvn5+evWrWtoaAgMDJw8eXJF RQUTiTFrxOSHjMLCQs2Ue/fuZWZmDh8+3Nvbm6ZpBwcH5nuAXC738PAICQmRSqUXLlzYtGnTf/7z H2bxW7durV+/Xi6XR0ZGDh06NC8vLycnZ9SoUe2uoI7OrI5mB+nvr7YiN+boMtx0R7cV6wGjvfGN abTdo8IA07aw4RbbOgtMPrDbqlDb999/f+vWrcjIyLi4uLq6OqFQSFEUs6BYLO7Xrx+Px9PfMm3t F9b9eO3aNe390u5mN3wWaONyuSKR6N69e/X19UVFRVu3bg0ODo6NjWXdZczhobM12jrwDJ9rnTwT DX9usJ6GOmGb9sljfNhgGmtNQhgcHs/WsZaoWGbV59fSSlr/WhyHR9l6CGxc+E3lcqVMTQjh2oo9 Juj+1NEZapXy4raP1Cql/iwnn8Co2U+YsS1LcvUPCxw5zcjCvQeOdAvor38tSClrljdJbdgGAKgp uMV6DxWHywuOnd3RaH0GjHDy6SspYXn6ZHHmBSQhVmf//v12dnaTJ08mhPj5+RFCCgsLBw4cqF+S z+cTQhQKBSEkPz//5s2bhBBHx/vXHqurq69fvz537lw+n19dXb1169ZRo0YtXryYoqg5c+a8+eab THnyxx+tl19+WfOj+/Dhwz///PMLFy7oJyHM37P4+Hjmzx6jubl5w4YNQqHwH//4R69evQghqamp W7ZsOX/+/MKFC40pYCAJMa1Fbcas/rx585j6Z8yY8corr9y6dYuZK5PJNm/eLBQKX375Ze2b4NsN gAmb2YPaDTFTmNeTJ0/W6fzq5uamuWe9oaEhIyOjtbVVIBBIpdLNmze7uLg888wzzP3fBw8ezMnJ YbaY4RXUZvLqtJuEtBV5u0eXkU0bv61YDxjtjW98o20dFQZ0cgu31SLrSnXmwGatUFtKSkpWVtYT TzwxdOhQ7elMtcuWLWtryxg+EnT2o85+MRyz4bNA37Rp0/bu3fv+++83NDQMHz580aJF3Db6STLt Tp06ldk12hN1Aja8zTt/Jh48eJC097mhWV/WnWjCJ4/xYYPJrDsJIfXniYqll7lapZbcqiR6GYgG h0fZegkbCmW0mvaaspQrMufNOVmHtktKWMZo4vD4I1e8weULzNiWJXmFDOpQeefeQaw3pMkaJKxJ SNmNVNZ6ekeOtjHp7rXQiXMv7fiv/vSaghxZg8SYSzrQQxQXF587d27NmjXMH0vmL2JbI0WKRCJC iFwuJ4QkJiY6OjpKpVKZTMbMPXLkiKOjI/PL3/nz5+Vyua2t7dGjRzWLMzkMIaSwsFAgEGj/chYa GmpnZ1ddzfKcU9buyElJSdXV1UuXLtX8CQ8MDCSEVFRUGFmgsLCQz+ezdnU1rUVtxqy+pn4ul+vk 5MRsVU1DS5Ys6WgA+mFrT2HWV/sbD4Om6du3b5eVlfH5/MbGRhsbG4FAQAg5c+ZMQ0PDggULND1Q CwoKNFvM8Arqh23C6ujsIP391Vbk7R5dRjZt/LZiPWB09rIxjRo4KgzozBY20CLrSnXmwG53XAGm N5r+EFjtbhkDR4L+ftSpzXDlhs8CHRUVFUz20tDQMHPmzBkz7g+Qk56e7uXlpR+Gfld71oANb/PO n4nGfG4YHhzChE8e48MGk1lzEqJuJXXHWOc0FEhVMiVFaNJ2IsLlUSJXXmuLnfv4+QYakZblX97z heatvJF93KcLW97XZBdVedmsZQbNWePkHWCgrR5O7NWxJznau+n+dWTIG1nyRkJI6fUU1um9+g9p rCnvUNMMt77hAlt7lp4hNF16PaXv8Ckm1AndYvfu3UFBQZr7m93c3Ph8fmkpS6cjQohYLCaENDc3 l5aWZmZmLlu2bNu2bQ0NDYSQurq65ORk5jIIIYQZVF77DwwhJDg4mHnB2sNYqVSy3hDMWjg1NdXZ 2Xn48OGaKcw4mMyXD2MKGOjlbFqL2jq6+nV1dZrvXqmpqU5OTiNGjNCps90ACgsLdarVboh1paqr q7/++uvy8j8/BJjvqYSQq1evenp6anr76NRgeAV1wjZtdQz3SjcQebtHl2nHRkdb1JloQqPaR4UB 5trCOi2yrlRnDux2xxVgbhJbt27d9OnTY2JimJs/2622k/vFcOWGzwJtt2/fXrduXWho6FtvvbVu 3boTJ07ExMR4eHhcu3Ztw4YNa9eu1fkWztrV3oRt3vkzsUOfG6wRmvDJY3zYYDJrTkKkZ4mqgWU6 xbcf8R8lf780/TeiVBi4HsIVcjxjl3GFIgONKGTNlbnX2o2lJj/HcAHv8GHWPiiTYy/zJCEqRSvr dElpPuv0lJ2fdqhdY1TmXUMSYi1SUlKYXx+ZXoYaVVVVCoVC/3cp5s4riURy48aNkJCQQYMGaZIQ 5jLI6NGjCSE0TdfW1oaHh69du1a/UYlEot8j/MaNG3K5PCBA96cEph+k9pcAQohSqSwtLY2IiNC+ 1UH7BoB2C7DG0JkWtXV09SUSSXNzM/MNTKFQFBcXDx8+XPMNzMgAGhsbJRKJdi9Y7RVh7YVP0/S6 deuam5tffPHFoKCg4uLijz76iLnvgqbpysrK6OhozZck7RoMr6A2k1dHZyvpvDUQebtHV7tNd3Rb sR4wOmGYcEBqHxUW2MI6LbKuVGcObNYKdYwZM0alUh05cmT79u379++fN29edHS0/u7QrtbAfmHd j4aPK/3KDZwF2lQq1XfffderV681a9ZwOJw1a9Z8+umnGzdufOGFF3bt2hUcHBweHq4fhs7WaOvA M7DNO38mGv7c0N9c+jvRtE8eI8OGzrDaJEQtJ3XH2Wc5juE6+LqOf9Zx6ILqk1813z7d1vUQtZLj Ma7NkZrMSGjvNHzpqxZoqEvZuXZs+HNbF0/jCyvlLapWWQcjMp1MWmuxtqAz5HL5vn37wsLCdMbL T0tLKygoKCsr0/96zVxer6mpycjIWL16tY2NjUgkqqqqqqioOH/+/IoVK5i/cDKZTK1WS6Xs1+X0 O+zSNL1v3z6KorR/tWUwP3Dq/IjI3CzR2PiXC3GJiYmEkGHDhhlToK38weQWtRmz+tr3lGvfUd3U 1ETYrq60G0BdXR3R6p+jWUfW3qWMvLy8srKyuXPnMgdAfX29poxcLqdpWvuOF+0aDK+gNpNXh/XG fc1bA5G3e3QZ2bTx24r1gNEJo91GDR8VBpi8hQ23yLpSnTmwWSvUQVHU+PHjx44de+3atd27d2/e vNnf37+kpISwdXpmqjWwX1j3o85+MRyz4bNAW15enlQqnTZtGvN7f0BAwIIFC3bu3Pn+++8TQp58 8sl2t1VblRve5p0/E4353NAchKw70YRPHuPDhs5ofyzzHkpyurK0+kZmXWlRU0uzVhdwSkCcJzEv efZuXrPf95jzP5lESdMsddj6D+IILDHUWsj4Oay9IKwLRXXsaOFwOvBMQFlDm+OUdwVZQ50lmwOT HTp0qLm5efny5fF/xXRJZ70jy8vLi8fj5eTkeHh4ML/teXp6pqSkbNmyxd/ff8iQ+2PTiUQiZ2fn uro65u+TDp0/S3K5PDExsaioKC4uTnugLQbzrUKnc6dIJHJwcKitrWXqp2n68uXL169fj42NZR7i 226BqqoqQgjrE39Na1GnsPGrrzPFzs5OKBTevHlT09PGyACYIctKS0vpPz6Rtb9OsX4VqKysJIRo fuXVLm9jY+Pl5XXz5s309HS5XF5UVHTq1ClNDYZXUJvJq6Ozg3TeGoi83aOr3aY7uq1YDxidb28m NGpg4ASzbGHDLbZ1Fph8YLNWyIrD4URFRQUFBQmFQj6fr/97gXa1xh8J2svqJLdtxWz4LNDGbPzm 5mbNlOjoaC8vr/r6+piYGO0v6KxhtBUMaW+bd/5MNPy5oXPese5EEz55jA8bOsM6r4SoWi4n7Ny1 8YacGd6KR42a4Bk/x9fJRUgcxxLuXwbbrUk+3lLdKqtV2LjwhGIexaEIIWoVLavn9X/hE8vEe+v0 3qAxM03rXf030drMdmddl2mpx5UQK1BZWXny5Mn4+Hj9oXiZYU/KylieKsPlcnv16lVUVLRq1Spm ir+//5kzZyiKeuONN7RLjho16uDBg2+++eaQIUMcHR2LiormzJmj/Wfp1KlTjo6OlZWVGRkZcrl8 yJAhjzzyiH6LTH/Qw4cP19bWNjU12dvbz5w5k8PhjB079uDBg2+//fawYcNyc3MrKirCwsLmz7/f Ca3dAszXgn379i1fvtzT07PzLeowsPo6HWHJX7uo8vn8YcOGnT179sMPP2QeOFBWVjZv3jwXFxfD Afj6+jo4OKSlpb399tsxMTFKpfLq1avafUP1u5MyG+HYsWM1NTUikejy5cvaZebMmbN58+YNGzZo Nql2/1QDK6jN5NXR2UGsb1kjb/foandXdnRbsR4wOpWY0Kj2UbF58+bCwsL3339f/wlxJm9hwy2y rlRnDuy2KtTIzMxMSEgIDAy0s7MrKytLS0tbtmyZWCw2XK2B/cK6Hw33StepnLR3FmgEBwcLhcKE hISqqionJ6eqqqrs7GyxWDxlypRjx475+vrqXOM1JjYNw+daJ89Ew58bOucd60404ZPH+LChM6wy Cbm87/Pvv/yz87dKSZ89Vn7xdMWYyb2nPDdYrFVSXl1SczGBEEKr6ZZqRUuNgsOlOHxK1Ur3nvcq h2/U85U6T94ovfLTl6Mff8cyzVkjgVmf09IuuWUvvIBpfvrpJ1tbW2ZYXh3M1fa2+qb37t27tbVV c48vc8195MiROn8/Zs6cyePx0tLS0tLS7Ozs+vTp4+x8/4qlt7d3XV1denp6S0sL89yxCRMm6Nwz rREQEDBt2rRLly4dP37c1dV1woQJmvoFAkFKSsqVK1d8fHzi4uLGjBmj/RXNcIHg4OCQkJDS0lL9 HylNbtHI1dfvpqnTRXXRokUODg6ZmZlJSUkikah3795Mj2rDAXA4nJdeeumnn34qKio6duyYnZ2d i4vLiBEjDPQNjYiImDZt2sWLF0+fPi0UCp2dnWNjYzVlIiMj33333du3b9M07efn9+WXX3p5eWnm GlhBHaatjs4O0nlrIHJjji7DTXd0W7EeMPqVdLRRzVGhVqtv3LgRERHR1sFm2hY2fBwaOAtMO7Db qlCjvLxcrVYnJyc7OjoGBgYuX76c6UJtuFoD+8W0Xuk6J6Phs0DD1tb2lVde2bt377Vr1/h8vp+f 3+zZs2NjY7lcbm5u7s8//zxo0CDtpx8aE5uG4XOtk2ei4c8NnfOOdSea8MnTobDBZJRl7nhjxqsx D1XT7jfmnTtewjqTb2Mzdt78ycuW2zs7E0Lyt7/HJCE6BC5e4f/+jcNrf6i16ns3jn3ybCdDZoxZ 9Z5v1BgjCydteKvk2kWdiY69/Ke/vbVDjd488XP6vg360+d/eaStwYJzTv2a9ut6/emPfnqgQw8a ryvKS/xolf70cc/8xzs8RmeiUt7y84vTja+88xatP2XJ5gCgS128eHH79u1z586Ni4vr7lj+du7c ufPxxx8/88wzrI/uAYvBWQDamJvTussve35c8fgqpVJBq2m1Wk0TolIplUqlUqFQKpU0rXYQO1rh lZC6E8UFbW5WhUx2Ysf2c7/8PH7R4tj4CTXJh1iLeU173JgMhBBi5+I1+NGnNW8lJffuJifqF4uY +pjA7v5v+c11VTknf9Evc3n3Fx7BkUI7o/IxLo8lQ2isKadpuq2fmlg1VrP/VEwZcdurJfGEIi5f qFKwjDc/auXbTr0DLR8SAFgLmUx2/PhxPp9veGgj6CLHjx/v06eP9ju8GBsAACAASURBVOhDYHk4 C8DqWFsSomog0iTfAPt7tw11IZC3tBzZ8l3ruR0Bjmr9uQJXb7eRM/WnsxI5uoROeFTztijjPGsS 0nfkVHutwaPqywv1n3oha6i7+vPXI1e8aUy7rI/SU7XKmmrK7N3Yn+TKSlqWrz9RYGvfoV7jluHo 7V9bwPLkXVlDnaMX7sIEgL9ITk5mruTn5+dnZWUplcoVK1bgfgnLa2pqKi0tXb58eYd+IAOzwFkA Vs3akpC644Runb2wT2ZqjbSO/XETDEcb4i9WsQ7O22vGkxS3a1d8yILnD72/Qv93/fzLJ/2ix/Ue OKrdGmzEuiPwMCSl+R1LQtgeviG074kPC+8VNpQ1Cam6mx0yfo7l4wGAHksikezYsUOtVnM4HGdn 5/Dw8Pj4+L59+3Z3XH9HdnZ2zDCvYGE4C8DaWVUSopQS6TlCiMiWt/L5kB++za2uaPPJEoN9OKy/ ygg9fF2HT+vCIAkhhNi7eg2YsSzjt036s1J3fe4RNLDdftgiR1fW6fmpx3sPHGlkGBW30uVNLLeu tZXhdC/v8JjrR3bqT6/Ky1arVByT7h9Tq1U98JoPAHSSk5PTt99+291RAHQnnAVg7azqOSF1xwit YF4G93f81xfRi9cEubixjHBlyycBzuzXhSUu4UqlqguD/EPohLlOPiw9GWT1tVd/+abdxT37RbJO L0xLKtbrsM5KpWhN2fU/9sqD2SvvXq4BYazZUYu0+uov60yoUKVUnFn3WtK3b0nLCzsdHQAAAACY jfUkIco6Ir2gPYHLpUZN8Hr3q+gFz89xdPfQnmUvIKyXQSQt9K4fDr4zc8bZX35WKhRdGi+Hy41Z /BJhC+NeyrGSrEuGF7d38xa30RHi8p4vFLJm1lnasg5ta6xi75XuPUD3kc89AYfDDZ+yiHVW7tn9 eecPdqg2Wq1O3v5ReU5aSdbFw/+38vLuL/CAQgAAAIAewnqSkNojhCj1J/OEjrGPvf5+wsG5r7wq dr1/C5OIz34ZJK1UTQiRVlXu+ejDdx+adeG3fSolS53m4uYfFjxmFuus1F2ftbY0Gl68rduuWiTV Rz9+pq4or60Fla3yy3u+vHFsD+tcG7Gza59Qw013l6DRM0RObqyzLu/5Ur+vf1sUsuaL2z4svHqG eUur1bnnDhx4Z0n2kR+VrSwDcAEAAACAJVlJEqKoJvXJ7LOcJxOOgC8QjF+46P2EQw+/8KK9k3Nd C61Q0ToFa5vpe7V/TqwtK/vx3++/N+ehSwcT1KquukEravYTrL07WqTVrM/i0BYy/hGuwIZ1Vn15 wdGPn75xbI/OJRG1WlWZl3Xko1W5Z/e3VW34lMU9dgwTLl8QOetx1lm0WnXmm3+e3/J+U22l4Uqq 7l5P/PDJgiu6jwFRyluuHdhy6quXaVr32AAAAAAAS7KSjum1RwhhGWyXcB2JeLTmncDGZtLSZWMe nXtmz+7Lv20Z6f3n8Fn1MvrsPZZMo7q4eMc7bx/Z8t2M1U9FT5li9m/nfJFd9Lznzm9+V3/W3eQj foPH6T+2T0Pk6BoWNy/78A7WuWqVMuP3TRm/b3Jw93H2CxaI7OuK8yQld1UKQ4OG2bt7B8eyX5zp IfoOn1KVl3Xn4mHWuYVXz5RcSw6bNL/3wJFiLz+eVpKmUrQWZZ6/c+FQxa30tiq3cXAe/tirPTYH AwAAAPibsIYkpLWSNLRxH47LFMLRfeagja1t/MrHx86bf3Hd++VXkxx5yspGOr1UrXdp5E+VBQVb 33g9J+XSkn+9a7aw/+A3KNY7YnhpNksnkNRd/5v+1la+yK6tZftPmp9/+URbXTsYDVUlDVXsz4/X RVFD5j3H6eLhiTtvyPy1ktK7Nfk5rHNVCnn24R3Zh3cQirJ39RJ7+Slb5c21FU21lbTa0BUtga39 hLWfiD19uyZqAAAAADCWNdyOJU0ihC2B4DkTcZuD1Yrs7Se+/vHDW46rR6/IqhUayEA0Lu7/PSfF 2F4HHTJ0wfOsN1Y111Wl7dtgYEGeUDT+mf8K7R3NEsaQec95hw8zS1VdissXxK7+t5NPe4Od03Rj dVlpdkrl7YzG6jLDGQhPKBr37H/brxMAAAAAup41JCHKWvbpzvGEaudHfVuxeNYzz/774OG4pcv4 Nuz9K7QdWG/KULDtsnPxHDhjBeusOxcOledcNbCsg4fP2Kc+bKtziPHCpyzqN/ahTlZiMSJH10n/ +KpX/6Fmqc3Fr9+UV9e7+YeZpTYAAAAA6CSrSEJYHrdHeK5EbOw4s/bOznNeePHfCYfGL1rMEwgM lHR0ZR+aqfNCJsxx7h3EOuvSzk8VshYDy7oFhE159RuT7yPi8Pgxi/8ROfsJ0xbvLnwb27FPfxgc O7szlVAc7oDpyye/8o1jrz7mCgwAAAAAOskakhAbtq+PLlMJ1bEnYYtdXee+/Mr7Bw7Gzp3H5bFf QvHp18+EAI3B4XBjFrE/NqS5tiL9N0M3ZRFCnLwDpry2IWD4FNYaDC3o03fKK98EjZreoaV6CA6H O3TB8/Gvb/AKjTZhcVf/sCmvfjNg+lLTnrYOAAAAAF2kp/dRJoQQt4dJyx3SqtX3WjyaOJjYt8HJ w2PBP9+YvHxF4nebkw/s1x6c1ye434hZXThylKt/aL+xD90+85v+rLxzCX0Gj/MMGWRgcb6NaMTS 1/pPmp91eEdhWhJpb5xZR++AAdOW+g6KtfbBoFz8+k1Y+0l5TtqtM/vKc9JUrTLD5XlCG/+hcUFj Zrr4BlsmQgAAAADoEEoqlVqgGbFY3KnlFTWk/hJpLSHKeuI6i9ia53pFdXHx6T27a0pK6muqfUND H/3HK3yh0PAiapVSKWf5Esy3saU47V9WUqtVyjbuvOLw+DxBO61ryBul5bfSym9elZTclTVK5I1S tUoptHMU2jvauXp6hQz2Co02+QYklaKVdZxfvsiuQ/lMWyvLE4pMvjShUrRW5GaWZl9qqCyWN0pl DRJ5o4TLF9i5eNm5etm5ejl5+/sNHse3sTWtfgAAAIAHQH09W3cGS/llz48rHl+lVCpoNa1Wq2lC VCqlUqlUKhRKpZKm1Q5iRytJQgAAAAAAwDg9Pwmxhj4hAAAAAADwAEESAgAAAAAAFoUkBAAAAAAA LApJCAAAAAAAWBSSEAAAAAAAsCgkIQAAAAAAYFFIQgAAAAAAwKKQhAAAAAAAgEUhCQEAAAAAAItC EgIAAAAAABaFJAQAAAAAACwKSQgAAAAAAFgUkhAAAAAAALAoJCEAAAAAAGBRSEIAAAAAAMCikIQA AAAAAEAXoChCUfdfEEL98Y8gCQEAAAAAAAugtV7zui0KoykVioT161IPH5ZWVbVVZtk4G0uGZAHb z8i6OwQAAAAAYOfo7j5s+owZTz3N4/O7O5YeibkAwqDp+/+lCP3HOytIQg5t+Pb49u3dHQUAAAAA wH3Sqqpj276nKGr2c2u7O5YeiaZ1p2jSEooihLKC27EuJRzo7hAAAAAAAHRdOpjQ3SFYAb10hBCr 6BMira7u7hAAAAAAAHQZ6CwAGvevgDDXRv64HGIFSQgAAAAAAFgTreGwaO0pf9yUhSQEAAAAAADM iqZpQmiapimK0mQeNM38o5CEAAAAAACA2XH+zD7o+0nIH48NoQmNJAQAAAAAAMyM1qKmaUITilA0 zXQLsYbRsQAAAAAAeiCeQNDdIfRUWg9KJxRFURRNEUJoDiEUoQiuhAAAAAAAmMbG1ra7Q+ihaLWa eXG/+wfN9FCnaIpi+oogCQEAAAAAMIXQzq67Q+iJOBxOU3OTZiQsmvx5CxaHoigOp7m5GUkIAAAA AIApnNzduzuEnojP4xUVFBBC7ncAoQmhaYrQzN1ZXA6ntKQYSciD7IUt389/863ujsJCbMVi3Jdp Rn+rgwcAAMA07n5+3R1CT2RjY3MtM12pUN4fqJe6Py4WM1oWh8vNuXmT191BWs6wzy7VXjudu+2f 7U60Ls5eXq/t+bmxtvajeY+qlErtWb2CgqpLSrqu6eUf/ae2rOzAV192Uf3/TTqXlZS08x2jvgqv 3byFLxT8Z/48hVzeRfFoB6YzRT9OA/uFweFwRs+d12/YMJ/gYHlLS8nt26kJCbdSLpk3VC6fP2be /H5Dh/YKDGptaSnNy72SePj6ub/Ez7ofu/rgAQAAeAB4+Qd0dwg9EZ/Ps7O3P33q+IQJkygul6Oi 1YQiFMXhcigO//y5sx4eHn+jJORBFTNzFkVRDq6uAydMSD92zJJNh40clZWUZMkWDagtKyU0USkU lmmu/N7d9OPHNW+rCgt0ChjeL86eXovfe793aGh+1rUriYkie/u+UVErP/4k+fff9n/5haYvVye5 +/V57P1/e/j738vMuHL4kI29Q8DAgUv/78OMkyd+/vADTWrUo/YjAACAFfEL69/dIfRQQUHBeXl5 v+37dcDASF8/P5HIViaXFxbm37ye7e7uEdY/HEmIdeNwuUOnTss6cyZ46NAxj86zcBLSo2x64XlL NldVWHTmx51tzW13vzzy2mteAQE/vvtO1pkzzBQuj/fQiy+NeOjhsry8lIQDnY+Q4nAWvPmm2N39 +9de1Vxg4XA4U9c8FTt/QVle3pldP3a+FQAAgL8tnkAQGBXV3VH0UBRF9evXTyqVFuTfzcxIUygU fL7A2cV54MBIZxdXiqKQhOji8Pg+U5507j9K4OzVXJpbfu7n2sxTmrl9F75t2yuQ7+DKs3NUyZqb S26VHNti3yfCJXKiyKuvurW5uSS34MBXLeV3NYsInDz9Zj0nDhxMKKrxXmb+b5+3SirMFW3oiBEO rq6nd+1skkqGz36od2hYcc5N7QJuPj7LPvjIJzREKLItzc1NSTiQceK4dgEenz9pxcrQkSOdPDzL 7uRd2Pur5msxYbshSmfKgLFjmXuTjL9vymQdCnXeP9/oFRjk4OIiEosbamqKbt44uG6dtLqqSyPU MLxfImLHBkcPObZ1i3b8KqVy36ef9AmPiF+16tqZ0y0NDZ2MYei06b1Dww589aX2LV5qtfrQ+m/8 BwyIW7Y87djR+upqZjrrfvTr3/+lbTtcvL0b6+r0N6CTh8e0p54OHDSIECo/Oyvhqy8llZXMrKX/ 96Gnv7+dk5ONnR3F4Xzz1OrCGze4fP7QadNDhw8PHDRYqWgty7vzwztvdX41AQAAukvfgQP5QmF3 R9GjOTk5OTu7MJ1BKA5F/fkMdYKO6X9Bcbhhz2zwnriUI7CpyThh1zskeNmH3hMe0xRwHzqdb+dU k3as9NhWyfVz4qDo/s9t6j1tTaukvPzcT5IbF8TB0eHPf8e3d2LK8+2dB/xjh2O/mJr04w13M5z6 jw5fu4nD45sr4JjpMwuuZ5fcusX8dj5s5kydAr2Cgpy8PLOTkq4cPmTv7Lzw7XcmP/6EZi6Hy139 1bpxi5cIhDbXTp/y6Rey5L1/j1u02PgAyu/dTdy0MXHTxvTjR82yRm3paKjR8VNFYoe0Y0dP7die n3UtYuy45zZt5tvYdGmQGob3S8SYWGVr64Vff9FZiqbppD27bcWOAQMjOx9Dv6Ex8ubmlAP79Wcl 7drFt7HxHzBQM4V1P/L4/Pysa2d2/ai/Ae2dnZ/fsjV4yNCMkyfvXbsWNmLkU998y+PfP7DDx4xR tLae/vGHI99tTty0sTQvjxAyZOq0h1/6h429/flff0k/foLD5cqamjq/mgAAAN0lamJcd4dgxf5e V0JE7n7eE5caKOA5ao59n/CSY1tLjm2h1ariw98Gr/zYJ/7J6vTjrXXlTJnGopuFCV8zr5tKbvnP ebnk2NbSE9vuzy28GTD3NdfB8eVn9xBCek9dxRGKsj5eJKsuJoS4DZ0WuPAd1+j4qpSEzq+O2M0t ZPjwX/7zESGkNDe35NatqIlxCeu+bm1p0ZS5lZqy9ZWXmdc8/obl//nvuEWLryYm1pSWEEJGzH7I r3//k9u3ndi+Ta1SHdm8adkHH01asTLj5AlJhVGXawzflWRGJoRanHPr8IZvmdclt2/NeOa5qIlx lw8dNEs87n6+4xYv0bytKizQ9PZud7949OlTU1rK+hW85PYtpsCNC+c7GaGHv39NSYmSrZNM+b27 hBDPgAByWhM/y368m5m573+fagLT3oCTVz4usBF9tnxZTUkxISQ6fuq8f74xaNLky4cPMeWri4uT du/Wri12/oKqwoJNz69Vm6nHCwAAQDfi8nhDJk/p7iis2N/rSoioV6Dv9Ke1/+kUcBk0idB0xYVf abWKEKJolNSkHePwBC4RY1grrMs+SwgRunj/OeX6OUKIyLMP89ahb5SyodYlcoL3xKXeE5eK3P0I ISKvvmZZnej4qarW1uyz97sUpx07KhCJBo4br12mtUWmea1UKE5s+57L44WPub86kRPjaJq++Ntv apWKENIkkaSfOM4TCMJHjTZLhGbUyVCZjte9AgPNFY9XQN+pq1Zr/g2a9OfHULv7xd3PT1JRzlpt bWkpMdN4fy5eXpq7rXRIq6oIIc5eXsbXprMB/QdGNtbVDRg3btziJeMWL3Hz9SVMVtM2vg0uWAMA wIMjfPRoe2fn7o7Civ29roSwDtGr/Vbk3qe5NFfRUKuZIs25RAgRebJ/u1I01BFCeKI/H5apbJIQ QrgiMfNW6OrD4Ql0sh2Boxmea0NR1NDp069fOK/5fT3j5InpTz8THT/1SuLhtpYqv3uXEMJ8ZSSE uPv5lt3Ja6z7c31vp6YSQjz8/TsfoXl1MtTG2lpCiBk/LNrqA2PMfpE1NQltbVmrZR68qn0ty2R1 FRViNzfWWY7u7oSQunL2RIiVzgZ09fbmCQRTV63WLtNWc4zLhw7FLVv+7IZNZ3/ak5V0hnXYYgAA AGsxaemy7g7Buv29kpD2/dFXxki0SkEI8xB6zRQlIYTi3J+ibJIqm6RZny5hW7pT+g4a5Ort4+rt o3M/YkBkpLOXV1vfL508PAkhWiPAtrO+arVac6O/hTHtMpekCCHthmoYc1cSh9vlB7wx+6W6uNjV x4d1cVdvb0JITWlp5yOpuHevX0wMj8/XvyPLK6AvU8D42nQ2YFO9tFla/8XK5cbXcHzrlrqysrEL Fy18518zap879cOOi/v2Gr84AABAz9FvyJDAqEHdHYV1QxLyF7LKAvs+EXwHF83FEMfQ4YSQlop8 0yqU15Y6BEQKnDzNOCIWI2b6jCaJ5OzPP2lPdPPxGTp9RvSU+BPbt7EuFRkXR/64HkIIqSoq9Osf bu/sornC0C8mhhBSWXD/qRcNtTViV9e2YmiVyQRddo+NX3g4IaSxrs7IUHsIY/ZLxb27faOieoeE Ft/K0Vk8InYsIaQsL6/zkeReuTxg3Lhhs2Zf2PurzqyxixYp5PKCrCzmrQn7sa6szH/AQCcPD82I WMa4knj4SuJhv/7hE5ctm/38C2qV6tL+3zvULgAAQLejKGrm0890dxRW7+/VJ6RdNenHCUV5jnqU uZTBs3NyHTxZrWxlenqYoCr1ECHEc9Qcyqy/wYvs7SNix2acPHHmx53a//Z/9WVrS8vgKezdpDz6 9Bk0aZK8ufnG+fudnjNPnqQoauTDD3M4HEKInaPjoLhJytZWTa/o0tu53sHB3kHBrBXWV1d7+PtT Hbx81BYuj+fk4aF5GxIzjBBS+sfX8XZD7QmM3C/nf/1FrVLFr1rF4XK1F3fp1Wv4rNmlebl30tM6 H0zqoYPFOTcnrXycydYYHA5n2pqn/fqHn9i+TTPergn78UpiIiFk+OyHuLwOH9iFN64nrPua/HHZ BwAAwLrETJ+ByyCdhyshf1FxYa/r4Ck+k1e6Rk+pz73iNngyRyAqOrReXltmWoXVVxI9hs/2nrjM fej06rRjHL7Q1qvvjW+e6mScUZMm8wSCNL1H4ClksqykM9HxU/tERBRkZxNCfENDp615ulXW0m9o TJ+ICLVave+TjzXfPpN//y0qbtLEZcujJk26k5YWFTdJYGOTuGmj5m6upD27QoYPX/vdltupKQXZ 2XZOf+lTce3M6QlLHlvx34+LcnLcfHwyT5/SpDcmGDwlfvba53MuXaotK+0XM6xXYKCkslLzVJN2 Q+0JjNwv1cXFyb//PuqRR57432eH1n9TdueOwMYmaHD0nJdf4fL5iRs3mCUYWq3e88EHj/37/1b+ 95M76eklt2/b2Nn6D4z09PfPPHny3E97NCVN2I9px47GzJg5fsljQ6ZOSz9xnC8UegX03bD2WQOL PPTiS04ensyj5YOHDFUpFOf1BikGAADo4WzF4jkvvNjdUTwIkIT8Ba1W3fxmjc+UJ53DR7tGxTWV 3C4/+5P2wwo7XKFKcfObp3pPW+PYb6jn6EeVjZLGgmxCUYSmOxNnzPQZ1UVFOs8lZKQdOxodPzV6 SnxBdvaVxMTeISFDpk61sbOrr6m5ceH8ye3btW8BUqtUG9c+O2nFyrCRowaOn1Cae/v8r79oP0Hv Xmbmdy+9GLd8uW9Y/75Rg5ob6vOzsnKvXGbmnty+TWRvHzZyVN/IqJqyUu0FTZCflZV1Nilw0OCw UaOklRXpx44dXL9OIZcbGWpPYOR+IYQkrPtKIWsZu2jx2s1blK2tXB6P4nAUMtkP77zFdLg3i6rC gq+eWDl24aLgIUNjZsxolcnK7uQd3/odM9SVhgn7UaVQbHz+uSlPPBkcPWTkw3OapNLC69cpiqLb PrBVCoVLr16BgwZJq6ruXbt2dMt3zCBdAAAA1oKiqMf+9Z6Di0t3B/IgoKRSqQWaEYvFJi/79OCo dsssG2ehh9BZzPYzsvYLgZXrFRQUMmz40KnT3Hx9z/y488yuH1saG7s7KAAAAGA3ftHiuS+/0t1R GKW+vr4bWz99PDE8YiCl86T0P/7PvMKVEIBuU5aXV5aXV5p7+/FP/ucVGMjpeP8KAAAAsIyQoTEP P/9Cd0fx4EDHdIBudjs19cyuH0OHj3hz729PfvZF7PwF3R0RAAAA/IV/xIA1n3/RXc8teCDhl1eA 7pe4cUPmyZODp8T3jYoyy+PSAQAAwFz6hIc//eVXbT1oGEyDJASgRyjNyy3Ny+3uKAAAAOAvwkaM WPXJ/5CBmB2SEAAAAAAAXRRFjV+0+KG1z+MurK6AJAQAAAAA4C9sxeLH/vVe5Pjx3R3IAwtJCAAA AADAfRRFxUyf8fDzL4hdXbs7lgcZkhAAAAAAAEIICY6OnvXMs4FRg7o7kAefFSQhjm5u0urq7o4C AAAAAB5MXB4vYsyYuMeWBUa1/4xsMAsrSEKGz5x19Put3R0FAAAAADxQeAJB34EDoybGDZk8xd7Z ubvD+XuxgiRk+pqnCCGXDiZIq6q6OxYAAAAAsD48Pl9oayeytxe7unj6B3j6+/uF9Q+MiuILhd0d 2t8UJZVKLdCMWCy2QCsAAAAAAFBfX9+NrZ8+nhgeMZC6j6Pzf+YVpxvjAwAAAACAvyEkIQAAAAAA YFFIQgAAAAAAwKKQhAAAAAAAgEUhCQEAAAAAAItCEgIAAAAAABaFJAQAAAAAACwKSQgAAAAAAFgU khAAAAAAALAoJCEAAAAAAGBRSEIAAAAAAMCikIQAAAAAAIBFIQkBAAAAAACLQhICAAAAAAAWhSQE AAAAAAAsCkkIAAAAAABYFJIQAAAAAACwKCQhAAAAAABgUUhCAAAAAADAopCEAAAAAACARSEJAQAA AAAAi0ISAgAAAAAAFoUkBAAAAAAALApJCAAAAAAAWBSSEAAAAAAAsCgkIQAAAAAAYFFIQgAAAADu CwwMfOaZZ7o7CoAHH5IQAAAAAACwKCQhAAAAAABgUUhCAAAAANpB0/Rjjz02dOjQAQMGzJo16/jx 45pZr7zyysyZM0eMGBEWFjZ27Ni1a9dWVFRoL9vU1PTuu+9Onjy5f//+I0eOnDdv3p49e5hZ+nd/ aU8x0KjhagkhZWVla9euHTZsWExMzFNPPVVWVmbeDQLQSbzuDgAAAACgp6Moys/PLzIykqbpAwcO rFmz5uDBg2FhYYSQffv2+fj4PPTQQ/b29nfu3Dl48ODly5dPnTolEokIIc3NzbNmzcrPzw8KClq1 apVUKt2xY4e7u/uCBQs606jhamtqambMmEEIeeihh8rLy0+cOJGVlXXq1CmBQNC1mwnAaEhCAAAA ANr3wQcfMC9mzpw5ffr0hIQEJh8ghAwYMOC1115jXkdERHzwwQcJCQnz5s0jhGzcuDE/P/+NN95Y uXIlRVGEkB07dnS+UcPVfv755y0tLYmJiX369CGE7Nu375VXXtm/f//cuXM7tw0AzAZJCAAAAED7 ZDLZ2bNnS0pK3N3dCSFt3eAUHx//wQcf5OTkMG9PnjzJ4/EWLFjApArmatRwtZcvX3Z1dU1MTGTe NjU1EUJyc3NNCACgiyAJAQAAAGhHXl7ekiVLqqqqNFNaW1tZS7q5uRFCqqurmbcFBQVRUVF2dnbm bdRwtUVFRXK5/JNPPtGeWF5ebkIMAF0ESQgAAABAO9599936+vpNmzbFxsbW1NSMGjWqrZJMvwuV SsW8tbe3N3ANhMvltpXMGG7UcLVOTk7Ozs6HDh0yvFIA3QijYwEAAAC0Iysra/DgwRMnTuTz+V5e XsYvGBAQcPPmzfr6eta5bm5ulZWVJjRquFpfX9+cnByMiAU9GZIQAAAAgHbY29vn5ORorm8Yb/Hi xY2NjS+//HJZWZlEIvn111+154aHh9+4cePGjRsdbdRwtY888ggh5Mcff1QqlR0NGMAycDsWAAAA wJ/u3r27YcMGzdvAwMBJkyZNnDjxxx9/XLBgwahRowzcQKVv+vTpV69e3b59+8mTJwkhXC5Xe+6T Tz6ZlJQ0a9as2NjY6OhoTU8ShoFGDVf78MMP//TTT99+++3evXtnzZolk8lu3769e/du48MG6GpI QgAAAAD+dPv2be0u3fHx8ZMmTXr99de5XO7Ro0fXr19vZ2cX1zERIAAAIABJREFUEhISFRVlZIXv vPPO/Pnz09PThULhgAED4uPjNTlDTEzMjh07vvrqq8zMzJSUFEdHx+jo6NGjRzNzDTdqoFo+n79r 167PPvvswoULP/zwg7Oz86BBg2iaNm2ELoCuQEmlUgs0IxaLLdAKAAAAQE929uzZFStWPPnkk6+/ /nrPrxasV1v9hSzj9PHE8IiB1H0cnf8zr9AnBAAAAMASaJo+ceIEISQkJKTnVwvQpXA7FgAAAEBX KS0tPXDgACFEKpUeOnSopKQkKCho1qxZPbNaAItBEgIAAADQVc6ePcv0MBEIBL17937sscdeeOEF nX7kPadaAItBnxAAAAAAgAcK+oQAAAAAAAD8BZIQAAAAAACwKCQhAAAAAABgUUhCAAAAAADAopCE AAAAAACARSEJAQAAAAAAi0ISAgAAAAAAFoUkBAAAAAAALApJCAAAAIAVOLnpzcu/fat529rSqFIq 2l3qxIZ/ai8F0EPwujsAAAAAgAfK3vcW6UzxCYsZPu+FTlYrKbtn5+SueXty05sqRevUF77k8gQG lpJWFNi7eHayaQCzQxICAAAAYGZiD1+/AaM0bx3cvM3ehJ2TO6EoDgff5cAq4cAFAAAAMDMH114h o2d1aROxy97q0voBuhSSEAAAAAALufL7BmlFoaxR0trSZOPg5OITOHDKEpGDi6aAslWWfWJP5b3s ZkmVQORg6+TWJyo2YPAE/ar2vrdI+y4vtUqZn36mPDejKv8Gh8tz9OozfN4LAhs7QkhtSd7x9a82 1VUK7R31WwToFkhCAAAAANq0evVq/YkbN240rbaCzLO2jm5+kWP4ApuG6tKi7OTqgpz4tZ9z+UJC iLJVdnLjG4215Q5uPv1GzWxtabqTetTG3ok1CdGRn5GUfmirm19o0LB4hbxFWlHAF9oys9RKpVtw SO/wYY015TotAnQXJCEAAAAAZtZQU3br/AHNWwc3b+/QIcxrZ+++A+IWMq+dvAOuHd1ZlJ3sP2gc IeT2hYTG2vKBk5cED59KKIoQcif1qJEt5l485ODmHbvsLYqjO/apW5/QQTMeZ20RoLsgCQEAAAAw s/rKouyTezRvfcJiNEmINp+wmGtHd0orCpm3pbfSOBxuQPQEJgPpEJWilSe0abeYTosA3QVJCAAA AICZGTkmr429IyFE1ihl3jbVVbj0DuIJ2s8l9PkPHnczad/p794OHjndp/8wDodrTIsA3QUPKwQA AADoHhwunxBCq1XMW57AhpAOXwNh9B/3aPTs1UpFa+redYmfP3cn9ZgxLQJ0F1wJAQAAAOgRHFx7 ScrzFbJmvo2tCYv7R431jxpbW5x38+y+jMRtFIfTd0ic2YMEMAtcCQEAAADoEfoOjVPIWy7/tr6l vqa1pTE/I0l7Ll8oUsia263EpXdQ5JTHCCFNdZVdFShAp+FKCAAAAECbTBuNV2d0LPLXAbLa0jt8 RE1Rbl7KkbLbaYQQ6q/9Onr1G1yUfTEtYfOg6SspvS4fGYe/b5ZWO7j5EEIq7mRxuLygYfEmRA5g GUhCAAAAAMxMZ3Qs0vYAWToi45f6Dx5fW5zL5fGdvfse++ZVTb4RGvsQly+sLcnTz0AIIRSX11RX VZV/U+Tg7NYnNHzCXJEYTySEnouSSi0xPIJYLLZAKwAAAAAPjIq8zPM//rffyBkDJi3q7ljAytTX 13dj66ePJ4ZHDKTu4+j8n3mFPiEAAAAAPQ9Nl966SggRe/h2dygA5ofbsQAAAAB6hGZpdVHWRUJI q6ypODuZ6ePhN2Bkd8cFYH5IQgAAAAB6hIq8a0xPEg6Xb+fkFjh0cv/xj7L2AAGwdkhCAAAAAHqE gOgJAdETujsKAEtAnxAAAAAAALAoJCEAAAAAAGBRSEIAAAAAAMCikIQAAAAAAIBFIQkBAAAAAACL QhICAAAAAAAWhSQEAAAAAAAsCkkIAAAAAABYFJIQAAAAAKsnrShUtsqY1wp5s/ELntz05uXfvu2a oADahCemAwAAAJjT3vcW6UzxCYsZPu+Frmvx1vkD2Sf3cPnCPpFj7F29Sm6kjlv5rpHLSsru2Tm5 d11sAKyQhAAAAACYmdjD12/AKM1bBzfvLm2upujW4JlPuvr2u3b0h+Lrl2IeebZLmwPoPCQhAAAA AGbm4NorZPQsizU3cuErzIvRS163WKMAnYEkBAAAAMBC1CplfvqZ8tyMqvwbHC7P0avP8HkvCGzs rh7YJCkvkDXUtbY0icTOTl59Qsc85NQr4M8lafrcDx9JKwpVCrm9m3dY7MPeoUOYOVd+3yCtKJQ1 SlpbmmwcnFx8AgdOWSJycNFqVHHjzN6y2+kt0mpHzz5Bw6b49B9m4RUH0IEkBAAAAKBNq1ev1p+4 ceNG02rLz0hKP7TVzS80aFi8Qt4irSjgC20JIfnpZ2wd3fwix/D4goq8ayU3L5fmXB0860n/qLH3 l6QoO2cPZ59AQuiirIvJP30Wt+YjR88+hJCCzLPMsnyBTUN1aVF2cnVBTvzaz7l8ISGEVquSvv93 bUmenbNH7/ARRVkXLv3yZUTcwpBRM01bBQCzQBICAAAAYGYNNWW3zh/QvHVw82YuXORePOTg5h27 7C2KoztCqbN33wFxCwkhYWMfaaguOb/zv9eO7PAKHGjj4MwUGDzzCeaFb8TIExteL8q6yCQh2ssS Qpy8A64d3VmUnew/aBwh5O6VE7UleWGxD4eNnUNxuOET5yXv+ezmmV99I0bYOrp13RYAMAxD9AIA AACYWX1lUfbJPZp/hdfOM9NVilZjFndw8/EbOEohbym9dVUzUaVsLc25nHcpsb6qhBDSXF/LuqxP WAwhRFpRyLwtyk4mhAqMmUxxuIQQoa3Yd8BIlVJRplUzgOXhSggAAACAmbU1Jq//4HE3k/ad/u7t 4JHTffoP43C4bdXgGzEy59z++soi5m19Vcm5HR/IGiWaAmqlgnVBG3tHQoisUcq8bagudfLyE9o5 agp4BkYyFXZ4rQDMB0kIAAAAgIX0H/eorZP77QsHU/euszm6M3TMQ4Exk1lLihzdCCFqtYp5m5G4 TSFrGrnwZc/AgfKm+sOftzkIL4fLJ4TQfywI0DMhCQEAAACwHP+osf5RY2uL826e3ZeRuI3icPoO idMvxlwDcXDtxbyVlN518e3Xq99gQohI7KJfvi0Orr1qivPkTVLNxZCKO5mk6x9dAmAY+oQAAAAA WJpL76DIKY8RQprqKpkp2t1FmEF1ORyuZhxenlBUX1FowvWN3hEjCKHvpB6j1WpCiLy5oSjrIpfH 9w6JZgrwhSKFrLmTqwPQUbgSAgAAANAm00bj1Rkdi/wxQFbG4e+bpdUObj6EkIo7WRwuL2hYPFOg PC/j1KY33fqE0YSuyLvWUF0SMnq2nbMnM7dXv8F3r5xI2vZvj74RbfUGYRU4dFJR1sWbZ38rzLro ERBelHVBqZBHTFxg6+Suqbko+2JawuZB01dSbfdRATAvJCEAAAAAZsaMjqU9xScsxjt0CMXlNf0/ e/cd39SV5o//UbNsy5LlXuQuV9ywARsbMB3MhJrCENKZzBAyebHMN5PNpM0syWSzmWTJZHZIIMkm +ZFenNASApjuQowN7r3LTe6SiyzJsn5/XEZxZFvItiw77Of9mtfL9557znke3fCHnjn3XPV0dNSX 2QmdXP3DI1fdY3i2ytHDz1YolhVnDWuGHD38Fm7d4x+7zDA8et19LDanuSyn/Moxrg3f0d3X2SfY nExYbM7yR14ovZjWWnG9qSRb7BUQnJg6+scKw1O2cnj87uZqVCBgTSyFQmGFMCKRyApRAAAAAH6J 0vbvnOiFWgBToFQqZzH6hbOnIqNiWDexjf4yR9gTAgAAAAAAVoUiBAAAAAAArApFCAAAAAAAWBU2 pgMAAADMsrv+8ulspwBgVVgJAQAAAAAAq0IRAgAAAAAAVoUiBAAAAAAArApFCAAAAAAAWBWKEAAA AAAAsCoUIQAAAAAAYFUoQgAAAAAAwKpQhAAAAAAAgFWhCAEAAAAAAKtCEQIAAAAAAFaFIgQAAAAA AKwKRQgAAAAAAFgVihAAAAAAALAqFCEAAAAAAGBVKEIAAAAAAMCqUIQAAAAAAIBVoQgBAAAAAACr QhECAAAAAABWhSIEAAAAAACsCkUIAAAAAABYFYoQAAAAAACwKhQhAAAAAABgVShCAAAAAADAqlCE AAAAAACAVaEIAQAAAAAAq0IRAgAAAAAAVoUiBAAAAGD2bd68+Y9//ONsZ3FrRnn29vaq1Wozx27Y sOHJJ5+cmbzgF4Y72wkAAAAAzBV33313Q0NDX18fn88PCgqSSqWPPPJIZGSkFUKXlJT4+vpaIdA0 GeW5ZcuWoaGhS5cu2dra3nJsZWVlUFDQTGYHvxgoQgAAAABuunHjhlQqffjhhzUaTV1dXXZ29rFj x7Zv3/7iiy9yOJzZzm4u8vHxYbFYPB5vthOBXxgUIQAAAAA/CQkJ+f3vf88cq1SqV1555ZNPPgkM DHz00UdnN7G56ZNPPpntFOAXCXtCAAAAAMZnZ2f34osvxsXFvfHGG3K53NDe2tq6d+/exMTEhISE PXv2tLa2Mu1vvPGGVCo9evSooader1+4cOH27dtNDxyXRqN57bXXNmzYEBsbu2PHjlOnTo2++qc/ /Wnz5s1JSUkRERErVqx4/PHHS0pKjGYwEe6xxx5bs2ZNfHx8SEiIVCrNz88nIq1W++mnn/7ud7+L jo5esGDB/fffr1AoTN8iqVRqqNmI6Kmnntq0aROT1fLly/fu3Tv6vhk5ePCgVCo9cuTI1ELDLxqK EAAAAABTHnvssaGhoby8POa0q6tr48aNmZmZGzduXLRo0fnz5++55x6NRkNEqampRHTjxg3D2MrK yp6enrVr15oeOJZOp7v33nsPHTqkUqk2btxYUlLyxBNPHD582NDhq6++6u3t3bp16549e1xdXU+f Pr1t27avv/7a0MF0uLNnz/L5/D179jz55JNPPfVUREQEEX399dcvvPCCUql85JFHNm/erNPphELh pO7VN998o1Aotm7d+sQTTyxYsOCHH37YunWrSqUa2/PIkSMHDhz4f//v/z344IMWCQ2/LHgcCwAA AMCUkJAQIqqqqmJO33jjDZVKderUKX9/fyL65ptvnnrqqWPHjt1zzz0RERF+fn45OTmGsZcvXyai 1atXmx44Nugnn3ySn5//xBNP7N27l8PhPPnkk7t3737zzTc3bdrk7e3N9ImOjn766aeJaO/evdXV 1bt27XrppZeWLVvm4eFhTriAgIDf/va3o4O+9957Uqn0k08+mc4GGENWRBQVFfXyyy+fOHHCsBbE +Prrr1988cXf/va3hlUUi4SGXxAUIQAAAACmMN/pZTIZc3rt2jUXFxfDw1EDAwM0qkRJTU195513 qqqqmNLl/PnzQUFBzCuhTA80cuLECRaL9cADDzBfyp2dnTdv3nz9+vX09HRm6cBIcHDwli1b3nrr rfT09Pvuu2+y4RgqlcrBwcH8O3NLqampL7/8cnl5+ejG77///tlnn92+ffuf/vSnmQsNcxyKEAAA AABT2tvbicjwXlqZTKZWq1977bXRfdra2pgDpgg5evToU0891dPTk5eX95vf/MacgUZqa2sjIiJc XV0NLSkpKWSyiti0adNbb71VWVk5hXCM7du3/8///M+dd9756KOPbtiwgcud7hdFJv/Ozk5DS3Fx cXp6enBw8F//+tcZDQ1zHP4DAwAAAJjCfK1nVjaISCwWOzk5fffdd+N2jomJ8fX1PXny5FNPPXXm zBmdTsdsFLnlwOljHtMaHh6ecrh9+/b5+Pi8++67+/bte/nllx9//PFxV13MZ2NjQ0Q6nc7Q4ubm 5uTkVFRUdODAgdE/emjx0DDHYWM6AAAAgCmHDh3i8/nx8fHMqa+vb3l5+UQvtmKxWDt27Ghqarpx 48b3338fGhoaGxtrzkAjgYGBZWVlo9cQmO0lwcHBEw2pqKhgBk4hnMHdd999+vTpr7/+OjIycv/+ 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 zzzzjBuGBpg0zIQAAAAA3BQVFfV//s//YbYPHjz43HPPffbZZw899NC0JjWO6OjoJ5980rb79NNP Hzp0aMWKFcuXL5/GrAAcwEwIAAAAwOjWrFlDRJWVlbaWlpaWXbt2zZ8/PzU19fHHH29paRkebzQa X3311bVr18bHx6elpb366qvjnvX000+vW7du4cKFcXFxGRkZu3btspt/+O6771QqlUql+s1vfuNk 2o8//jgRFRQUMLuDg4Ovv/76mjVrZs6ced999x0/fnx4sMlkOnDgwGOPPZaUlDRnzpxt27Zptdqx hnYQDDAhmAkBAAAAGF1nZycR2daEdHZ23nnnnUS0YcOG1tbWrKys0tLSU6dO8fl8IhoaGvrlL39Z WloaEBCwfft2g8Hg6ek57llffPGFQqHYsGGDt7d3TU3N119/ffHixVOnTnl4eDCDRkdH33XXXUSk UqmcTFsulxORTqcjIrPZvGXLlqKiIqVSeeeddx47duyJJ5743e9+t2PHDib4888/f/755+fNm/fw ww/39vZWVFSIRKKxhnYQDDAhKEIAAAAA7PX399fU1LzyyitEFBsbyzS+9dZbBoPh+PHjYWFhRPTF F188/fTTR48evffee4nowIEDpaWlTz755G9+8xsOh2PryvFZRJSUlPRf//VfzHZiYuIrr7zy1Vdf bd68mWmJjIzcuXPnhJLPy8sjovj4eCLav39/UVHRE088sWvXLg6H85//+Z87dux4++23161bFxwc TETvv/++SqXav3//8JzHGtpBMMCEoAgBAAAAuIl5Bsm2GxUVdccddzDbFy9e9PHxsT3OpNfrieja tWvM7rFjx1gs1pYtW+x+oDs+y87q1atfeeWVioqKSWRuNBo7Ojqys7PfeOONgICAFStWENFXX33F YrEeeOABJiu5XL5+/fpLly5lZWVt376diAwGg7e3t5NDTCgYwAEUIQAAAAA3Mc8gWa3WvXv39vb2 vv7667YnjtRqtdFofP3114fHt7a2MhvXr1+PiYnx8/Oz69DxWXZ8fX2JqKOjY0I52xVOs2bN+p// +R9/f38iqq2tjYuLY7plpKen07AqaPPmzX/+8583bdr06KOPrlmzhst19ONwQsEADuB/OgAAAAA3 2Z5Bio6Ofuyxx/785z//7W9/Yw5JpVKZTPbNN9+MeqLZbB7+W9/G8Vl2mIUiZrN5QjkzhZOnp6e/ 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 "
height="767"
@@ -64,189 +77,56 @@
<rect
ry="10"
rx="10"
- y="-461.17471"
- x="-69.864159"
+ y="8.8252869"
+ x="70.135841"
height="541.25372"
width="693.74585"
id="rect3005"
- style="opacity:0.54999993999999996;color:#000000;fill:#ffecde;stroke:#a96a3f;stroke-width:3.50586342999999978;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;fill-opacity:1"
+ style="opacity:0.54999994;color:#000000;fill:#ffecde;fill-opacity:1;stroke:#a96a3f;stroke-width:3.50586343;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
ry="10"
rx="10"
- y="-347.61465"
- x="-70.40654"
+ y="122.38535"
+ x="69.59346"
height="427.49182"
width="692.26788"
id="rect10103"
- style="opacity:0.44060006;color:#000000;fill:#dd8a3d;fill-opacity:1;stroke:none;stroke-width:3.70400834000000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="opacity:0.44060011;color:#000000;fill:#dd8a3d;fill-opacity:1;stroke:none;stroke-width:3.70400834;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
- style="opacity:0.47040005000000001;color:#000000;fill:#fff8e2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ style="opacity:0.47040004;color:#000000;fill:#fff8e2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect2989"
width="670.79694"
height="315.83536"
- x="-57.560146"
- y="-279.08261"
+ x="82.43985"
+ y="190.91739"
rx="10"
ry="9.0539951"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
- style="color:#000000;fill:#fff8e2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.47040004000000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ style="opacity:0.47040004;color:#000000;fill:#fff8e2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect9982"
width="164.18814"
height="72.222382"
- x="-57.299442"
- y="-337.45102"
+ x="82.700562"
+ y="132.54898"
rx="10"
ry="10"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
- <g
- id="g8708"
- transform="matrix(0.69032837,0,0,0.69032837,-114.0733,304.29447)">
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/userSpaceDisabled.png"
- transform="matrix(1.1754752,0,0,2.3509505,-72.996319,700.21488)"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- sodipodi:ry="10"
- sodipodi:rx="20"
- sodipodi:cy="32.362183"
- sodipodi:cx="90"
- id="path3041"
- style="color:#000000;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/userSpaceDisabled.png"
- transform="matrix(4.9493694,0,0,4.9493694,-41.444089,695.31429)"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- sodipodi:ry="1"
- sodipodi:rx="1"
- sodipodi:cy="16.362183"
- sodipodi:cx="15"
- id="path3063"
- style="opacity:0.5;color:#000000;fill:#d45500;fill-opacity:1;stroke:#d45500;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- </g>
- <g
- id="g8712"
- transform="matrix(0.69032837,0,0,0.69032837,-108.20704,393.09429)">
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/groupSpaceDisabled.png"
- inkscape:transform-center-x="1.0789987"
- transform="matrix(2.331168,0.83049401,-0.83049401,2.331168,13.440652,718.62706)"
- inkscape:transform-center-y="-0.10734487"
- d="m 35,17.362183 -4.755283,-3.454915 1.816357,-5.5901703 5.877852,-10e-8 1.816357,5.5901694 z"
- inkscape:randomized="0"
- inkscape:rounded="0"
- inkscape:flatsided="true"
- sodipodi:arg2="2.1991149"
- sodipodi:arg1="1.5707963"
- sodipodi:r2="4.045085"
- sodipodi:r1="5"
- sodipodi:cy="12.362183"
- sodipodi:cx="35"
- sodipodi:sides="5"
- id="path4171"
- style="opacity:0.5;color:#000000;fill:none;stroke:#28220b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="star" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/groupSpaceDisabled.png"
- sodipodi:type="arc"
- style="color:#000000;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path3045"
- sodipodi:cx="90"
- sodipodi:cy="32.362183"
- sodipodi:rx="20"
- sodipodi:ry="10"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- transform="matrix(1.1754752,0,0,2.3509505,-21.027938,700.21488)" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/groupSpaceDisabled.png"
- sodipodi:type="arc"
- style="opacity:0.5;color:#000000;fill:#dd8a3d;fill-opacity:1;stroke:#dd8a3d;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path3065"
- sodipodi:cx="15"
- sodipodi:cy="16.362183"
- sodipodi:rx="1"
- sodipodi:ry="1"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,52.358512,668.43223)" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/groupSpaceDisabled.png"
- transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,39.072522,663.0841)"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- sodipodi:ry="1"
- sodipodi:rx="1"
- sodipodi:cy="16.362183"
- sodipodi:cx="15"
- id="path3067"
- style="opacity:0.5;color:#000000;fill:#69312f;fill-opacity:1;stroke:#69312f;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/groupSpaceDisabled.png"
- sodipodi:type="arc"
- style="opacity:0.5;color:#000000;fill:#28220b;fill-opacity:1;stroke:#28220b;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path3069"
- sodipodi:cx="15"
- sodipodi:cy="16.362183"
- sodipodi:rx="1"
- sodipodi:ry="1"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,51.571882,682.96918)" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/groupSpaceDisabled.png"
- transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,37.912422,686.69724)"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- sodipodi:ry="1"
- sodipodi:rx="1"
- sodipodi:cy="16.362183"
- sodipodi:cx="15"
- id="path3071"
- style="opacity:0.5;color:#000000;fill:#cc6633;fill-opacity:1;stroke:#cc6633;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/groupSpaceDisabled.png"
- sodipodi:type="arc"
- style="opacity:0.5;color:#000000;fill:#ffdb6b;fill-opacity:1;stroke:#dd8a3d;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path3073"
- sodipodi:cx="15"
- sodipodi:cy="16.362183"
- sodipodi:rx="1"
- sodipodi:ry="1"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- transform="matrix(5.5489598,1.9768537,-1.9768537,5.5489598,21.615452,655.42435)" />
- </g>
<text
xml:space="preserve"
style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#69312f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
- x="-5.052536"
- y="-300.65881"
+ x="134.94745"
+ y="169.34119"
id="text2985"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
@@ -254,12 +134,12 @@
inkscape:export-ydpi="90"><tspan
sodipodi:role="line"
id="tspan2987"
- x="-5.052536"
- y="-300.65881"
+ x="134.94745"
+ y="169.34119"
style="font-size:28px;font-weight:bold;fill:#69312f;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold">Users</tspan></text>
<g
id="g8695"
- transform="matrix(0.69032837,0,0,0.69032837,-50.80991,-882.73159)"
+ transform="matrix(0.69032837,0,0,0.69032837,89.19009,-412.73159)"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
@@ -293,21 +173,21 @@
<text
sodipodi:linespacing="125%"
id="text2991"
- y="-302.82883"
- x="161.92725"
+ y="167.17117"
+ x="301.92725"
style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#cc6633;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
xml:space="preserve"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"><tspan
style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#cc6633;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
- y="-302.82883"
- x="161.92725"
+ y="167.17117"
+ x="301.92725"
id="tspan2993"
sodipodi:role="line">Groups</tspan></text>
<g
id="g8699"
- transform="matrix(0.69032837,0,0,0.69032837,79.80489,-882.73159)"
+ transform="matrix(0.69032837,0,0,0.69032837,219.80489,-412.73159)"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
@@ -411,117 +291,11 @@
style="color:#000000;fill:#ffdb6b;fill-opacity:1;stroke:#dd8a3d;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="arc" />
</g>
- <g
- id="g8699-2"
- transform="matrix(0.68695614,0,0,0.68695614,66.226383,325.59236)"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-group-t.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- sodipodi:type="star"
- style="color:#000000;fill:none;stroke:#28220b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path4963-9"
- sodipodi:sides="5"
- sodipodi:cx="35"
- sodipodi:cy="12.362183"
- sodipodi:r1="5"
- sodipodi:r2="4.045085"
- sodipodi:arg1="1.5707963"
- sodipodi:arg2="2.1991149"
- inkscape:flatsided="true"
- inkscape:rounded="0"
- inkscape:randomized="0"
- d="m 35,17.362183 -4.755283,-3.454915 1.816357,-5.5901703 5.877852,-10e-8 1.816357,5.5901694 z"
- inkscape:transform-center-y="-0.10735044"
- transform="matrix(2.331168,0.83049401,-0.83049401,2.331168,12.776852,771.74251)"
- inkscape:transform-center-x="1.078998" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/groupSpaceEnabled.png"
- transform="matrix(1.1754752,0,0,2.3509505,-21.691738,753.33034)"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- sodipodi:ry="10"
- sodipodi:rx="20"
- sodipodi:cy="32.362183"
- sodipodi:cx="90"
- id="path4965-9"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,51.694712,721.54769)"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- sodipodi:ry="1"
- sodipodi:rx="1"
- sodipodi:cy="16.362183"
- sodipodi:cx="15"
- id="path4973-0"
- style="color:#000000;fill:#dd8a3d;fill-opacity:1;stroke:#dd8a3d;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- sodipodi:type="arc"
- style="color:#000000;fill:#69312f;fill-opacity:1;stroke:#69312f;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path4975-8"
- sodipodi:cx="15"
- sodipodi:cy="16.362183"
- sodipodi:rx="1"
- sodipodi:ry="1"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,38.408722,716.19953)" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,50.908082,736.08463)"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- sodipodi:ry="1"
- sodipodi:rx="1"
- sodipodi:cy="16.362183"
- sodipodi:cx="15"
- id="path4977-1"
- style="color:#000000;fill:#28220b;fill-opacity:1;stroke:#28220b;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- sodipodi:type="arc"
- style="color:#000000;fill:#cc6633;fill-opacity:1;stroke:#cc6633;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path4979-3"
- sodipodi:cx="15"
- sodipodi:cy="16.362183"
- sodipodi:rx="1"
- sodipodi:ry="1"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,37.248612,739.8127)" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- transform="matrix(5.5489598,1.9768537,-1.9768537,5.5489598,20.951652,708.53981)"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- sodipodi:ry="1"
- sodipodi:rx="1"
- sodipodi:cy="16.362183"
- sodipodi:cx="15"
- id="path4981-1"
- style="color:#000000;fill:#ffdb6b;fill-opacity:1;stroke:#dd8a3d;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- </g>
<text
xml:space="preserve"
style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#cc6633;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
- x="318.47037"
- y="-299.49683"
+ x="458.47037"
+ y="170.50317"
id="text2995"
sodipodi:linespacing="125%"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
@@ -529,12 +303,12 @@
inkscape:export-ydpi="90"><tspan
sodipodi:role="line"
id="tspan2997"
- x="318.47037"
- y="-299.49683"
+ x="458.47037"
+ y="170.50317"
style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#cc6633;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold">Public</tspan></text>
<g
id="g8721"
- transform="matrix(0.69032837,0,0,0.69032837,200.19563,-846.06448)"
+ transform="matrix(0.69032837,0,0,0.69032837,340.19563,-376.06448)"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
@@ -607,7 +381,7 @@
</g>
<g
id="g9950"
- transform="matrix(1.1267151,0,0,1.1267151,254.84387,-512.09318)"
+ transform="matrix(1.1267151,0,0,1.1267151,394.84387,-42.09318)"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
@@ -660,85 +434,41 @@
<text
sodipodi:linespacing="100%"
id="text2991-0"
- y="-413.72681"
- x="154.02391"
- style="font-size:44px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:end;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:end;baseline-shift:baseline;color:#000000;fill:#69312f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold;opacity:1"
+ y="56.273193"
+ x="294.02393"
+ style="font-size:44px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:end;text-decoration:none;line-height:100%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:end;baseline-shift:baseline;color:#000000;fill:#69312f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
xml:space="preserve"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"><tspan
style="font-size:44px;font-weight:bold;text-align:end;line-height:100%;text-anchor:end;fill:#69312f;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold"
- y="-413.72681"
- x="154.02391"
+ y="56.273193"
+ x="294.02393"
id="tspan2993-2"
sodipodi:role="line">Why do</tspan><tspan
style="font-size:44px;font-weight:bold;text-align:end;line-height:100%;text-anchor:end;fill:#69312f;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold"
- y="-369.72681"
- x="154.02391"
+ y="100.27319"
+ x="294.02393"
sodipodi:role="line"
id="tspan10105">we need</tspan></text>
- <g
- id="g10062"
- transform="matrix(1.708345,0,0,1.708345,116.80048,-314.21383)">
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path3145"
- sodipodi:cx="90"
- sodipodi:cy="32.362183"
- sodipodi:rx="20"
- sodipodi:ry="10"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- transform="matrix(0.475,0,0,0.95,-179.12059,360.07987)"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/homeSpaceDisabled.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/homeSpaceDisabled.png"
- sodipodi:nodetypes="cccccc"
- inkscape:connector-curvature="0"
- id="path3149"
- d="m -140.69827,395.21049 0,-6.17998 3.95722,-3.78777 4.66874,4.1255 0,5.84225 z"
- inkscape:transform-center-y="-0.48742846"
- inkscape:transform-center-x="0.043758053"
- style="color:#000000;fill:#e9c6af;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/homeSpaceDisabled.png"
- inkscape:connector-curvature="0"
- style="color:#000000;fill:#e9c6af;fill-opacity:1;fill-rule:nonzero;stroke:#e9c6af;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m -136.35815,385.24274 5.97512,5.6056"
- id="path3729" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/homeSpaceDisabled.png"
- id="path3731"
- d="m -136.38303,385.24274 -5.97512,5.6056"
- style="color:#000000;fill:#e9c6af;fill-opacity:1;fill-rule:nonzero;stroke:#e9c6af;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- inkscape:connector-curvature="0" />
- </g>
<text
sodipodi:linespacing="125%"
id="text2999"
- y="-299.63681"
- x="454.13031"
+ y="170.36319"
+ x="594.13031"
style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#cc6633;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
xml:space="preserve"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"><tspan
style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#cc6633;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
- y="-299.63681"
- x="454.13031"
+ y="170.36319"
+ x="594.13031"
sodipodi:role="line"
id="tspan3003">Institutions</tspan></text>
<g
id="g10068"
- transform="matrix(1.708345,0,0,1.708345,665.92571,-1015.4104)"
+ transform="matrix(1.708345,0,0,1.708345,805.92571,-545.4104)"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
@@ -786,42 +516,42 @@
<text
sodipodi:linespacing="173.00001%"
id="text10115"
- y="-211.99934"
- x="-34.327763"
- style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:173.00001383000000033%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#69312f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ y="258.00067"
+ x="105.67224"
+ style="font-size:28px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:173.00001383%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#69312f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
xml:space="preserve"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"><tspan
- style="font-size:28px;font-weight:normal;line-height:173.00001383000000033%;fill:#69312f;-inkscape-font-specification:Ubuntu;fill-opacity:1"
- y="-211.99934"
- x="-34.327763"
+ style="font-size:28px;font-weight:normal;line-height:173.00001383%;fill:#69312f;fill-opacity:1;-inkscape-font-specification:Ubuntu"
+ y="258.00067"
+ x="105.67224"
id="tspan10117"
sodipodi:role="line">You can see Kune as a web tool for:</tspan><tspan
- style="font-size:28px;font-weight:normal;line-height:173.00001383000000033%;fill:#69312f;-inkscape-font-specification:Ubuntu;fill-opacity:1"
- y="-163.55934"
- x="-34.327763"
+ style="font-size:28px;font-weight:normal;line-height:173.00001383%;fill:#69312f;fill-opacity:1;-inkscape-font-specification:Ubuntu"
+ y="306.44067"
+ x="105.67224"
sodipodi:role="line"
id="tspan10119"># create your blogs / webs easily</tspan><tspan
- style="font-size:28px;font-weight:normal;line-height:173.00001383000000033%;fill:#69312f;-inkscape-font-specification:Ubuntu;fill-opacity:1"
- y="-115.11934"
- x="-34.327763"
+ style="font-size:28px;font-weight:normal;line-height:173.00001383%;fill:#69312f;fill-opacity:1;-inkscape-font-specification:Ubuntu"
+ y="354.88068"
+ x="105.67224"
sodipodi:role="line"
id="tspan10121"># communicate with your friends an colleagues</tspan><tspan
- style="font-size:28px;font-weight:normal;line-height:173.00001383000000033%;fill:#69312f;-inkscape-font-specification:Ubuntu;fill-opacity:1"
- y="-66.679329"
- x="-34.327763"
+ style="font-size:28px;font-weight:normal;line-height:173.00001383%;fill:#69312f;fill-opacity:1;-inkscape-font-specification:Ubuntu"
+ y="403.32068"
+ x="105.67224"
sodipodi:role="line"
id="tspan10125"># create and edit documents with your friends</tspan><tspan
- style="font-size:28px;font-weight:normal;line-height:173.00001383000000033%;fill:#69312f;-inkscape-font-specification:Ubuntu;fill-opacity:1"
- y="-18.239328"
- x="-34.327763"
+ style="font-size:28px;font-weight:normal;line-height:173.00001383%;fill:#69312f;fill-opacity:1;-inkscape-font-specification:Ubuntu"
+ y="451.76068"
+ x="105.67224"
sodipodi:role="line"
id="tspan10129">in real time</tspan></text>
<g
id="g9950-6"
- transform="matrix(1.1841718,0,0,1.1841718,152.99098,651.95049)"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
+ transform="matrix(1.0210357,0,0,1.0210357,137.02622,699.35023)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-en.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<path
@@ -870,384 +600,210 @@
inkscape:connector-curvature="0" />
</g>
</g>
- <text
- sodipodi:linespacing="125%"
- id="text2991-8"
- y="847.95343"
- x="151.89561"
- style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold"
- y="847.95343"
- x="151.89561"
- id="tspan2993-4"
- sodipodi:role="line">Comunicate with others</tspan></text>
- <text
- xml:space="preserve"
- style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
- x="197.72444"
- y="1189.9738"
- id="text2995-7"
- sodipodi:linespacing="125%"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- sodipodi:role="line"
- id="tspan2997-2"
- x="197.72444"
- y="1189.9738"
- style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold">Public</tspan></text>
<g
- id="g8695-4"
- transform="matrix(0.68695614,0,0,0.68695614,101.92638,266.59236)"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-user-t.png"
+ id="g3329"
+ transform="matrix(0.82311879,0,0,0.82311879,9.4006729,167.03992)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-en.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
- <path
+ <g
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/userSpaceEnabled.png"
- sodipodi:type="arc"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path4961-0"
- sodipodi:cx="90"
- sodipodi:cy="32.362183"
- sodipodi:rx="20"
- sodipodi:ry="10"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- transform="matrix(1.1754752,0,0,2.3509505,-73.660121,753.33034)" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/userSpaceEnabled.png"
- sodipodi:type="arc"
- style="color:#000000;fill:#d45500;fill-opacity:1;stroke:#d45500;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path4971-6"
- sodipodi:cx="15"
- sodipodi:cy="16.362183"
- sodipodi:rx="1"
- sodipodi:ry="1"
- d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
- transform="matrix(4.9493694,0,0,4.9493694,-42.107891,748.42974)" />
- </g>
- <g
- transform="matrix(0.68695614,0,0,0.68695614,30.526392,385.59236)"
- id="g3297"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-world-t.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- transform="matrix(1.1754752,0,0,2.3509505,30.276632,753.33034)"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- sodipodi:ry="10"
- sodipodi:rx="20"
- sodipodi:cy="32.362183"
- sodipodi:cx="90"
- id="path3299"
- style="color:#000000;fill:#aaeeff;fill-opacity:1;fill-rule:nonzero;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- sodipodi:nodetypes="cccccccc"
- inkscape:connector-curvature="0"
- id="path3301"
- d="m 130.79962,807.50532 c -2.85339,0.78923 -5.20625,2.69048 -7.74114,4.12698 -1.45578,1.08139 -3.17371,4.03552 -1.21347,5.32414 1.55176,0.2611 2.79811,-1.05921 4.32566,-1.15498 1.78407,-0.4112 3.60556,-0.7363 5.29696,-1.46265 2.88934,-0.9105 2.88934,-0.9105 3.18467,-1.97638 0.14032,-1.60483 -1.00047,-3.09256 -2.07745,-4.18939 -0.49137,-0.40285 -1.11497,-0.78049 -1.77523,-0.66772 z"
- style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- sodipodi:nodetypes="cacccccccccc"
- inkscape:connector-curvature="0"
- id="path3303"
- d="m 153.3922,823.22551 c -4.04703,2.06374 -8.81245,4.142 -10.56886,8.25203 -0.54013,1.26397 0.22272,2.75445 0.4124,4.10295 0.7708,1.43658 -1.11269,2.70312 -0.55672,4.14497 0.66534,1.49717 2.56652,1.27157 3.82727,0.79099 1.28493,-0.44158 -0.53582,-1.70575 0,0 0.58286,1.36335 5.36635,1.77935 6.80857,1.16016 1.38701,-0.50855 2.33091,-0.74837 2.99303,-1.90611 2.17102,-4.41676 3.23712,-9.41812 2.89588,-14.33661 -0.10641,-1.32539 -0.51397,-2.60792 -0.99259,-3.83098 -0.49507,-1.61389 -2.16711,0.0173 -2.82476,0.68071 -0.60256,0.42631 -1.2709,0.77633 -1.99422,0.94189 z"
- style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- sodipodi:nodetypes="cccccacccc"
- style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 121.52672,824.27304 c -2.3826,0.90534 -4.95654,1.52602 -7.13172,2.85353 -1.8032,1.51882 -1.57875,4.29287 -0.64391,6.22636 1.14716,2.47466 2.05723,5.06419 3.4281,7.43042 1.32587,1.74784 -0.0893,0.98747 1.52127,2.46832 0.45524,0.54208 3.2913,3.28282 4.94937,2.47469 0.82652,-0.40286 0.61983,-1.62095 0.54826,-2.70337 0.52083,-2.24499 -0.82476,-4.39163 -0.7175,-6.65278 -0.0579,-2.83898 0.49943,-5.64398 0.8377,-8.45265 0.19302,-1.55725 -0.68561,-4.455 -2.79157,-3.64452 z"
- id="path3305"
- inkscape:connector-curvature="0"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:none;stroke:#002255;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path3307"
- sodipodi:cx="90"
- sodipodi:cy="32.362183"
- sodipodi:rx="20"
- sodipodi:ry="10"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- transform="matrix(1.1754752,0,0,2.3509505,30.276632,753.33034)"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceEnabled.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- </g>
- <g
- id="g8721-1"
- transform="matrix(0.69032837,0,0,0.69032837,-66.264583,578.73873)"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
- transform="matrix(1.1754752,0,0,2.3509505,30.940442,700.21488)"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- sodipodi:ry="10"
- sodipodi:rx="20"
- sodipodi:cy="32.362183"
- sodipodi:cx="90"
- id="path3047-0"
- style="color:#000000;fill:#d5e5ff;fill-opacity:1;fill-rule:nonzero;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
- sodipodi:nodetypes="cccccccc"
- inkscape:connector-curvature="0"
- id="path3129-3"
- d="m 131.46342,754.38987 c -2.85339,0.78922 -5.20625,2.69047 -7.74114,4.12697 -1.45578,1.08139 -3.17371,4.03552 -1.21347,5.32414 1.55176,0.26111 2.79811,-1.05921 4.32566,-1.15498 1.78407,-0.4112 3.60556,-0.7363 5.29696,-1.46264 2.88934,-0.91051 2.88934,-0.91051 3.18467,-1.97638 0.14032,-1.60484 -1.00047,-3.09257 -2.07744,-4.1894 -0.49138,-0.40285 -1.11498,-0.78048 -1.77524,-0.66771 z"
- style="color:#000000;fill:#87deaa;fill-opacity:1;fill-rule:nonzero;stroke:#87deaa;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
- sodipodi:nodetypes="cacccccccccc"
- inkscape:connector-curvature="0"
- id="path4991-4"
- d="m 154.056,770.13557 c -4.04703,2.06371 -8.81245,4.14198 -10.56886,8.252 -0.54013,1.26397 0.22272,2.75445 0.4124,4.10296 0.7708,1.43658 -1.11269,2.70312 -0.55672,4.14497 0.66534,1.49716 2.56652,1.27157 3.82727,0.79098 1.28493,-0.44158 -0.53582,-1.70574 0,0 0.58286,1.36336 5.36635,1.77935 6.80857,1.16016 1.38701,-0.50854 2.33091,-0.74836 2.99304,-1.90608 2.17101,-4.41678 3.23711,-9.41815 2.89587,-14.33663 -0.10641,-1.3254 -0.51397,-2.60792 -0.99259,-3.83099 -0.49507,-1.61389 -2.16711,0.0174 -2.82476,0.68074 -0.60256,0.42628 -1.2709,0.7763 -1.99422,0.94189 z"
- style="color:#000000;fill:#87deaa;fill-opacity:1;fill-rule:nonzero;stroke:#87deaa;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
- sodipodi:nodetypes="cccccacccc"
- style="color:#000000;fill:#87deaa;fill-opacity:1;fill-rule:nonzero;stroke:#87deaa;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- d="m 122.19052,771.15758 c -2.3826,0.90535 -4.95654,1.52602 -7.13172,2.85354 -1.8032,1.51881 -1.57875,4.29286 -0.64391,6.22635 1.14716,2.47467 2.05723,5.0642 3.42811,7.43042 1.32586,1.74785 -0.0893,0.98748 1.52126,2.46833 0.45524,0.54208 3.2913,3.28281 4.94937,2.47468 0.82652,-0.40286 0.61983,-1.62095 0.54826,-2.70337 0.52083,-2.24498 -0.82476,-4.39163 -0.7175,-6.65277 -0.0579,-2.83898 0.49944,-5.64399 0.8377,-8.45266 0.19303,-1.55724 -0.68561,-4.455 -2.79157,-3.64452 z"
- id="path3125-0"
- inkscape:connector-curvature="0" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
- sodipodi:type="arc"
- style="color:#000000;fill:none;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- id="path3007-3"
- sodipodi:cx="90"
- sodipodi:cy="32.362183"
- sodipodi:rx="20"
- sodipodi:ry="10"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- transform="matrix(1.1754752,0,0,2.3509505,30.940442,700.21488)" />
- <path
- transform="matrix(1.1754752,0,0,2.3509505,30.940442,700.21488)"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- sodipodi:ry="10"
- sodipodi:rx="20"
- sodipodi:cy="32.362183"
- sodipodi:cx="90"
- id="path3141-9"
- style="color:#000000;fill:none;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceDisabled.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90" />
- </g>
- <text
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
- xml:space="preserve"
- style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
- x="152.85562"
- y="893.62335"
- id="text3250"
- sodipodi:linespacing="125%"><tspan
- sodipodi:role="line"
- id="tspan3252"
- x="152.85562"
- y="893.62335"
- style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold">Work in collaboration</tspan></text>
- <text
- sodipodi:linespacing="125%"
- id="text3254"
- y="938.97327"
- x="152.31161"
- style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
- xml:space="preserve"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-min.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90"><tspan
- style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold"
- y="938.97327"
- x="152.31161"
- id="tspan3256"
- sodipodi:role="line">And share with the world</tspan></text>
- <g
- id="g10068-5"
- transform="matrix(1.7,0,0,1.7,355.83011,312.56148)"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-orgs-t.png"
- inkscape:export-xdpi="90"
- inkscape:export-ydpi="90">
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/homeSpaceEnabled.png"
- transform="matrix(0.475,0,0,0.95,-179.12059,382.07987)"
- d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
- sodipodi:ry="10"
- sodipodi:rx="20"
- sodipodi:cy="32.362183"
- sodipodi:cx="90"
- id="path3757-2"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- sodipodi:type="arc" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/homeSpaceEnabled.png"
- style="color:#000000;fill:#cc6633;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
- inkscape:transform-center-x="0.043758053"
- inkscape:transform-center-y="-0.48742846"
- d="m -140.69827,417.21049 0,-6.17998 3.95722,-3.78777 4.66874,4.1255 0,5.84225 z"
- id="path3759-6"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccccc" />
- <path
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/homeSpaceEnabled.png"
- id="path3761-5"
- d="m -136.35815,407.24274 5.97512,5.6056"
- style="color:#000000;fill:#cc6633;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- inkscape:connector-curvature="0" />
- <g
- id="g3103">
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-group-t.png"
+ transform="matrix(0.68695614,0,0,0.68695614,66.226383,312.09236)"
+ id="g8699-2">
<path
- id="path3763-8"
- d="m -136.38303,407.24274 -5.97512,5.6056"
- style="color:#000000;fill:#cc6633;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- inkscape:connector-curvature="0"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/homeSpaceEnabled.png"
+ inkscape:transform-center-x="1.078998"
+ transform="matrix(2.331168,0.83049401,-0.83049401,2.331168,12.776852,771.74251)"
+ inkscape:transform-center-y="-0.10735044"
+ d="m 35,17.362183 -4.755283,-3.454915 1.816357,-5.5901703 5.877852,-10e-8 1.816357,5.5901694 z"
+ inkscape:randomized="0"
+ inkscape:rounded="0"
+ inkscape:flatsided="true"
+ sodipodi:arg2="2.1991149"
+ sodipodi:arg1="1.5707963"
+ sodipodi:r2="4.045085"
+ sodipodi:r1="5"
+ sodipodi:cy="12.362183"
+ sodipodi:cx="35"
+ sodipodi:sides="5"
+ id="path4963-9"
+ style="color:#000000;fill:none;stroke:#28220b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="star"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
- </g>
- </g>
- <g
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro.png"
- transform="matrix(1.1267151,0,0,1.1267151,1082.6778,158.63203)"
- id="g3104">
- <path
- inkscape:connector-curvature="0"
- style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;font-family:Emblem"
- d="m 273.08439,61.656431 c -0.94086,0 -1.84521,0.0038 -2.7527,0.06255 -0.0847,0.01722 -0.16503,0.0466 -0.25025,0.06255 -0.84477,0.157787 -1.67823,0.292338 -2.56501,0.312813 -0.12283,0.01722 -0.25319,-0.01836 -0.37537,0 -7.23791,1.089665 -13.35321,4.232391 -18.26793,9.446767 -5.73951,6.06158 -8.63346,13.323179 -8.63347,21.771374 0,8.542995 2.89397,15.853925 8.63347,21.896495 6.21303,6.51614 14.2855,9.75956 24.21126,9.75958 5.26591,-2e-5 10.3285,-1.30838 15.13985,-3.94137 4.81128,-2.55719 8.9947,-6.17652 12.57485,-10.76056 l -10.82313,-6.00589 c -4.65983,6.21305 -10.38519,9.32165 -17.20437,9.32165 -4.7356,0 -8.98159,-1.53619 -12.63741,-4.56698 -3.71271,-3.03077 -5.56801,-6.72237 -5.56796,-11.135945 l 49.48606,0 0,-2.50246 c -5e-5,-10.702335 -3.62514,-19.272304 -10.82312,-25.712732 -6.06157,-5.360601 -12.77627,-8.007783 -20.14477,-8.007859 z m -230.100847,0.43793 0,23.961011 -8.383224,0 0,12.262047 8.383224,0 0,25.024561 12.762525,0 0,-25.024561 7.695059,0 15.702918,25.024561 15.139855,0 -21.083194,-31.781201 20.144769,-28.277758 -15.452668,0 -15.577788,22.772351 -6.568951,0 0,-23.961011 -12.762525,0 z m 156.591197,0 c -2.19697,0.392104 -4.24408,1.030291 -6.13103,2.001968 -3.18232,1.704844 -5.69466,3.953222 -7.56992,6.756633 l 0,-7.569941 -12.82509,0 0,60.058959 12.82509,0 0,-33.658041 c -2e-5,-4.811275 1.35771,-8.502905 4.0665,-11.13593 2.72765,-2.632924 6.18568,-3.941333 10.44774,-3.941371 4.50823,3.8e-5 8.0288,1.20973 10.51032,3.691123 2.48138,2.481482 3.69105,6.370493 3.69113,11.636428 l 0,33.407791 12.82509,0 0,-36.223052 c -7e-5,-7.36852 -2.24843,-13.456553 -6.75664,-18.267934 -3.38123,-3.60845 -7.29356,-5.854486 -11.76155,-6.756633 l -9.32164,0 z m -97.22042,1.18866 0,34.784148 c -2e-5,8.145201 2.74589,14.730761 8.2581,19.769411 5.1144,4.73557 11.44922,7.13197 18.89354,7.13199 7.52004,-2e-5 13.82273,-2.39642 18.95611,-7.13199 5.51215,-5.03865 8.25804,-11.62421 8.25811,-19.769411 l 0,-34.784148 -12.82509,0 0,33.658038 c -7e-5,4.432511 -1.35779,8.038631 -4.06649,10.823121 -2.80351,2.87925 -6.21219,4.31674 -10.32264,4.31674 -3.95896,2e-5 -7.39407,-1.45642 -10.19751,-4.31674 -2.78453,-2.87919 -4.12909,-6.46636 -4.12905,-10.823121 l 0,-33.658038 -12.82508,0 z M 271.4578,73.16773 c 4.18619,6.4e-5 7.84165,1.173592 10.94824,3.503441 3.01177,2.386754 5.22976,5.863768 6.63151,10.447757 l -34.47133,0 c 1.00391,-4.413515 3.087,-7.841158 6.19357,-10.32264 3.0118,-2.40562 6.56857,-3.628494 10.69801,-3.628558 z"
- id="path3106"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
- inkscape:export-xdpi="399.59854"
- inkscape:export-ydpi="399.59854" />
- <g
- id="g3108"
- transform="matrix(0.43982058,0,0,0.4392609,-61.046168,-320.82474)"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
- inkscape:export-xdpi="399.59854"
- inkscape:export-ydpi="399.59854">
<path
- inkscape:connector-curvature="0"
- style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m 60.321717,411.99998 377.014613,0"
- id="path3110"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4965-9"
+ sodipodi:cx="90"
+ sodipodi:cy="32.362183"
+ sodipodi:rx="20"
+ sodipodi:ry="10"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ transform="matrix(1.1754752,0,0,2.3509505,-21.691738,753.33034)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/groupSpaceEnabled.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
<path
- inkscape:connector-curvature="0"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m 252.61203,788.60332 0,-377.01178"
- id="path3112"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
+ sodipodi:type="arc"
+ style="color:#000000;fill:#dd8a3d;fill-opacity:1;stroke:#dd8a3d;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4973-0"
+ sodipodi:cx="15"
+ sodipodi:cy="16.362183"
+ sodipodi:rx="1"
+ sodipodi:ry="1"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,51.694712,721.54769)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
<path
- inkscape:connector-curvature="0"
- style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m 252.86937,597.15755 377.0124,0"
- id="path3114"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
+ transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,38.408722,716.19953)"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ sodipodi:ry="1"
+ sodipodi:rx="1"
+ sodipodi:cy="16.362183"
+ sodipodi:cx="15"
+ id="path4975-8"
+ style="color:#000000;fill:#69312f;fill-opacity:1;stroke:#69312f;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
<path
- inkscape:connector-curvature="0"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m 437.45588,596.97447 0,-377.01491"
- id="path3116"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
+ sodipodi:type="arc"
+ style="color:#000000;fill:#28220b;fill-opacity:1;stroke:#28220b;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4977-1"
+ sodipodi:cx="15"
+ sodipodi:cy="16.362183"
+ sodipodi:rx="1"
+ sodipodi:ry="1"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,50.908082,736.08463)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
<path
- inkscape:connector-curvature="0"
- style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m 372.87905,411.27704 64.93441,0"
- id="path3118"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
+ transform="matrix(4.6623359,1.6609881,-1.6609881,4.6623359,37.248612,739.8127)"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ sodipodi:ry="1"
+ sodipodi:rx="1"
+ sodipodi:cy="16.362183"
+ sodipodi:cx="15"
+ id="path4979-3"
+ style="color:#000000;fill:#cc6633;fill-opacity:1;stroke:#cc6633;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ffdb6b;fill-opacity:1;stroke:#dd8a3d;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path4981-1"
+ sodipodi:cx="15"
+ sodipodi:cy="16.362183"
+ sodipodi:rx="1"
+ sodipodi:ry="1"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ transform="matrix(5.5489598,1.9768537,-1.9768537,5.5489598,20.951652,708.53981)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
</g>
- </g>
- <g
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-logo.png"
- transform="matrix(1.1267151,0,0,1.1267151,243.84387,-831.09318)"
- id="g4082">
- <path
- inkscape:connector-curvature="0"
- style="font-size:58.13353348px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#a56941;fill-opacity:1;stroke:none;font-family:Emblem"
- d="m 273.08439,61.656431 c -0.94086,0 -1.84521,0.0038 -2.7527,0.06255 -0.0847,0.01722 -0.16503,0.0466 -0.25025,0.06255 -0.84477,0.157787 -1.67823,0.292338 -2.56501,0.312813 -0.12283,0.01722 -0.25319,-0.01836 -0.37537,0 -7.23791,1.089665 -13.35321,4.232391 -18.26793,9.446767 -5.73951,6.06158 -8.63346,13.323179 -8.63347,21.771374 0,8.542995 2.89397,15.853925 8.63347,21.896495 6.21303,6.51614 14.2855,9.75956 24.21126,9.75958 5.26591,-2e-5 10.3285,-1.30838 15.13985,-3.94137 4.81128,-2.55719 8.9947,-6.17652 12.57485,-10.76056 l -10.82313,-6.00589 c -4.65983,6.21305 -10.38519,9.32165 -17.20437,9.32165 -4.7356,0 -8.98159,-1.53619 -12.63741,-4.56698 -3.71271,-3.03077 -5.56801,-6.72237 -5.56796,-11.135945 l 49.48606,0 0,-2.50246 c -5e-5,-10.702335 -3.62514,-19.272304 -10.82312,-25.712732 -6.06157,-5.360601 -12.77627,-8.007783 -20.14477,-8.007859 z m -230.100847,0.43793 0,23.961011 -8.383224,0 0,12.262047 8.383224,0 0,25.024561 12.762525,0 0,-25.024561 7.695059,0 15.702918,25.024561 15.139855,0 -21.083194,-31.781201 20.144769,-28.277758 -15.452668,0 -15.577788,22.772351 -6.568951,0 0,-23.961011 -12.762525,0 z m 156.591197,0 c -2.19697,0.392104 -4.24408,1.030291 -6.13103,2.001968 -3.18232,1.704844 -5.69466,3.953222 -7.56992,6.756633 l 0,-7.569941 -12.82509,0 0,60.058959 12.82509,0 0,-33.658041 c -2e-5,-4.811275 1.35771,-8.502905 4.0665,-11.13593 2.72765,-2.632924 6.18568,-3.941333 10.44774,-3.941371 4.50823,3.8e-5 8.0288,1.20973 10.51032,3.691123 2.48138,2.481482 3.69105,6.370493 3.69113,11.636428 l 0,33.407791 12.82509,0 0,-36.223052 c -7e-5,-7.36852 -2.24843,-13.456553 -6.75664,-18.267934 -3.38123,-3.60845 -7.29356,-5.854486 -11.76155,-6.756633 l -9.32164,0 z m -97.22042,1.18866 0,34.784148 c -2e-5,8.145201 2.74589,14.730761 8.2581,19.769411 5.1144,4.73557 11.44922,7.13197 18.89354,7.13199 7.52004,-2e-5 13.82273,-2.39642 18.95611,-7.13199 5.51215,-5.03865 8.25804,-11.62421 8.25811,-19.769411 l 0,-34.784148 -12.82509,0 0,33.658038 c -7e-5,4.432511 -1.35779,8.038631 -4.06649,10.823121 -2.80351,2.87925 -6.21219,4.31674 -10.32264,4.31674 -3.95896,2e-5 -7.39407,-1.45642 -10.19751,-4.31674 -2.78453,-2.87919 -4.12909,-6.46636 -4.12905,-10.823121 l 0,-33.658038 -12.82508,0 z M 271.4578,73.16773 c 4.18619,6.4e-5 7.84165,1.173592 10.94824,3.503441 3.01177,2.386754 5.22976,5.863768 6.63151,10.447757 l -34.47133,0 c 1.00391,-4.413515 3.087,-7.841158 6.19357,-10.32264 3.0118,-2.40562 6.56857,-3.628494 10.69801,-3.628558 z"
- id="path4084"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
- inkscape:export-xdpi="399.59854"
- inkscape:export-ydpi="399.59854" />
<g
- id="g4086"
- transform="matrix(0.43982058,0,0,0.4392609,-61.046168,-320.82474)"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-logo-1200.png"
- inkscape:export-xdpi="399.59854"
- inkscape:export-ydpi="399.59854">
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-user-t.png"
+ transform="matrix(0.68695614,0,0,0.68695614,101.92638,266.59236)"
+ id="g8695-4">
<path
- inkscape:connector-curvature="0"
- style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23953247;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m 60.321717,411.99998 377.014613,0"
- id="path4088"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
+ transform="matrix(1.1754752,0,0,2.3509505,-73.660121,753.33034)"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ sodipodi:ry="10"
+ sodipodi:rx="20"
+ sodipodi:cy="32.362183"
+ sodipodi:cx="90"
+ id="path4961-0"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#800000;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/userSpaceEnabled.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
<path
- inkscape:connector-curvature="0"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffdb6b;stroke-width:109.23950958;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m 252.61203,788.60332 0,-377.01178"
- id="path4090"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
+ transform="matrix(4.9493694,0,0,4.9493694,-42.107891,748.42974)"
+ d="m 16,16.362183 c 0,0.552284 -0.447715,1 -1,1 -0.552285,0 -1,-0.447716 -1,-1 0,-0.552285 0.447715,-1 1,-1 0.552285,0 1,0.447715 1,1 z"
+ sodipodi:ry="1"
+ sodipodi:rx="1"
+ sodipodi:cy="16.362183"
+ sodipodi:cx="15"
+ id="path4971-6"
+ style="color:#000000;fill:#d45500;fill-opacity:1;stroke:#d45500;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/userSpaceEnabled.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ </g>
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-world-t.png"
+ id="g3297"
+ transform="matrix(0.68695614,0,0,0.68695614,30.526392,357.59236)">
<path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ sodipodi:type="arc"
+ style="color:#000000;fill:#aaeeff;fill-opacity:1;fill-rule:nonzero;stroke:#b3b3b3;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path3299"
+ sodipodi:cx="90"
+ sodipodi:cy="32.362183"
+ sodipodi:rx="20"
+ sodipodi:ry="10"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ transform="matrix(1.1754752,0,0,2.3509505,30.276632,753.33034)" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 130.79962,807.50532 c -2.85339,0.78923 -5.20625,2.69048 -7.74114,4.12698 -1.45578,1.08139 -3.17371,4.03552 -1.21347,5.32414 1.55176,0.2611 2.79811,-1.05921 4.32566,-1.15498 1.78407,-0.4112 3.60556,-0.7363 5.29696,-1.46265 2.88934,-0.9105 2.88934,-0.9105 3.18467,-1.97638 0.14032,-1.60483 -1.00047,-3.09256 -2.07745,-4.18939 -0.49137,-0.40285 -1.11497,-0.78049 -1.77523,-0.66772 z"
+ id="path3301"
inkscape:connector-curvature="0"
- style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#69312f;stroke-width:109.23951721;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m 252.86937,597.15755 377.0124,0"
- id="path4092"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
+ sodipodi:nodetypes="cccccccc" />
<path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
+ style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ d="m 153.3922,823.22551 c -4.04703,2.06374 -8.81245,4.142 -10.56886,8.25203 -0.54013,1.26397 0.22272,2.75445 0.4124,4.10295 0.7708,1.43658 -1.11269,2.70312 -0.55672,4.14497 0.66534,1.49717 2.56652,1.27157 3.82727,0.79099 1.28493,-0.44158 -0.53582,-1.70575 0,0 0.58286,1.36335 5.36635,1.77935 6.80857,1.16016 1.38701,-0.50855 2.33091,-0.74837 2.99303,-1.90611 2.17102,-4.41676 3.23712,-9.41812 2.89588,-14.33661 -0.10641,-1.32539 -0.51397,-2.60792 -0.99259,-3.83098 -0.49507,-1.61389 -2.16711,0.0173 -2.82476,0.68071 -0.60256,0.42631 -1.2709,0.77633 -1.99422,0.94189 z"
+ id="path3303"
inkscape:connector-curvature="0"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cc6633;stroke-width:109.23950195;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m 437.45588,596.97447 0,-377.01491"
- id="path4094"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
+ sodipodi:nodetypes="cacccccccccc" />
<path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/icons/from-private-to-public.png"
inkscape:connector-curvature="0"
- style="color:#000000;fill:#69312f;fill-opacity:1;fill-rule:nonzero;stroke:#dd8a3d;stroke-width:109.23947906;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block"
- d="m 372.87905,411.27704 64.93441,0"
- id="path4096"
- transform="matrix(0.240856,0.12287,-0.12287,0.240856,101.5762,778.871)" />
+ id="path3305"
+ d="m 121.52672,824.27304 c -2.3826,0.90534 -4.95654,1.52602 -7.13172,2.85353 -1.8032,1.51882 -1.57875,4.29287 -0.64391,6.22636 1.14716,2.47466 2.05723,5.06419 3.4281,7.43042 1.32587,1.74784 -0.0893,0.98747 1.52127,2.46832 0.45524,0.54208 3.2913,3.28282 4.94937,2.47469 0.82652,-0.40286 0.61983,-1.62095 0.54826,-2.70337 0.52083,-2.24499 -0.82476,-4.39163 -0.7175,-6.65278 -0.0579,-2.83898 0.49943,-5.64398 0.8377,-8.45265 0.19302,-1.55725 -0.68561,-4.455 -2.79157,-3.64452 z"
+ style="color:#000000;fill:#2ca05a;fill-opacity:1;fill-rule:nonzero;stroke:#2ca05a;stroke-width:2.47468472;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:nodetypes="cccccacccc" />
+ <path
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/src/main/java/cc/kune/wspace/client/resources/publicSpaceEnabled.png"
+ transform="matrix(1.1754752,0,0,2.3509505,30.276632,753.33034)"
+ d="m 110,32.362183 c 0,5.522847 -8.95431,10 -20,10 -11.045695,0 -20,-4.477153 -20,-10 0,-5.522848 8.954305,-10 20,-10 11.04569,0 20,4.477152 20,10 z"
+ sodipodi:ry="10"
+ sodipodi:rx="20"
+ sodipodi:cy="32.362183"
+ sodipodi:cx="90"
+ id="path3307"
+ style="color:#000000;fill:none;stroke:#002255;stroke-width:1.48864591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc" />
</g>
</g>
<path
@@ -1259,9 +815,9 @@
sodipodi:rx="11.5"
sodipodi:ry="11.5"
d="m 534,66.862183 a 11.5,11.5 0 1 1 -23,0 11.5,11.5 0 1 1 23,0 z"
- transform="translate(-13,57)" />
+ transform="translate(127,527)" />
<path
- transform="translate(15,57)"
+ transform="translate(155,527)"
d="m 534,66.862183 a 11.5,11.5 0 1 1 -23,0 11.5,11.5 0 1 1 23,0 z"
sodipodi:ry="11.5"
sodipodi:rx="11.5"
@@ -1279,9 +835,9 @@
sodipodi:rx="11.5"
sodipodi:ry="11.5"
d="m 534,66.862183 a 11.5,11.5 0 1 1 -23,0 11.5,11.5 0 1 1 23,0 z"
- transform="translate(42,57)" />
+ transform="translate(182,527)" />
<path
- transform="translate(-40,57)"
+ transform="translate(100,527)"
d="m 534,66.862183 a 11.5,11.5 0 1 1 -23,0 11.5,11.5 0 1 1 23,0 z"
sodipodi:ry="11.5"
sodipodi:rx="11.5"
@@ -1291,12 +847,12 @@
style="opacity:0.23999999;color:#000000;fill:#69312f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="arc" />
<rect
- style="opacity:0.61000001000000004;color:#000000;fill:#a56941;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.67504631999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="opacity:0.61000001;color:#000000;fill:#a56941;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.67504632;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3792"
width="65"
height="51.378941"
- x="472.5"
- y="44.862183"
+ x="612.5"
+ y="514.86218"
rx="10"
ry="10" />
<path
@@ -1316,12 +872,12 @@
d="m 13.487286,402.00226 0,-18.88977 16.359019,9.44488 z"
inkscape:transform-center-x="-0.35227569"
inkscape:transform-center-y="-0.70069221"
- transform="matrix(-1,0,0,1,389.95865,-330.38328)"
+ transform="matrix(-1,0,0,1,529.95865,139.61672)"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/intro/kune-intro/src/cc/kune/intro/client/arrow-left-g.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
- transform="translate(378.62506,-330.38328)"
+ transform="translate(518.62506,139.61672)"
inkscape:transform-center-y="-0.70069221"
inkscape:transform-center-x="0.35227473"
d="m 13.487286,402.00226 0,-18.88977 16.359019,9.44488 z"
@@ -1344,8 +900,8 @@
<rect
ry="10"
rx="10"
- y="44.862183"
- x="352.5"
+ y="514.86218"
+ x="492.5"
height="51.378941"
width="65"
id="rect5022"
@@ -1354,16 +910,16 @@
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4982"
width="124"
height="28"
- x="439"
- y="81.362183"
+ x="579"
+ y="551.36218"
rx="10"
ry="10" />
<path
- transform="matrix(-1,0,0,1,510.95865,-330.38328)"
+ transform="matrix(-1,0,0,1,650.95865,139.61672)"
inkscape:transform-center-y="-0.70069221"
inkscape:transform-center-x="-0.35227569"
d="m 13.487286,402.00226 0,-18.88977 16.359019,9.44488 z"
@@ -1400,7 +956,7 @@
d="m 13.487286,402.00226 0,-18.88977 16.359019,9.44488 z"
inkscape:transform-center-x="0.35227473"
inkscape:transform-center-y="-0.70069221"
- transform="translate(499.62506,-330.38328)"
+ transform="translate(639.62506,139.61672)"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/intro/kune-intro/src/cc/kune/intro/client/arrow-right.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
@@ -1412,15 +968,15 @@
id="rect5056"
width="65"
height="51.378941"
- x="272.5"
- y="44.862183"
+ x="412.5"
+ y="514.86218"
rx="10"
ry="10" />
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/intro/kune-intro/src/cc/kune/intro/client/arrow-left-h.png"
- transform="matrix(-1,0,0,1,309.95865,-330.38328)"
+ transform="matrix(-1,0,0,1,449.95865,139.61672)"
inkscape:transform-center-y="-0.70069221"
inkscape:transform-center-x="-0.35227569"
d="m 13.487286,402.00226 0,-18.88977 16.359019,9.44488 z"
@@ -1435,14 +991,14 @@
sodipodi:cx="18.940292"
sodipodi:sides="3"
id="path5052"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.61999995"
+ style="opacity:0.61999996;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
sodipodi:type="star" />
<path
inkscape:export-ydpi="90"
inkscape:export-xdpi="90"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/intro/kune-intro/src/cc/kune/intro/client/arrow-right-h.png"
sodipodi:type="star"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.61999995"
+ style="opacity:0.61999996;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="path5054"
sodipodi:sides="3"
sodipodi:cx="18.940292"
@@ -1457,6 +1013,114 @@
d="m 13.487286,402.00226 0,-18.88977 16.359019,9.44488 z"
inkscape:transform-center-x="0.35227473"
inkscape:transform-center-y="-0.70069221"
- transform="translate(298.62506,-330.38328)" />
+ transform="translate(438.62506,139.61672)" />
</g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Es"
+ style="display:none">
+ <text
+ transform="matrix(0.82311879,0,0,0.82311879,9.4006729,167.03992)"
+ sodipodi:linespacing="125%"
+ id="text3250"
+ y="893.13568"
+ x="152.85562"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-en.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold"
+ y="893.13568"
+ x="152.85562"
+ id="tspan3252"
+ sodipodi:role="line">Trabaja en colaboración</tspan></text>
+ <text
+ transform="matrix(0.82311879,0,0,0.82311879,9.4006729,167.03992)"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-en.png"
+ xml:space="preserve"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="152.31161"
+ y="939.46094"
+ id="text3254"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3256"
+ x="152.31161"
+ y="939.46094"
+ style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold">Y comparte con el resto</tspan></text>
+ <text
+ transform="matrix(0.82311879,0,0,0.82311879,9.4006729,167.03992)"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-en.png"
+ xml:space="preserve"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="151.89561"
+ y="848.4411"
+ id="text2991-8"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan2993-4"
+ x="151.89561"
+ y="848.4411"
+ style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold">Comunícate con otros/as</tspan></text>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="En"
+ style="display:inline">
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-en.png"
+ xml:space="preserve"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="152.85562"
+ y="893.13568"
+ id="text3449"
+ sodipodi:linespacing="125%"
+ transform="matrix(0.82311879,0,0,0.82311879,9.4006729,167.03992)"><tspan
+ sodipodi:role="line"
+ id="tspan3451"
+ x="152.85562"
+ y="893.13568"
+ style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold">Work in collaboration</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3453"
+ y="939.46094"
+ x="152.31161"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-en.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ transform="matrix(0.82311879,0,0,0.82311879,9.4006729,167.03992)"><tspan
+ style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold"
+ y="939.46094"
+ x="152.31161"
+ id="tspan3455"
+ sodipodi:role="line">And share with the world</tspan></text>
+ <text
+ sodipodi:linespacing="125%"
+ id="text3457"
+ y="848.4411"
+ x="151.89561"
+ style="font-size:32px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#dd8a3d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:24;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/kune-intro-en.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ transform="matrix(0.82311879,0,0,0.82311879,9.4006729,167.03992)"><tspan
+ style="font-size:32px;font-weight:bold;fill:#dd8a3d;fill-opacity:1;-inkscape-font-specification:Ubuntu Bold"
+ y="848.4411"
+ x="151.89561"
+ id="tspan3459"
+ sodipodi:role="line">Comunicate with others</tspan></text>
+ </g>
</svg>
Added: trunk/script/recordScreenCast.sh
===================================================================
--- trunk/script/recordScreenCast.sh (rev 0)
+++ trunk/script/recordScreenCast.sh 2011-11-07 22:25:13 UTC (rev 1590)
@@ -0,0 +1,26 @@
+#!/bin/bash
+WIDTH=806
+HEIGHT=707
+# TODO: calculate better this to allow other windows sizes
+RWIDTH=805
+RHEIGHT=649
+#SEARCH=Eurosur
+#SEARCH=Jane
+SEARCH=Firefox
+xdotool search --sync --onlyvisible "$SEARCH" windowactivate
+xdotool key --clearmodifiers alt+F5
+xdotool search --sync --onlyvisible "$SEARCH" windowsize %@ $WIDTH $HEIGHT
+xdotool search --onlyvisible --name "$SEARCH" windowmove %@ 0 0
+if [[ $? -eq 0 ]]
+then
+ recordmydesktop -x 0 -y 83 --width $RWIDTH --height $RHEIGHT --fps 25 --no-sound -o kune-screencast.ogv
+fi
+
+#WID=`xdotool search --onlyvisible --name "$1" | head -1`
+#xdotool search --onlyvisible --name "Firefox" windowmove %@ 0 0
+#recordmydesktop --windowid $WID --fps 25 --no-sound -o foo.ogv
+#xdotool search --onlyvisible "gtk-recordMyDesktop" windowmove %@ 1000 1000
+#WID=`xdotool search --class "$1" | head -1`
+#WID=`xdotool search --onlyvisible --maxdepth 2 --class "$1 "`
+#xdotool windowmove $WID 0 0
+#xdotool windowsize $WID 806 707
Property changes on: trunk/script/recordScreenCast.sh
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/src/main/java/cc/kune/core/client/sub/SubtitlesWidget.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sub/SubtitlesWidget.ui.xml 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/src/main/java/cc/kune/core/client/sub/SubtitlesWidget.ui.xml 2011-11-07 22:25:13 UTC (rev 1590)
@@ -7,7 +7,7 @@
}
.k-subtitles-title {
- font-size: 48px;
+ font-size: 28px;
color: #FFF; /* #C87137; */
font-weight: bold;
float: left;
@@ -36,7 +36,7 @@
.k-subtitles-description {
clear: both;
float: left;
- font-size: 36px;
+ font-size: 20px;
color: white;
padding-left: 40px;
}
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-11-07 22:25:13 UTC (rev 1590)
@@ -1542,6 +1542,10 @@
padding: 0 !important;
}
+div.jGrowl {
+ font-size: 18px;
+}
+
/* Dotted tab panel */
.k-dotted-tabpanel .gwt-TabLayoutPanelTab {
background-color: #ffccaa;
Deleted: trunk/src/main/resources/ConstantsTest_en.properties
===================================================================
--- trunk/src/main/resources/ConstantsTest_en.properties 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/src/main/resources/ConstantsTest_en.properties 2011-11-07 22:25:13 UTC (rev 1590)
@@ -1,8 +0,0 @@
-areYouSure = Are you Sure?
-pleaseConfirm = Please confirm!
-somethingNotTranslated = Something not translated
-someMultipleLines = \
-some \
-multiple \
-lines
-someMultipleLinesWithCarriage = some\nmultiple\nlines\nwith\ncarriage
\ No newline at end of file
Deleted: trunk/src/main/resources/ConstantsTest_es.properties
===================================================================
--- trunk/src/main/resources/ConstantsTest_es.properties 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/src/main/resources/ConstantsTest_es.properties 2011-11-07 22:25:13 UTC (rev 1590)
@@ -1,2 +0,0 @@
-areYouSure = �Est�s seguro?
-pleaseConfirm = �Por favor confirma!
\ No newline at end of file
Copied: trunk/src/main/resources/TestConstants_en.properties (from rev 1556, trunk/src/main/resources/ConstantsTest_en.properties)
===================================================================
--- trunk/src/main/resources/TestConstants_en.properties (rev 0)
+++ trunk/src/main/resources/TestConstants_en.properties 2011-11-07 22:25:13 UTC (rev 1590)
@@ -0,0 +1,19 @@
+areYouSure = Are you Sure?
+pleaseConfirm = Please confirm!
+somethingNotTranslated = Something not translated
+someMultipleLines = \
+some \
+multiple \
+lines
+someMultipleLinesWithCarriage = some\nmultiple\nlines\nwith\ncarriage
+
+# Using in selenim tests:
+userRegistration = User registration
+toGetFullAccessToThisSiteToolsContents = to get full access to this site tools/contents
+userSpaceYourInbox = User space (your Inbox)
+contentsInWhichYouParticipate = contents in which you participate
+chatWithYourBuddies = Chat with your buddies
+compatibleWithGmailAndSimilars = compatible with gmail and similars
+weNeedToAddBuddiesContactsBeforeChatWithThem = We need to add buddies (contacts) before chat with them
+helloo = Helloo... ;)
+iMJustTesting = I'm just testing
\ No newline at end of file
Copied: trunk/src/main/resources/TestConstants_es.properties (from rev 1556, trunk/src/main/resources/ConstantsTest_es.properties)
===================================================================
--- trunk/src/main/resources/TestConstants_es.properties (rev 0)
+++ trunk/src/main/resources/TestConstants_es.properties 2011-11-07 22:25:13 UTC (rev 1590)
@@ -0,0 +1,13 @@
+areYouSure = �Est�s seguro?
+pleaseConfirm = �Por favor confirma!
+
+# Using in selenim tests:
+userRegistration = Registro de usuarios/as
+toGetFullAccessToThisSiteToolsContents = para tener acceso total a las herramientas y contenidos de este sitio
+userSpaceYourInbox = Espacio de Usuario/a (tu carpeta de entrada)
+contentsInWhichYouParticipate = contenidos en los que participas
+chatWithYourBuddies = Chatea con tus colegas
+compatibleWithGmailAndSimilars = compatible con gmail y similares
+weNeedToAddBuddiesContactsBeforeChatWithThem = Necesitamos a�adir colegas (contactos) antes de chatear con ellos
+helloo = Hoolaaaaa... ;)
+iMJustTesting = Solo estoy probando
\ No newline at end of file
Modified: trunk/src/test/java/cc/kune/core/client/i18n/ConstantsTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/client/i18n/ConstantsTest.java 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/src/test/java/cc/kune/core/client/i18n/ConstantsTest.java 2011-11-07 22:25:13 UTC (rev 1590)
@@ -41,8 +41,8 @@
@Before
public void before() {
- english = ResourceBundle.getBundle("ConstantsTest", Locale.ENGLISH);
- spanish = ResourceBundle.getBundle("ConstantsTest", new Locale("es"));
+ english = ResourceBundle.getBundle("TestConstants", Locale.ENGLISH);
+ spanish = ResourceBundle.getBundle("TestConstants", new Locale("es"));
Locale.setDefault(Locale.ENGLISH);
}
Modified: trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java 2011-11-07 22:25:13 UTC (rev 1590)
@@ -19,6 +19,9 @@
*/
package cc.kune.selenium;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.openqa.selenium.By;
@@ -33,6 +36,7 @@
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.DataProvider;
+import cc.kune.core.client.i18n.I18nUtils;
import cc.kune.core.client.state.TokenUtils;
import cc.kune.core.client.sub.SubtitlesWidget;
import cc.kune.core.shared.domain.utils.StateToken;
@@ -51,20 +55,21 @@
public static final Injector INJECTOR = Guice.createInjector(new SeleniumModule());
private static final Log LOG = LogFactory.getLog(KuneSeleniumDefaults.class);
- public static boolean mustCloseFinally = true;
+ public static boolean mustCloseFinally = false;
private final String baseUrl;
protected final ChatPageObject chat;
protected final EntityHeaderPageObject entityHeader;
private final Injector injector;
protected LoginPageObject login;
+ private final ResourceBundle messages;
protected RegisterPageObject register;
protected final SpacesPageObject spaces;
private final WebDriver webdriver;
public KuneSeleniumDefaults() {
- baseUrl = "http://kune.beta.iepala.es/?locale=en#";
- // baseUrl =
- // "http://127.0.0.1:8888/?locale=es&log_level=INFO&gwt.codesvr=127.0.0.1:9997#";
+ // baseUrl = "http://kune.beta.iepala.es/?locale=en#";
+ // baseUrl = "http://beta.eurosur.org/#";
+ baseUrl = "http://127.0.0.1:8888/?locale=es&log_level=INFO&gwt.codesvr=127.0.0.1:9997#";
injector = INJECTOR;
webdriver = injector.getInstance(WebDriver.class);
login = injector.getInstance(LoginPageObject.class);
@@ -72,6 +77,7 @@
entityHeader = injector.getInstance(EntityHeaderPageObject.class);
spaces = injector.getInstance(SpacesPageObject.class);
chat = injector.getInstance(ChatPageObject.class);
+ messages = injector.getInstance(ResourceBundle.class);
final ElementLocatorFactory locator = injector.getInstance(ElementLocatorFactory.class);
PageFactory.initElements(locator, login);
PageFactory.initElements(locator, register);
@@ -86,9 +92,9 @@
@BeforeSuite
public void beforeSuite() {
- resize();
LOG.info("Going home");
home();
+ resize();
}
public void close() {
@@ -112,8 +118,7 @@
@DataProvider(name = "correctregister")
public Object[][] createCorrectRegister() {
// The default correct user/password used in tests
- return new Object[][] { { SeleniumConstants.USER_SHORNAME, SeleniumConstants.USER_LONGNAME,
- SeleniumConstants.USER_PASSWD, SeleniumConstants.USER_EMAIL } };
+ return new Object[][] { { "jane", "Jane Doe", SeleniumConstants.USER_PASSWD, "jane(a)example.com" } };
}
@DataProvider(name = "incorrectlogin")
@@ -150,11 +155,11 @@
}
public void resize() {
- final JavascriptExecutor js = (JavascriptExecutor) webdriver;
// Some others tested values:
// 1024,769
// 840,770
// 806,707
+ final JavascriptExecutor js = (JavascriptExecutor) webdriver;
js.executeScript("window.resizeTo(806,707); window.moveTo(0,0);");
}
@@ -188,4 +193,14 @@
SeleniumUtils.sleep(milliseconds);
}
+ public String t(final String message) {
+ final String methodName = I18nUtils.convertMethodName(message);
+ try {
+ return messages.getString(methodName);
+ } catch (final MissingResourceException e) {
+ LOG.info(methodName + " = " + message);
+ return message;
+ }
+ }
+
}
Modified: trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java 2011-11-07 22:25:13 UTC (rev 1590)
@@ -29,7 +29,7 @@
public abstract class KuneSeleniumTest extends KuneSeleniumDefaults {
protected String getTempString() {
- final DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
+ final DateFormat dateFormat = new SimpleDateFormat("yyMMddHHmm");
final String value = dateFormat.format(new Date());
return value;
}
Modified: trunk/src/test/java/cc/kune/selenium/SeleniumModule.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/SeleniumModule.java 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/src/test/java/cc/kune/selenium/SeleniumModule.java 2011-11-07 22:25:13 UTC (rev 1590)
@@ -20,6 +20,8 @@
package cc.kune.selenium;
import java.util.Arrays;
+import java.util.Locale;
+import java.util.ResourceBundle;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
@@ -61,6 +63,11 @@
bind(EntityHeaderPageObject.class).in(Singleton.class);
bind(ChatPageObject.class).in(Singleton.class);
bind(SpacesPageObject.class).in(Singleton.class);
+
+ final ResourceBundle english = ResourceBundle.getBundle("TestConstants", Locale.ENGLISH);
+ final ResourceBundle spanish = ResourceBundle.getBundle("TestConstants", new Locale("es"));
+ Locale.setDefault(Locale.ENGLISH);
+ bind(ResourceBundle.class).toInstance(spanish);
}
@SuppressWarnings("unused")
@@ -74,7 +81,7 @@
// "--load-extension=/home/YOURUSER/.config/chromium/Default/Extensions/jpjpnpmbddbjkfaccnmhnkdgjideieim/1.0.9738_0/"
// (tests with the gwt extension)
));
- capabilities.setCapability("chrome.binary", "/usr/bin/chromium-browser");
+ capabilities.setCapability("chrome.binary", "/usr/lib/chromium-browser/chromium-browser");
final ChromeDriver driver = new ChromeDriver(capabilities);
return driver;
}
Modified: trunk/src/test/java/cc/kune/selenium/login/RegisterSeleniumTests.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/login/RegisterSeleniumTests.java 2011-11-07 14:18:37 UTC (rev 1589)
+++ trunk/src/test/java/cc/kune/selenium/login/RegisterSeleniumTests.java 2011-11-07 22:25:13 UTC (rev 1590)
@@ -34,34 +34,35 @@
final String email) {
// 15 chars, the limit, so we don't use shortName
final String prefix = getTempString();
- showTitleSlide("User registration", "to get full access to this site tools/contents");
+ showTitleSlide(t("User registration"), t("to get full access to this site tools/contents"));
login.createOne();
- register.fillRegisterForm(prefix, prefix + longName, passwd, prefix + email, false);
+ register.fillRegisterForm(shortName + prefix, longName + prefix, passwd, prefix + email, false);
login.assertIsConnectedAs(prefix);
sleep(1000);
- entityHeader.waitForEntityTitle(prefix + longName);
+ entityHeader.waitForEntityTitle(longName + prefix);
register.getWelcomeMsg().click();
// user space
- showTitleSlide("User space (your Inbox)", "contents in which you participate");
+ showTitleSlide(t("User space (your Inbox)"), t("contents in which you participate"));
showTooltip(spaces.userBtn());
spaces.userBtn().click();
// chat
- showTitleSlide("Chat with your buddies", "compatible with gmail and similars", SiteTokens.WAVEINBOX);
+ showTitleSlide(t("Chat with your buddies"), t("compatible with gmail and similars"),
+ SiteTokens.WAVEINBOX);
showTooltip(chat.icon());
chat.show();
sleep(3000);
final XmppURI jid = XmppURI.jid(SeleniumConstants.USER_EMAIL);
final String jids = jid.toString();
- showMsg("We need to add buddies (contacts) before chat with them");
+ showMsg(t("We need to add buddies (contacts) before chat with them"));
chat.openChat(jid);
// chat.getPage(jids).click();
- chat.getTalkBox(jids).sendKeys("Helloo... ;)");
+ chat.getTalkBox(jids).sendKeys(t("Helloo... ;)"));
chat.getSend(jids).click();
- chat.getTalkBox(jids).sendKeys("I'm just testing");
+ chat.getTalkBox(jids).sendKeys(t("I'm just testing"));
chat.getSend(jids).click();
login.logout();
1
0
r1589 - in trunk/src/main/java/cc/kune: core/client/i18n gspace/client/actions
by Vicente J. Ruiz Jurado 07 Nov '11
by Vicente J. Ruiz Jurado 07 Nov '11
07 Nov '11
Author: vjrj_
Date: 2011-11-07 15:18:37 +0100 (Mon, 07 Nov 2011)
New Revision: 1589
Modified:
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties
trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties
trunk/src/main/java/cc/kune/gspace/client/actions/AbstractNewMenu.java
Log:
CLOSED - # 137: Adding 'New' Documents, Folders and Gadgets button to all pages
http://kune.ourproject.org/issues/ticket/137
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java 2011-11-07 12:22:34 UTC (rev 1588)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.java 2011-11-07 14:18:37 UTC (rev 1589)
@@ -5,6 +5,9 @@
*/
import com.google.gwt.i18n.client.ConstantsWithLookup;
+/**
+ * Autogenerated by trunk/bin/i18n-db2gwt.sh, please not edit directly
+ */
public interface KuneConstants extends ConstantsWithLookup {
String aboutKune();
@@ -18,12 +21,16 @@
String aCommunityIsAGroupOfUsersWithSharedInterestsForInstanceTheEnvironmentalCommunityOrTheLgbtCommunityIt();
+ String aContentWithTheSameNameAlreadyExistPleaseRenameIt();
+
String actions();
String addANewBuddy();
String addAsABuddy();
+ String addGadget();
+
String administrators();
String allowAnyUsesOfYourWorkIncludingCommercial();
@@ -48,6 +55,8 @@
String areYouSure();
+ String areYouSureYouWantThisItWillBeDeletedWithAllItsContents();
+
String aShortTermTaskSample();
String autoAcceptRequestToJoin();
@@ -122,6 +131,8 @@
String clickAltpageupOrAltpagedownToMoveUpDownInTheListWhileTranslatingAndAltVToCopyTheOriginalTextTheTrans();
+ String clickToGoHereOrDropContentsHereToMoveThem();
+
String clickToRename();
String clickToSelectAndConfigureThisTheme();
@@ -144,6 +155,8 @@
String connecting();
+ String contentNotFound();
+
String copyleft();
String copyTheTextToTranslate();
@@ -198,6 +211,8 @@
String doYouWantToJoinThisGroup();
+ String doYouWantToWriteAMessageToTheAdministratorsOfThisGroup();
+
String doYouWantToWriteAMessageToTheMembersOfThisGroup();
String doYouWantToWriteAMessageToYourBuddy();
@@ -268,7 +283,7 @@
String hostedGroups();
- String inDevelopmentWithBrackets();
+ String inDevelopment();
String infoAboutErrors();
@@ -292,6 +307,8 @@
String licenseWizard();
+ String listCreated();
+
String lists();
String loading();
@@ -302,6 +319,8 @@
String makeThisListNotPublic();
+ String makeThisListPublic();
+
String markAsDone();
String media();
@@ -312,10 +331,22 @@
String memberAccepted();
+ String memberRemoved();
+
+ String membershipRequestedWaitingForAdminsDecision();
+
+ String membersJoiningPolicyChanged();
+
+ String membersVisibilityChanged();
+
+ String memberTypeChanged();
+
String midTermTasks();
String moderateRequestToJoin();
+ String moving();
+
String name();
String nConversationsUnread();
@@ -328,6 +359,8 @@
String newBlog();
+ String newDoc();
+
String newDocument();
String newFolder();
@@ -374,16 +407,12 @@
String newYoutubeVideo();
- String nExternalUser();
-
String nextUsedInButton();
String no();
String notes();
- String notPublishable();
-
String notPublishedYet();
String notTranslated();
@@ -402,6 +431,8 @@
String onlyMembers();
+ String onlyToAuthorizedTranslators();
+
String onlyYou();
String onlyYourBuddies();
@@ -488,6 +519,8 @@
String removeCurrentBackgroundImage();
+ String removedAsMember();
+
String removeThisMember();
String renaming();
@@ -512,8 +545,6 @@
String seeTheArchiveOfOldConversationsInDevelopment();
- String seeTheArchiveOfOldConversationsInDevelopmentWithBrackets();
-
String select();
String selectACreativeCommonsLicenseRecommendedForCulturalWorks();
@@ -546,8 +577,6 @@
String signIn();
- String signInOrCreateAnAccountToAccessToYourInbox();
-
String signInToCollaborate();
String signOut();
@@ -604,6 +633,8 @@
String thereIsnTAnyTaskCreateOne();
+ String theSocialNetworkOfThisUserIsNotPublic();
+
String thisBlogHasnTAnyPostCreateOne();
String thisDemoOfKune();
@@ -640,14 +671,14 @@
String thisIsTheDefaultLicenseForAllTheContentsOfThisGroupAlthoughYouCanChooseADifferentLicenseForSpecificC();
- String thisPageIsNotPublishable();
+ String thisListIsNowRestrictedToThePublic();
+ String thisNameIsAlreadyInUsePleaseTryWithADifferentName();
+
String thisSite();
String thisToolCannotBeDisabledAsLongAsItsWhereTheGroupsHomePageIsLocatedChangeTheDefaultHomePageToAnotherT();
- String thisUserDoesNotHaveAHomepage();
-
String thisUserHasNoBuddiesYet();
String thisUserHasNotWrittenItsBiographyYet();
@@ -664,6 +695,8 @@
String to();
+ String toHelpWithTheTranslationOfThisSoftwarePleaseContactBeforeWithThisSiteAdministrators();
+
String toJoinAChatroomYouNeedToBeOnline();
String tools();
@@ -702,6 +735,8 @@
String useTheGnuLicensesRecommendedForFreeSoftwareWorksAndOtherKindOfLicenses();
+ String visibilityOfYourNetworkChanged();
+
String visitHisHerHomepage();
String visitThisGroupSHomepage();
@@ -761,5 +796,4 @@
String yourLanguage();
String yourPreferences();
-
}
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties 2011-11-07 12:22:34 UTC (rev 1588)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants.properties 2011-11-07 14:18:37 UTC (rev 1589)
@@ -102,7 +102,7 @@
andNExternalUser = and [%d] external user
thisIsOnlyAPreviewOfHowThisPageWouldLookLikeToTheGeneralPublicOnTheInternet = This is only a preview of how this page would look like to the general public on the internet.
preview = Preview
-paramUnderLicenseParam = © [%s], under license: [%s]
+paramUnderLicenseParam = � [%s], under license: [%s]
clickToRename = Click to rename
createANewDocumentIfYouChooseToPublishItThisDocumentWillAppearAsANewPageInThePublicWeb = Create a New Document. If you choose to publish it, this document will appear as a new 'Page' in the public web
reloadCurrentPage = Reload current page
@@ -120,7 +120,7 @@
longName = Long name
tools = Tools
hereYouCanSelectTheToolsUsed = Here you can select the tools used:
-thisToolCannotBeDisabledAsLongAsItsWhereTheGroupsHomePageIsLocatedChangeTheDefaultHomePageToAnotherT = This tool cannot be disabled as long as it’s where the group’s home page is located. Change the default home page to another tool then try again.
+thisToolCannotBeDisabledAsLongAsItsWhereTheGroupsHomePageIsLocatedChangeTheDefaultHomePageToAnotherT = This tool cannot be disabled as long as it\u2019s where the group\u2019s home page is located. Change the default home page to another tool then try again.
choose = Choose
changeThisWorkspaceTheme = Change this workspace theme:
selectAnImageFromYourComputerAsTheLogoForThisGroupForBestResultsUseANxnPixelImageBiggerImagesWillBeA = Select an image from your computer as the logo for this group. For best results use a [%d]x[%d] pixel image. Bigger images will be automatically resized.
@@ -318,7 +318,6 @@
documents = documents
thisFolderIsEmpty = This folder is empty
barters = barters
-thereFolderIsEmpty = There folder is empty
blogs = blogs
thereIsnTAnyBarter = There isn't any barter
thereIsnTAnyBlogCreateOne = There isn't any blog, create one
@@ -344,8 +343,8 @@
error = Error
toJoinAChatroomYouNeedToBeOnline = To join a chatroom you need to be 'online'
licenseWizard = License wizard
-backUsedInButton = « Back
-nextUsedInButton = Next »
+backUsedInButton = � Back
+nextUsedInButton = Next �
select = Select
finishUsedInButton = Finish
selectTheLicenseYouPreferUsingForSharingYourGroupContentsWithOtherPeople = Select the license you prefer using for sharing your group contents with other people:
@@ -376,11 +375,25 @@
reasonsNotToUseANonCommercialLicense = Reasons not to use a non commercial license.
selectOtherKindOfLicenses = Select other kind of licenses:
selectLicense = Select license
-signInOrCreateAnAccountToAccessToYourInbox = Sign in or create an account to access to your inbox
-seeTheArchiveOfOldConversationsInDevelopmentWithBrackets = See the archive of old conversations (in development)
-inDevelopmentWithBrackets = (in development)
-thisUserDoesNotHaveAHomepage = This user does not have a homepage
-notPublishable = Not Publishable
-thisPageIsNotPublishable = This page is not publishable
-welcomeToTheParamPublicChatRoom = Welcome to the [%s] public chat room
-nExternalUser = [%d] external user
+membershipRequestedWaitingForAdminsDecision = Membership requested. Waiting for admins decision
+memberTypeChanged = Member type changed
+memberRemoved = Member removed
+contentNotFound = Content not found
+onlyToAuthorizedTranslators = Only to authorized translators
+toHelpWithTheTranslationOfThisSoftwarePleaseContactBeforeWithThisSiteAdministrators = To help with the translation of this software please contact before with this site administrators
+visibilityOfYourNetworkChanged = Visibility of your network changed
+areYouSureYouWantThisItWillBeDeletedWithAllItsContents = Are you sure you want this? It will be deleted with all its contents.
+thisNameIsAlreadyInUsePleaseTryWithADifferentName = This name is already in use. Please try with a different name
+doYouWantToWriteAMessageToTheAdministratorsOfThisGroup = Do you want to write a message to the administrators of this group?
+listCreated = List created
+thisListIsNowRestrictedToThePublic = This list is now restricted to the public
+makeThisListPublic = Make this list public
+membersVisibilityChanged = Members visibility changed
+membersJoiningPolicyChanged = Members joining policy changed
+moving = Moving
+aContentWithTheSameNameAlreadyExistPleaseRenameIt = A content with the same name already exist. Please rename it
+removedAsMember = Removed as member
+addGadget = Add Gadget
+theSocialNetworkOfThisUserIsNotPublic = The social network of this user is not public
+newDoc = New doc
+clickToGoHereOrDropContentsHereToMoveThem = Click to go here or drop contents here to move them
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties
===================================================================
--- trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties 2011-11-07 12:22:34 UTC (rev 1588)
+++ trunk/src/main/java/cc/kune/core/client/i18n/KuneConstants_es.properties 2011-11-07 14:18:37 UTC (rev 1589)
@@ -5,16 +5,16 @@
writeToYourBuddy = Escribe a tu colega
chatWithThisGroupMember = Chatea con este/a miembro del grupo
chatWithYourBuddy = Chatea con tu colega
-addAsABuddy = Añadelo/a como colega
+addAsABuddy = Añádelo/a como colega
chat = Chat ;)
oopsSomethingHasGoneWrongWithOurServersRetryLaterPlease = ¡Uuups! Algo ha ido mal en nuestros servidores. Inténtalo de nuevo, por favor.
loading = Cargando
join = Participa
requestToJoinInThisGroup = Solicita unirte a este grupo
-writeToTheMembersOfThisGroup = Escribe a l@s miembr@s de este grupo
-writeToTheAdministratorsOfThisGroup = Escribe a l@s administradoræs de este grupo
-leaveThisGroup = Deja este grupo
-usersWhoCanViewThisMemberList = Usuri@s que pueden ver la lista de este grupo
+writeToTheMembersOfThisGroup = Escribe a los miembros de este grupo
+writeToTheAdministratorsOfThisGroup = Escribe a las/os administradoræs de este grupo
+leaveThisGroup = Dejar este grupo
+usersWhoCanViewThisMemberList = Usuarias/os que pueden ver la lista de este grupo
options = Opciones
newMembersPolicy = Política para nuevos miembros
anyone = cualquiera
@@ -28,15 +28,15 @@
usersWhoCanViewYourNetwork = Usuarios/as que pueden ver tu red
onlyYou = solo tú
groupMembers = Miembros del grupo
-usersAndGroupsCollaboratingInThisGroup = Usuari@s y grupos colaborando en este grupo
+usersAndGroupsCollaboratingInThisGroup = Usuarios/as y grupos colaborando en este grupo
administrators = Administradoræs
-usersWhoCanAdministrateThisGroup = Usuari@s que pueden administrar este grupo
+usersWhoCanAdministrateThisGroup = Usuarios/as que pueden administrar este grupo
collaborators = Colaboradoræs
othersWhoCollaborateWithThisGroup = Otr@s que colaboran en este grupo
thisIsAnOrphanedProjectIfYouAreInterestedInContributingPleaseRequestToJoin = Este es un proyecto huérfano, si estás interesado/a en contribuir por favor, solicita participar en él
pending = Pendiente
theMembersOfThisGroupAreNotPublic = Los miembros de este grupo no son públicos
-usersPendingToBeAcceptedInThisGroupByTheAdministrators = Usuari@s pendientes de ser aceptad@s en este grupo por l@s administradoræs
+usersPendingToBeAcceptedInThisGroupByTheAdministrators = Usuarias/os pendientes de ser aceptadas/os en este grupo por las/os administradoræs
changeToCollaborator = Cambiar a colaborador/a
changeToAdministrator = Cambiar a administrador/a
removeThisMember = Echar a este miembro
@@ -47,32 +47,32 @@
visitYourHomepage = Visita tu página inicial
visitHisHerHomepage = Visita su página inicial
hisHerNetwork = Su red social:
-thisUserSGroupsAndBuddies = Los colegas de estæ usuari@
+thisUserSGroupsAndBuddies = Los colegas de estæ usuaria/o
buddies = Colegas
-thisUserSBuddies = Los colegas de estæ usuari@
+thisUserSBuddies = Los colegas de estæ usuaria/o
joinsIn = Participa en
groupsWhichThisUserJoined = Grupos en los que este miembro participa
yourGroups = Tus grupos
yourHomepage = Tu página inicial
thisSite = este sitio
yourHomePageInParam = Tu página inicial en [%s]
-userSpaceItShowsAListOfAllDocumentsAndContentsInWhichYouParticipate = Espacio de usuari@: muestra una lista de documentos y contenidos en los que tú participas
+userSpaceItShowsAListOfAllDocumentsAndContentsInWhichYouParticipate = Espacio de usuaria/o: muestra una lista de documentos y contenidos en los que tú participas
groupAndPersonalSpaceWhereYouCanCreateAndPublishContentsForYourPersonalOrGroupWebSpaces = Espacio personal y grupal: Donde puedes crear y publicar contenidos para tu espacio web personal o grupal
publicSpaceWhereYouCanSeeAPreviewOfHowYourPersonalOrGroupSpaceLooksLikeOnTheWeb = Espacio público: Donde puedes ver una vista previa de como tu espacio personal o grupal se ve en la web
latestPublications = Últimas publicaciones
stats = Estadísticas
-registeredUsers = Usuari@s registrad@s:
+registeredUsers = Usuarias/os registradas/os:
hostedGroups = Grupos alojados:
latestCreatedGroups = Últimos grupos creados
latestActivityInYourGroups = Última actividad en tus grupos
tags = Tags
keywordsOrTermsAssociatedWithThisGroup = Palabras clave o términos asociados con este grupo
-typeSomethingToSearchForUsersAndGroupsInParam = Escribe algo para buscar usuari@s y grupos en [%s]
+typeSomethingToSearchForUsersAndGroupsInParam = Escribe algo para buscar usuarios/as y grupos en [%s]
search = Buscar
close = Cerrar
groupOptions = Opciones del grupo
setYourGroupPreferencesHere = Configura aquí las preferencias de tu grupo
-userOptions = Opciones de usuari@
+userOptions = Opciones de usuario/a
helpWithTheTranslation = Ayuda con la traducción
yourPreferences = Tus preferencias
giveUsFeedback = ¡Danos feedback!
@@ -82,7 +82,7 @@
available = Disponible
availableForChat = Disponible para chatear
away = Estoy fuera
-busy = Ocupad@
+busy = Ocupada/o
signOutOfChat = Desconecta el chat
groupSPublicChatRoom = Salas de chat públicas del grupo
enterToThisGroupPublicChatRoom = Entra a esta sala de chat pública del grupo
@@ -159,7 +159,7 @@
thePasswordMustBeBetween6And40Characters = La contraseña debe tener entre 6 y 40 caracteres
newPassword = Nueva contraseña
newPasswordRepeatIt = Nueva contraseña (repítela)
-changeIt = Cambiala
+changeIt = Cámbiala
youCannotDisableThisToolBecauseItSWhereYourHomePageIsLocatedToDoThatYouHaveToSelectOtherContentAsThe = No puedes desactivar esta herramienta porque es donde tu página inicial está localizada. Para hacerlo tiene que seleccionar otro contenido de otra herramienta como página inicial.
selectAnImageFromYourComputerAsYourAvatarForBestResultsUseANxnPixelImageBiggerImagesWillBeAutomatica = Selecciona una imagen de tu ordenador como tu avatar. Para resultados óptimos usa una imagen de [%d]x[%d] píxeles. Imágenes más grandes serán reajustadas automáticamente.
passwordChangedSuccessfully = La contraseña se ha cambiado correctamente
@@ -170,7 +170,7 @@
others = Otros
thisDemoOfKune = esta demo de kune
paramBio = Biografía de [%s]
-thisUserHasNotWrittenItsBiographyYet = Este usuario no ha escrito su biografía todavía
+thisUserHasNotWrittenItsBiographyYet = Estæ usuaria/o no ha escrito su biografía todavía
longTermTasks = Tareas a largo plazo
midTermTasks = Tareas a medio plazo
shortTermUrgentTasks = Tareas a corto plazo (urgentes)
@@ -179,13 +179,13 @@
aMidTermTaskSample = Ejemplo de tarea a medio plazo
aShortTermTaskSample = Una tarea a corto plazo
wikiPageSample = Ejemplo de página wiki
-thisIsOnlyAWikiPageSampleYouCanEditOrRenameItButAlsoAnyOtherUser = Esto es solo una página wiki de ejemplo. Puedes editarla o renombrarla, pero también cualquier otr@ usuar@
+thisIsOnlyAWikiPageSampleYouCanEditOrRenameItButAlsoAnyOtherUser = Esto es solo una página wiki de ejemplo. Puedes editarla o renombrarla, pero también cualquier otro/a usuario/a
blogSample = Ejemplo de Blog
aPostSample = Ejemplo de post
thisIsOnlyAPostSampleYouCanEditItRenameThePostAndThisBlog = Esto es solo un ejemplo de post. Puedes editarlo, o renombrar el nombre de este post o del blog
-welcome = Bienvenid@
+welcome = Bienvenido/a
thanksForJoiningParamNowYouCanActivelyParticipateInParamYouCanAlsoUseYourPersonalSpaceToPublishConte = Gracias por unirte a [%s]. Ahora puedes participar activamente en [%s]. Pues también usar tu espacio personal para publicar contenidos. Nota: Tu correo no está verificado, por favor, sigue las indicaciones que recibirás por correo.
-thisUserHasNoBuddiesYet = Estæ usuari@ no tiene todavía colegas
+thisUserHasNoBuddiesYet = Estæ usuaria/o no tiene todavía colegas
newTask = Nueva tarea
createANewTask = Crea una nueva tarea
doubleClickToOpen = Pulsa dos veces para editar
@@ -222,12 +222,12 @@
groupType = Tipo de grupo
project = Proyecto
organization = Organización
-aProjectIsAKindOfGroupInWhichTheJoiningOfNewMembersIsModeratedByTheProjectAdministrators = Un proyecto es un tipo de grupo en el que la aceptación de nuevos miembros es moderada por l@s administradoræs.
+aProjectIsAKindOfGroupInWhichTheJoiningOfNewMembersIsModeratedByTheProjectAdministrators = Un proyecto es un tipo de grupo en el que la aceptación de nuevos miembros es moderada por las/los administradoræs.
anOrganizationWorksTheSameWayAsAProjectExceptThatItMustBeALegalEntity = Una organización funciona igual que un proyecto, excepto en que debe ser una entidad legal.
closed = Cerrado
aClosedGroupIsAPrivateProjectWhichContentsAreOnlyAccessibleToItsMembersByDefault = Un grupo cerrado es un proyecto privado, en el que sus contenidos, por defecto, son solo accesibles para sus miembros.
community = Comunidad
-aCommunityIsAGroupOfUsersWithSharedInterestsForInstanceTheEnvironmentalCommunityOrTheLgbtCommunityIt = Una comunidad es un grupo de usuari@s con intereses compartidos (por ejemplo la comunidad ecologista o la comunidad LGBT). Está abierta para que participe cualquier persona libremente sin la moderación de l@s administradoræs.
+aCommunityIsAGroupOfUsersWithSharedInterestsForInstanceTheEnvironmentalCommunityOrTheLgbtCommunityIt = Una comunidad es un grupo de usuarios/as con intereses compartidos (por ejemplo la comunidad ecologista o la comunidad LGBT). Está abierta para que participe cualquier persona libremente sin la moderación de los/as administradoræs.
paramCreatedNewContentCreatedForInstance = [%s] creado
notPublishedYet = No publicado aún
thisIsOnlyAPreviewOfHowThisWebpageWouldLookLikeToTheGeneralPublicOnTheInternet = Esto es solo una vista previa de como tu página web lo verá el público general en Internet.
@@ -276,13 +276,13 @@
markAsDone = Marcar como hecho
createANewPost = Crear un nuevo post
makeThisListNotPublic = Hacer esta lista como no pública
-subscribeToThisList = Subscríbete a la lista
+subscribeToThisList = Suscríbete a la lista
subscribe = Suscríbete
nSubscribedNPosts = [%d] subscritoræs, [%d] posts
confirmNewBuddy = Confirma nuevo/a colega
paramHadAddedYouAsABuddyDoYouWantToAddHimHerAlso = [%s] te ha añadido/a como colega. ¿Quieres añadirle a él/ella también?
paramCreatedSuccesfully = [%s] creado correctamente
-nRecentConversationsUnread = [%d] conversaciones recentes sin leer
+nRecentConversationsUnread = [%d] conversaciones recientes sin leer
writeUsWithSomeFeedbackForHelpUsToImproveTheServicesOnParam = Escríbenos algo de feedback para ayudarnos a mejorar nuestros servicios en [%s]
oneRecentConversationUnread = Una conversación reciente sin leer
pleaseConfirm = Por favor confirma
@@ -293,7 +293,7 @@
thereIsnTAnyListCreateOne = No hay listas, crear una
create = Crear
areYouSure = ¿Estás seguro/a?
-welcomeToTheParamPublicChatRoom = Bienvenido a la sala de chat pública de [%s]
+welcomeToTheParamPublicChatRoom = Bienvenida/o a la sala de chat pública de [%s]
doYouWantToWriteUsWithSomePositiveOrNegativeFeedbackAboutParamThisCanHelpUsToImproveTheseServices = ¿Quieres escribirnos con cualquier feedback positivo o negativo sobre [%s]? Esto puede ayudarnos a mejorar estos servicios
feedbackOfParam = Feedback de [%s]
editAndWriteHereYourFeedback = Edita y escribe aquí tu feedback.
@@ -311,7 +311,7 @@
saving = Guardando
successUploading = Subida con éxito
thereIsnTAnyTaskCreateOne = No hay ninguna tarea, crea una.
-searchTheUserYouWantToAddAndInHisHerHomepageClickAddAsABuddy = Busca el usuario/a que quieres añadir y en su página inicial pulsa "Añadir como colega"
+searchTheUserYouWantToAddAndInHisHerHomepageClickAddAsABuddy = Busca el usuario/a que quieres añadir y en su página inicial pulsa 'Añadir como colega'
doYouWantToWriteAMessageToTheMembersOfThisGroup = ¿Quieres escribir un mensaje a los miembros de este grupo?
post = Post
thisIsEmpty = Esto está vacío.
@@ -335,7 +335,7 @@
rightNowThePublicWebSpaceOfThisGroupItSUnderConstruction = Ahora mismo, la web pública de este grupo, está en construcción
paramTheDevelopment = [%s] el desarrollo
pleaseSupport = Por favor apoya
-inDevelopment = (en desarrollo)
+inDevelopment = (en desarrollo)
chats = chats
theNameMustContainOnlyCharactersNumbersAndDashes = El nombre solo debe tener caracteres, números o guiones
chatroomCreated = Sala de chat creada
@@ -361,7 +361,7 @@
useTheGnuLicensesRecommendedForFreeSoftwareWorksAndOtherKindOfLicenses = Usa licencias GNU (recomendado para Software Libre) y otro tipo de licencias
withACreativeCommonsLicenseYouKeepYourCopyrightButAllowPeopleToCopyAndDistributeYourWorkProvidedThey = Con una licencia Creative Commons, mantienes tu copyright a la vez que permites a otras personas copiar y distribuir tu trabajo siempre que te den crédito por ello (y solo bajo las condiciones que tu indicas aquí). ¿Qué quieres hacer?
allowAnyUsesOfYourWorkIncludingCommercial = ¿Permitir cualquier uso de tu trabajo incluso comercial?
-allowModificationsOfYourWork = ¿Permitir modicaciones de tu trabajo?
+allowModificationsOfYourWork = ¿Permitir modificaciones de tu trabajo?
theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkIncludingForCommercialPurposes = El licenciador/a permite a otras personas copiar, distribuir, mostrar y usar estos trabajos incluso con objetivos comerciales
theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkForNonCommercialPurposesOnly = El licenciador/a permite a otras personas copiar, distribuir, mostrar y usar estos trabajos pero para fines no comerciales únicamente
theLicensorPermitsOthersToCopyDistributeDisplayAndPerformTheWorkAsWellAsToMakeDerivativeWorksBasedOn = El licenciador/a permite a otras personas copiar, distribuir, mostrar y usar el trabajo, a la vez que permite hacer trabajos derivados basados en él
@@ -375,11 +375,25 @@
reasonsNotToUseANonCommercialLicense = Razones para no usar una licencia no-comercial
selectOtherKindOfLicenses = Elige otro tipo de licencias:
selectLicense = Elige una licencia
-signInOrCreateAnAccountToAccessToYourInbox = Entra o create una cuenta para acceder a tu buzón
-seeTheArchiveOfOldConversationsInDevelopmentWithBrackets = Ver el archivo de conversaciones anteriores (en desarrollo)
-inDevelopmentWithBrackets = (en desarrollo)
-thisUserDoesNotHaveAHomepage = Estæ usuaria/o no tiene página inicial
-notPublishable = No publicable
-thisPageIsNotPublishable = Esta página no es pública
-welcomeToTheParamPublicChatRoom = Bienvenido/a a la sala de chat pública de [%s]
-nExternalUser = [%d] usuarios/as esternos/as
+membershipRequestedWaitingForAdminsDecision = Petición de participación enviada. En espera de la decisión de los/as adminstradores/as.
+memberTypeChanged = Tipo de miembro cambiado
+memberRemoved = Miembro borrado
+contentNotFound = Contenido no encontrado
+onlyToAuthorizedTranslators = Sólo para traductoras autorizadas
+toHelpWithTheTranslationOfThisSoftwarePleaseContactBeforeWithThisSiteAdministrators = Para ayudar con la traducción de este software por favor contacta antes con el sitio de las administradoras
+visibilityOfYourNetworkChanged = La visibilidad de tu red ha sido cambiada
+areYouSureYouWantThisItWillBeDeletedWithAllItsContents = ¿Estás segura que quieres esto? Será eliminado borrado junto con todo su contenido.
+thisNameIsAlreadyInUsePleaseTryWithADifferentName = Este nombre ya está en uso, por favor trata con un nombre diferente
+doYouWantToWriteAMessageToTheAdministratorsOfThisGroup = ¿Quieres escribirle un mensaje a los administradores de este grupo?
+listCreated = Lista creada
+thisListIsNowRestrictedToThePublic = Esta lista ahora es restringida para el público
+makeThisListPublic = Hacer pública esta lista
+membersVisibilityChanged = Visibilidad de los miembros cambiada
+membersJoiningPolicyChanged = Política de adhesión de miembros cambiada
+moving = Moviendo
+aContentWithTheSameNameAlreadyExistPleaseRenameIt = Ya existe un contenido con el mismo nombre. Por favor renómbralo.
+removedAsMember = Eliminado como miembro
+addGadget = Añade un Gadget
+theSocialNetworkOfThisUserIsNotPublic = La red social de este/a usuario/a no es público
+newDoc = Nuevo doc
+clickToGoHereOrDropContentsHereToMoveThem = Pulsa para ir aquí o arrastra aquí contenidos para moverlos
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/AbstractNewMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/AbstractNewMenu.java 2011-11-07 12:22:34 UTC (rev 1588)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/AbstractNewMenu.java 2011-11-07 14:18:37 UTC (rev 1589)
@@ -35,7 +35,7 @@
final AccessRightsClientManager rightsManager) {
super();
this.withIcon(res.addGreen()).withStyles("k-button, k-btn, k-5corners, k-def-docbtn, k-fl").withText(
- "More");
+ i18n.t("More"));
rightsManager.onRightsChanged(true, new AccessRightsChangedHandler() {
@Override
@@ -44,5 +44,4 @@
}
});
}
-
}
1
0
Author: vjrj_
Date: 2011-11-07 13:22:34 +0100 (Mon, 07 Nov 2011)
New Revision: 1588
Added:
trunk/src/main/java/cc/kune/blogs/client/actions/PostNewMenu.java
trunk/src/main/java/cc/kune/core/client/actions/xml/AddGadgetAction.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsNewMenu.java
trunk/src/main/java/cc/kune/lists/client/actions/PostNewMenu.java
trunk/src/main/java/cc/kune/tasks/client/actions/NewFolderBtn.java
trunk/src/main/java/cc/kune/tasks/client/actions/TasksFolderNewMenu.java
trunk/src/main/java/cc/kune/wiki/client/actions/WikiPageNewMenu.java
Removed:
trunk/src/main/java/cc/kune/tasks/client/actions/NewFolderMenuItem.java
Modified:
trunk/TODO
trunk/src/main/java/cc/kune/blogs/client/BlogsGinModule.java
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/core/client/actions/xml/NewGadgetAction.java
trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/core/server/content/CreationService.java
trunk/src/main/java/cc/kune/core/server/content/CreationServiceDefault.java
trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
trunk/src/main/java/cc/kune/docs/client/DocsGinModule.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java
trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java
trunk/src/main/java/cc/kune/lists/client/ListsGinModule.java
trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
trunk/src/main/java/cc/kune/tasks/client/TasksGinModule.java
trunk/src/main/java/cc/kune/tasks/client/actions/NewTaskMenuItem.java
trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
trunk/src/main/java/cc/kune/wave/server/KuneAgent.java
trunk/src/main/java/cc/kune/wave/server/KuneWaveService.java
trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java
trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java
trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
trunk/src/main/webapp/others/kune-client-actions.xml
trunk/src/test/java/cc/kune/wave/server/KuneWaveServiceDefaultTest.java
Log:
CLOSE - # 137: Adding 'New' Documents, Folders and Gadgets button to all pages
http://kune.ourproject.org/issues/ticket/137
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/TODO 2011-11-07 12:22:34 UTC (rev 1588)
@@ -18,6 +18,7 @@
http://www.plupload.com/example_all_runtimes.php
http://gxt-multiupload-demo.appspot.com/
http://code.google.com/p/gxt-multi-upload/
+http://code.google.com/p/gwtupload/
** TODO workaround websocket issues
*** compatibilities
| jetty M2 | new wesocket | socketio |
Modified: trunk/src/main/java/cc/kune/blogs/client/BlogsGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/BlogsGinModule.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/blogs/client/BlogsGinModule.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -21,6 +21,7 @@
import cc.kune.blogs.client.actions.BlogsClientActions;
import cc.kune.blogs.client.actions.BlogsNewMenu;
+import cc.kune.blogs.client.actions.PostNewMenu;
import cc.kune.common.client.ExtendedGinModule;
public class BlogsGinModule extends ExtendedGinModule {
@@ -28,6 +29,7 @@
@Override
protected void configure() {
s(BlogsNewMenu.class);
+ s(PostNewMenu.class);
s(BlogsClientTool.class);
s(BlogsClientActions.class);
}
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -24,6 +24,7 @@
import static cc.kune.blogs.shared.BlogsConstants.TYPE_ROOT;
import static cc.kune.blogs.shared.BlogsConstants.TYPE_UPLOADEDFILE;
import cc.kune.chat.client.actions.ChatAboutContentBtn;
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.core.client.actions.ActionRegistryByType;
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.registry.NewMenusForTypeIdsRegistry;
@@ -59,13 +60,14 @@
final Provider<RefreshContentMenuItem> refresh,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
final Provider<ParticipateInContentBtn> participateBtn, final BlogsNewMenu blogNewMenu,
- final NewMenusForTypeIdsRegistry newMenusRegistry, final Provider<ChatAboutContentBtn> chatAbout,
- final Provider<DelBlogMenuItem> delFolderMenuItem,
+ final PostNewMenu postNewMenu, final NewMenusForTypeIdsRegistry newMenusRegistry,
+ final Provider<ChatAboutContentBtn> chatAbout, final Provider<DelBlogMenuItem> delFolderMenuItem,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostIconBtn, noRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, blogNewMenu, TYPE_BLOG);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, blogNewMenu, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, postNewMenu, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newBlogBtn, TYPE_ROOT);
@@ -78,6 +80,9 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
newMenusRegistry.register(TYPE_BLOG, blogNewMenu.get());
+ newMenusRegistry.register(TYPE_POST,
+ (MenuDescriptor) postNewMenu.get().withText(i18n.t("Add Gadget")));
+ newMenusRegistry.register(TYPE_UPLOADEDFILE, postNewMenu.get());
}
@Override
Added: trunk/src/main/java/cc/kune/blogs/client/actions/PostNewMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/PostNewMenu.java (rev 0)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/PostNewMenu.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -0,0 +1,34 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.blogs.client.actions;
+
+import cc.kune.gspace.client.actions.AbstractNewMenu;
+import cc.kune.gspace.client.actions.NewMenuProvider;
+
+import com.google.inject.Inject;
+
+public class PostNewMenu extends NewMenuProvider {
+
+ @Inject
+ public PostNewMenu(final AbstractNewMenu menu) {
+ super(menu);
+ }
+
+}
Added: trunk/src/main/java/cc/kune/core/client/actions/xml/AddGadgetAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/AddGadgetAction.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/AddGadgetAction.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -0,0 +1,72 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.core.client.actions.xml;
+
+import cc.kune.common.client.actions.Action;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.core.client.actions.RolAction;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.dto.AccessRolDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter;
+
+import com.google.inject.Provider;
+
+public class AddGadgetAction extends RolAction {
+
+ private final Provider<ContentServiceAsync> contentService;
+ private final ContentViewerPresenter contentViewer;
+ private final String gadgetName;
+ private final I18nTranslationService i18n;
+ private final Session session;
+ private final StateManager stateManager;
+
+ public AddGadgetAction(final Provider<ContentServiceAsync> contentService,
+ final ContentViewerPresenter contentViewerPresenter, final StateManager stateManager,
+ final Session session, final I18nTranslationService i18n, final AccessRolDTO rol,
+ final boolean authNeeded, final String gadgetName, final String iconUrl) {
+ super(rol, authNeeded);
+ this.contentService = contentService;
+ this.contentViewer = contentViewerPresenter;
+ this.stateManager = stateManager;
+ this.i18n = i18n;
+ this.gadgetName = gadgetName;
+ this.session = session;
+
+ putValue(Action.SMALL_ICON, iconUrl);
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ contentService.get().addGadgetToContent(session.getUserHash(), session.getCurrentStateToken(),
+ gadgetName, new AsyncCallbackSimple<Void>() {
+ @Override
+ public void onSuccess(final Void result) {
+ // NotifyUser.info(i18n.t("[%s] created succesfully", title));
+ // stateManager.setRetrievedStateAndGo(result);
+ // contentViewer.blinkTitle();
+ }
+ });
+ }
+
+}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/NewGadgetAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/NewGadgetAction.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/NewGadgetAction.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -66,7 +66,7 @@
@Override
public void actionPerformed(final ActionEvent event) {
- contentService.get().addGadget(session.getUserHash(), session.getCurrentStateToken(), gadgetName,
+ contentService.get().addNewContentWithGadget(session.getUserHash(), session.getCurrentStateToken(), gadgetName,
typeId, i18n.t(title), i18n.t(body), new AsyncCallbackSimple<StateContentDTO>() {
@Override
public void onSuccess(final StateContentDTO result) {
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -22,6 +22,7 @@
import java.util.HashMap;
import java.util.Map;
+import cc.kune.common.client.actions.AbstractAction;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
@@ -101,6 +102,27 @@
}
}
+ private Provider<GuiActionDescrip> createMenuItem(final XMLGuiActionDescriptor descrip,
+ final String origTypeId, final AbstractAction action) {
+ final String path = descrip.getPath();
+ final MenuDescriptor menu = newMenusRegistry.get(origTypeId);
+ assert menu != null;
+ final SubMenuDescriptor submenu = getSubMenu(menu, origTypeId, path);
+ final Provider<GuiActionDescrip> menuItemProvider = new Provider<GuiActionDescrip>() {
+ @Override
+ public GuiActionDescrip get() {
+ final MenuItemDescriptor menuItem = new MenuItemDescriptor(action);
+ // Warning: getDescription returns \n we have to replace this to
+ // spaces before use i18n in the tooltips (anyway tooltips are not
+ // working in menu items)
+ menuItem.withText(i18n.t(descrip.getDescName())).withToolTip(descrip.getDescription());
+ menuItem.setParent(TextUtils.notEmpty(path) ? submenu : menu, false);
+ return menuItem;
+ }
+ };
+ return menuItemProvider;
+ }
+
private SubMenuDescriptor getSubMenu(final MenuDescriptor menu, final String typeId,
final String parentS) {
final String[] path = parentS.split(SEP);
@@ -144,27 +166,21 @@
for (final XMLTypeId typeId : descrip.getTypeIds()) {
final String origTypeId = typeId.getOrigTypeId();
final String contentIntro = descrip.getNewContentTextIntro();
- final NewGadgetAction action = new NewGadgetAction(contentService, contentViewer,
- stateManager, session, i18n, descrip.getRol().getRolRequired(),
- descrip.getRol().isAuthNeed(), extension.getExtName(), typeId.getDestTypeId(),
- extension.getIconUrl(), descrip.getNewContentTitle(), TextUtils.empty(contentIntro) ? ""
- : contentIntro);
- final String path = descrip.getPath();
- final MenuDescriptor menu = newMenusRegistry.get(origTypeId);
- assert menu != null;
- final SubMenuDescriptor submenu = getSubMenu(menu, origTypeId, path);
- final Provider<GuiActionDescrip> menuItemProvider = new Provider<GuiActionDescrip>() {
- @Override
- public GuiActionDescrip get() {
- final MenuItemDescriptor menuItem = new MenuItemDescriptor(action);
- // Warning: getDescription returns \n we have to replace this to
- // spaces before use i18n in the tooltips (anyway tooltips are not
- // working in menu items)
- menuItem.withText(i18n.t(descrip.getDescName())).withToolTip(descrip.getDescription());
- menuItem.setParent(TextUtils.notEmpty(path) ? submenu : menu, false);
- return menuItem;
- }
- };
+ final String destTypeId = typeId.getDestTypeId();
+ AbstractAction action;
+ if (origTypeId.equals(destTypeId)) {
+ // We are adding a gadget in a doc (nor creating a gadget in a
+ // container)
+ action = new AddGadgetAction(contentService, contentViewer, stateManager, session, i18n,
+ descrip.getRol().getRolRequired(), descrip.getRol().isAuthNeed(),
+ extension.getExtName(), extension.getIconUrl());
+ } else {
+ action = new NewGadgetAction(contentService, contentViewer, stateManager, session, i18n,
+ descrip.getRol().getRolRequired(), descrip.getRol().isAuthNeed(),
+ extension.getExtName(), destTypeId, extension.getIconUrl(),
+ descrip.getNewContentTitle(), TextUtils.empty(contentIntro) ? "" : contentIntro);
+ }
+ final Provider<GuiActionDescrip> menuItemProvider = createMenuItem(descrip, origTypeId, action);
actionRegistry.addAction(ActionGroups.TOOLBAR, menuItemProvider, origTypeId);
}
}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentService.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -46,9 +46,11 @@
StateContainerDTO addFolder(String hash, StateToken parentToken, String typeId, String title)
throws DefaultException;
- StateContentDTO addGadget(String userHash, StateToken currentStateToken, String gadgetName,
- String typeId, String title, String body);
+ void addGadgetToContent(String userHash, StateToken currentStateToken, String gadgetName);
+ StateContentDTO addNewContentWithGadget(String userHash, StateToken currentStateToken,
+ String gadgetName, String typeId, String title, String body);
+
void addParticipant(String userHash, StateToken token, String participant) throws DefaultException;
StateContainerDTO addRoom(String user, StateToken parentToken, String name) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/ContentServiceAsync.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -45,9 +45,12 @@
void addFolder(String hash, StateToken parentToken, String title, String typeId,
AsyncCallback<StateContainerDTO> callback);
- void addGadget(String userHash, StateToken currentStateToken, String gadgetName, String typeId,
- String title, String body, AsyncCallback<StateContentDTO> asyncCallback);
+ void addGadgetToContent(String userHash, StateToken currentStateToken, String gadgetName,
+ AsyncCallback<Void> asyncCallback);
+ void addNewContentWithGadget(String userHash, StateToken currentStateToken, String gadgetName,
+ String typeId, String title, String body, AsyncCallback<StateContentDTO> asyncCallback);
+
void addParticipant(String userHash, StateToken token, String authorShortName,
AsyncCallback<Void> asyncCallback) throws DefaultException;
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -103,6 +103,11 @@
content.addAuthor(author);
}
+ public void addGadgetToContent(final User user, final Content content, final URL gadgetUrl) {
+ kuneWaveManager.addGadget(KuneWaveUtils.getWaveRef(content),
+ participantUtils.of(user.getShortName()).toString(), gadgetUrl);
+ }
+
@Override
public void addParticipant(final User user, final Long contentId, final String participant) {
final Content content = finder.getContent(contentId);
Modified: trunk/src/main/java/cc/kune/core/server/content/CreationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/CreationService.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/core/server/content/CreationService.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -27,6 +27,8 @@
public interface CreationService {
+ void addGadgetToContent(User user, Content content, String gadgetName);
+
Content createContent(String title, String body, User user, Container container, String typeId);
Container createFolder(Group group, Long parentFolderId, String name, I18nLanguage language,
Modified: trunk/src/main/java/cc/kune/core/server/content/CreationServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/CreationServiceDefault.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/core/server/content/CreationServiceDefault.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -59,6 +59,12 @@
}
@Override
+ public void addGadgetToContent(final User user, final Content content, final String gadgetName) {
+ final URL gadgetUrl = getGadgetUrl(gadgetName);
+ contentManager.addGadgetToContent(user, content, gadgetUrl);
+ }
+
+ @Override
public Content createContent(final String title, final String body, final User user,
final Container container, final String typeId) {
final String toolName = container.getToolName();
@@ -88,17 +94,8 @@
final String toolName = container.getToolName();
final ServerTool tool = tools.get(toolName);
tool.checkTypesBeforeContentCreation(container.getTypeId(), typeIdChild);
- final XMLWaveExtension extension = actions.getExtensions().get(gadgetname);
- assert extension != null;
- URL gadgetUrl = null;
- final String urlS = extension.getGadgetUrl();
- try {
- gadgetUrl = new URL(urlS);
- } catch (final MalformedURLException e) {
- LOG.error("Parsing gadget URL: " + urlS, e);
- }
final Content content = contentManager.createContent(title, body, user, container, typeIdChild,
- gadgetUrl);
+ getGadgetUrl(gadgetname));
tool.onCreateContent(content, container);
return content;
}
@@ -110,6 +107,19 @@
return containerManager.createRootFolder(group, name, rootName, typeRoot);
}
+ private URL getGadgetUrl(final String gadgetname) {
+ URL gadgetUrl = null;
+ final XMLWaveExtension extension = actions.getExtensions().get(gadgetname);
+ assert extension != null;
+ final String urlS = extension.getGadgetUrl();
+ try {
+ gadgetUrl = new URL(urlS);
+ } catch (final MalformedURLException e) {
+ LOG.error("Parsing gadget URL: " + urlS, e);
+ }
+ return gadgetUrl;
+ }
+
@Override
public Content saveContent(final User editor, final Content content, final String body) {
return contentManager.save(editor, content, body);
Modified: trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/core/server/rpc/ContentRPC.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -141,9 +141,21 @@
@Override
@Authenticated
+ @Authorizated(actionLevel = ActionLevel.content, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
+ @Transactional
+ public void addGadgetToContent(final String userHash, final StateToken currentStateToken,
+ final String gadgetName) throws DefaultException {
+ final User user = getCurrentUser();
+ final Content content = accessService.accessToContent(
+ ContentUtils.parseId(currentStateToken.getDocument()), user, AccessRol.Editor);
+ creationService.addGadgetToContent(user, content, gadgetName);
+ }
+
+ @Override
+ @Authenticated
@Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional
- public StateContentDTO addGadget(final String userHash, final StateToken parentToken,
+ public StateContentDTO addNewContentWithGadget(final String userHash, final StateToken parentToken,
final String gadgetname, final String typeId, final String title, final String body)
throws DefaultException {
final User user = getCurrentUser();
Modified: trunk/src/main/java/cc/kune/docs/client/DocsGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/DocsGinModule.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/docs/client/DocsGinModule.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -22,6 +22,7 @@
import cc.kune.common.client.ExtendedGinModule;
import cc.kune.docs.client.actions.DocsClientActions;
import cc.kune.docs.client.actions.DocsFolderNewMenu;
+import cc.kune.docs.client.actions.DocsNewMenu;
public class DocsGinModule extends ExtendedGinModule {
@@ -30,5 +31,6 @@
s(DocsClientTool.class);
s(DocsClientActions.class);
s(DocsFolderNewMenu.class);
+ s(DocsNewMenu.class);
}
}
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -24,6 +24,7 @@
import static cc.kune.docs.shared.DocsConstants.TYPE_ROOT;
import static cc.kune.docs.shared.DocsConstants.TYPE_UPLOADEDFILE;
import cc.kune.chat.client.actions.ChatAboutContentBtn;
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.core.client.actions.ActionRegistryByType;
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.registry.NewMenusForTypeIdsRegistry;
@@ -61,13 +62,15 @@
final Provider<DelFolderMenuItem> delFolderMenuItem,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<RefreshContentMenuItem> refresh,
final Provider<SetAsHomePageMenuItem> setAsHomePage,
- final NewMenusForTypeIdsRegistry newMenusRegistry, final DocsFolderNewMenu docsNewMenu) {
+ final NewMenusForTypeIdsRegistry newMenusRegistry, final DocsFolderNewMenu foldersNewMenu,
+ final DocsNewMenu docsNewMenu) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocIconBtn, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, docsNewMenu, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, foldersNewMenu, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, docsNewMenu, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocMenuItem, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
@@ -79,8 +82,11 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, setAsHomePage, contents);
- newMenusRegistry.register(TYPE_FOLDER, docsNewMenu.get());
- newMenusRegistry.register(TYPE_ROOT, docsNewMenu.get());
+ newMenusRegistry.register(TYPE_FOLDER, foldersNewMenu.get());
+ newMenusRegistry.register(TYPE_ROOT, foldersNewMenu.get());
+ newMenusRegistry.register(TYPE_DOCUMENT,
+ (MenuDescriptor) docsNewMenu.get().withText(i18n.t("Add Gadget")));
+ newMenusRegistry.register(TYPE_UPLOADEDFILE, docsNewMenu.get());
}
@Override
Added: trunk/src/main/java/cc/kune/docs/client/actions/DocsNewMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsNewMenu.java (rev 0)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsNewMenu.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -0,0 +1,36 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.docs.client.actions;
+
+import javax.annotation.Nonnull;
+
+import cc.kune.gspace.client.actions.AbstractNewMenu;
+import cc.kune.gspace.client.actions.NewMenuProvider;
+
+import com.google.inject.Inject;
+
+public class DocsNewMenu extends NewMenuProvider {
+
+ @Inject
+ public DocsNewMenu(final @Nonnull AbstractNewMenu menu) {
+ super(menu);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/GotoTokenAction.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -34,13 +34,15 @@
private final StateManager stateManager;
private final StateToken token;
- public GotoTokenAction(final Object icon, final String name, final StateToken token,
- final String style, final StateManager stateManager, final EventBus eventBus) {
+ public GotoTokenAction(final Object icon, final String name, final String tooltip,
+ final StateToken token, final String style, final StateManager stateManager,
+ final EventBus eventBus) {
super();
this.token = token;
this.stateManager = stateManager;
putValue(Action.NAME, name);
putValue(Action.SMALL_ICON, icon);
+ putValue(Action.TOOLTIP, tooltip);
stateManager.onSocialNetworkChanged(true, new SocialNetworkChangedHandler() {
@Override
public void onSocialNetworkChanged(final SocialNetworkChangedEvent event) {
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -82,7 +82,8 @@
final String title = pos == 0 ? i18n.t(name) : name;
final ButtonDescriptor btn = new ButtonDescriptor(new GotoTokenAction(
iconsRegistry.getContentTypeIcon(container.getTypeId()), TextUtils.ellipsis(title, 15),
- container.getStateToken(), style, stateManager, eventBus));
+ i18n.t("Click to go here or drop contents here to move them"), container.getStateToken(), style,
+ stateManager, eventBus));
if (title.length() > 15) {
btn.withToolTip(title);
}
Modified: trunk/src/main/java/cc/kune/lists/client/ListsGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/ListsGinModule.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/lists/client/ListsGinModule.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -23,6 +23,7 @@
import cc.kune.lists.client.actions.ListsClientActions;
import cc.kune.lists.client.actions.ListsNewMenu;
import cc.kune.lists.client.actions.OptionsListMenu;
+import cc.kune.lists.client.actions.PostNewMenu;
public class ListsGinModule extends ExtendedGinModule {
@@ -30,6 +31,7 @@
protected void configure() {
s(OptionsListMenu.class);
s(ListsNewMenu.class);
+ s(PostNewMenu.class);
s(ListsClientTool.class);
s(ListsClientActions.class);
}
Modified: trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -23,6 +23,7 @@
import static cc.kune.lists.shared.ListsConstants.TYPE_POST;
import static cc.kune.lists.shared.ListsConstants.TYPE_ROOT;
import cc.kune.chat.client.actions.ChatAboutContentBtn;
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.core.client.actions.ActionRegistryByType;
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.registry.NewMenusForTypeIdsRegistry;
@@ -57,14 +58,15 @@
final Provider<ShowSubscribersOfListBtn> subscribersCount,
final Provider<SetListOpenessMenuItem> listOpenessMenuItem,
final Provider<ParticipateInContentBtn> participateBtn, final ListsNewMenu listNewMenu,
- final NewMenusForTypeIdsRegistry newMenusRegistry, final Provider<ChatAboutContentBtn> chatAbout,
- final Provider<DelListMenuItem> delFolderMenuItem,
+ final PostNewMenu postNewMenu, final NewMenusForTypeIdsRegistry newMenusRegistry,
+ final Provider<ChatAboutContentBtn> chatAbout, final Provider<DelListMenuItem> delFolderMenuItem,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostIconBtn, noRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newListBtn, TYPE_ROOT);
actionsRegistry.addAction(ActionGroups.TOOLBAR, listNewMenu, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, postNewMenu, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, subscribeBtn, containersNoRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, listOpenessMenuItem, containersNoRoot);
@@ -81,6 +83,8 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
newMenusRegistry.register(TYPE_LIST, listNewMenu.get());
newMenusRegistry.register(TYPE_ROOT, listNewMenu.get());
+ newMenusRegistry.register(TYPE_POST,
+ (MenuDescriptor) postNewMenu.get().withText(i18n.t("Add Gadget")));
}
@Override
Added: trunk/src/main/java/cc/kune/lists/client/actions/PostNewMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/PostNewMenu.java (rev 0)
+++ trunk/src/main/java/cc/kune/lists/client/actions/PostNewMenu.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -0,0 +1,34 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.lists.client.actions;
+
+import cc.kune.gspace.client.actions.AbstractNewMenu;
+import cc.kune.gspace.client.actions.NewMenuProvider;
+
+import com.google.inject.Inject;
+
+public class PostNewMenu extends NewMenuProvider {
+
+ @Inject
+ public PostNewMenu(final AbstractNewMenu menu) {
+ super(menu);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/tasks/client/TasksGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/TasksGinModule.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/tasks/client/TasksGinModule.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -21,12 +21,14 @@
import cc.kune.common.client.ExtendedGinModule;
import cc.kune.tasks.client.actions.TasksClientActions;
+import cc.kune.tasks.client.actions.TasksFolderNewMenu;
import cc.kune.tasks.client.actions.TasksNewMenu;
public class TasksGinModule extends ExtendedGinModule {
@Override
protected void configure() {
+ s(TasksFolderNewMenu.class);
s(TasksNewMenu.class);
s(TasksClientTool.class);
s(TasksClientActions.class);
Copied: trunk/src/main/java/cc/kune/tasks/client/actions/NewFolderBtn.java (from rev 1556, trunk/src/main/java/cc/kune/tasks/client/actions/NewFolderMenuItem.java)
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/NewFolderBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/NewFolderBtn.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -0,0 +1,38 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.tasks.client.actions;
+
+import cc.kune.core.client.resources.nav.NavResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.actions.NewContainerBtn;
+import cc.kune.tasks.shared.TasksConstants;
+
+import com.google.inject.Inject;
+
+public class NewFolderBtn extends NewContainerBtn {
+
+ @Inject
+ public NewFolderBtn(final I18nTranslationService i18n, final NewContainerAction action,
+ final NavResources res) {
+ super(i18n, action, res.taskfolderadd(), i18n.t("New task folder"), i18n.t("Create a new folder"),
+ i18n.t("New task folder"), TasksConstants.TYPE_FOLDER);
+ }
+
+}
Deleted: trunk/src/main/java/cc/kune/tasks/client/actions/NewFolderMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/NewFolderMenuItem.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/NewFolderMenuItem.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -1,38 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package cc.kune.tasks.client.actions;
-
-import cc.kune.core.client.resources.nav.NavResources;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.gspace.client.actions.NewContainerMenuItem;
-import cc.kune.tasks.shared.TasksConstants;
-
-import com.google.inject.Inject;
-
-public class NewFolderMenuItem extends NewContainerMenuItem {
-
- @Inject
- public NewFolderMenuItem(final I18nTranslationService i18n, final NewContainerAction action,
- final NavResources res, final TasksNewMenu newMenu) {
- super(i18n, action, res.taskfolderadd(), i18n.t("New task folder"), i18n.t("Create a new folder"),
- i18n.t("New task folder"), TasksConstants.TYPE_FOLDER, newMenu.get());
- }
-
-}
Modified: trunk/src/main/java/cc/kune/tasks/client/actions/NewTaskMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/NewTaskMenuItem.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/NewTaskMenuItem.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -32,7 +32,7 @@
@Inject
public NewTaskMenuItem(final I18nTranslationService i18n, final NewContentAction action,
- final NavResources res, final GlobalShortcutRegister shorcutReg, final TasksNewMenu tasksNewMenu) {
+ final NavResources res, final GlobalShortcutRegister shorcutReg, final TasksFolderNewMenu tasksNewMenu) {
super(i18n, action, res.taskadd(), shorcutReg, i18n.t("New task"), i18n.t("Create a new task"),
i18n.t("New task"), TasksConstants.TYPE_TASK, tasksNewMenu.get());
}
Modified: trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -23,6 +23,7 @@
import static cc.kune.tasks.shared.TasksConstants.TYPE_ROOT;
import static cc.kune.tasks.shared.TasksConstants.TYPE_TASK;
import cc.kune.chat.client.actions.ChatAboutContentBtn;
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.core.client.actions.ActionRegistryByType;
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.registry.NewMenusForTypeIdsRegistry;
@@ -52,14 +53,14 @@
public TasksClientActions(final I18nUITranslationService i18n, final Session session,
final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewTaskMenuItem> newTaskItem,
- final Provider<NewTaskIconBtn> newTaskIconBtn,
- final Provider<NewFolderMenuItem> newFolderMenuItem,
+ final Provider<NewTaskIconBtn> newTaskIconBtn, final Provider<NewFolderBtn> newFolderBtn,
final Provider<OpenFolderMenuItem> openContentMenuItem,
final Provider<MarkAsDoneTaskMenuItem> marksAsDoneMenuItem,
final Provider<MarkAsNotDoneTaskMenuItem> marksAsNotDoneMenuItem,
final Provider<RefreshContentMenuItem> refresh,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
- final Provider<ParticipateInContentBtn> participateBtn, final TasksNewMenu taskNewMenu,
+ final Provider<ParticipateInContentBtn> participateBtn,
+ final TasksFolderNewMenu taskFolderNewMenu, final TasksNewMenu taskNewMenu,
final NewMenusForTypeIdsRegistry newMenusRegistry, final Provider<ChatAboutContentBtn> chatAbout,
final Provider<DelFolderMenuItem> delFolderMenuItem,
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
@@ -67,9 +68,11 @@
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskIconBtn, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, taskNewMenu, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskItem, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderMenuItem, containers);
+ // actionsRegistry.addAction(ActionGroups.TOOLBAR, taskFolderNewMenu,
+ // containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, taskNewMenu, contents);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
+ // actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskItem, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
@@ -83,8 +86,12 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, marksAsNotDoneMenuItem,
ContentStatus.inTheDustbin, TYPE_TASK);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
- newMenusRegistry.register(TYPE_FOLDER, taskNewMenu.get());
- newMenusRegistry.register(TYPE_ROOT, taskNewMenu.get());
+ // Currently new menu in folders has no sense (because we have buttons for
+ // the same contents)
+ // newMenusRegistry.register(TYPE_FOLDER, taskFolderNewMenu.get());
+ // newMenusRegistry.register(TYPE_ROOT, taskFolderNewMenu.get());
+ newMenusRegistry.register(TYPE_TASK,
+ (MenuDescriptor) taskNewMenu.get().withText(i18n.t("Add Gadget")));
}
@Override
Copied: trunk/src/main/java/cc/kune/tasks/client/actions/TasksFolderNewMenu.java (from rev 1556, trunk/src/main/java/cc/kune/tasks/client/actions/TasksNewMenu.java)
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/TasksFolderNewMenu.java (rev 0)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/TasksFolderNewMenu.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -0,0 +1,34 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.tasks.client.actions;
+
+import cc.kune.gspace.client.actions.AbstractNewMenu;
+import cc.kune.gspace.client.actions.NewMenuProvider;
+
+import com.google.inject.Inject;
+
+public class TasksFolderNewMenu extends NewMenuProvider {
+
+ @Inject
+ public TasksFolderNewMenu(final AbstractNewMenu menu) {
+ super(menu);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/wave/server/KuneAgent.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneAgent.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/wave/server/KuneAgent.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -57,7 +57,7 @@
// }
@Override
- public void addGadget(final WaveRef waveName, final String author, final String gadgetUrl) {
+ public void addGadget(final WaveRef waveName, final String author, final URL gadgetUrl) {
// TODO Auto-generated method stub
}
Modified: trunk/src/main/java/cc/kune/wave/server/KuneWaveService.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveService.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveService.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -33,7 +33,7 @@
public static final String NO_TITLE = "";
public static final URL WITHOUT_GADGET = null;
- void addGadget(WaveRef waveName, String author, String gadgetUrl);
+ void addGadget(WaveRef waveName, String author, URL gadgetUrl);
void addParticipants(WaveRef waveName, String author, String userWhoAdd, String... newParticipants);
Modified: trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveServiceDefault.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -162,11 +162,11 @@
}
@Override
- public void addGadget(final WaveRef waveName, final String author, final String gadgetUrl) {
+ public void addGadget(final WaveRef waveName, final String author, final URL gadgetUrl) {
// See DocumentModifyServiceTest
final List<Element> elementsIn = Lists.newArrayListWithCapacity(1);
final Map<String, String> properties = Maps.newHashMap();
- properties.put(Gadget.URL, gadgetUrl);
+ properties.put(Gadget.URL, gadgetUrl.toString());
properties.put(Gadget.AUTHOR, participantUtils.of(author).getAddress());
final Gadget gadget = new Gadget(properties);
@@ -307,6 +307,17 @@
return createWave(title, message, NO_WAVE_TO_COPY, gadgetUrl, participantsArray);
}
+ // public void appendGadget(final WaveRef waveName, URL gadgetUrl, final
+ // String author, boolean toRoot) {
+ // final Wavelet wavelet = fetchWave(waveName, author);
+ // final OperationQueue opQueue = new OperationQueue();
+ // opQueue.
+ // final Gadget gadget = new Gadget(gadgetUrl.toString());
+ // Blip blip = toRoot? wavelet.getRootBlip():
+ // opQueue.appendBlipToWavelet(wavelet, author);
+ // blip.append(gadget);
+ // }
+
@Override
public void delParticipants(final WaveRef waveName, final String whoDel, final String... participants) {
final Wavelet wavelet = fetchWave(waveName, whoDel);
Modified: trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -22,6 +22,7 @@
import cc.kune.common.client.ExtendedGinModule;
import cc.kune.wiki.client.actions.WikiClientActions;
import cc.kune.wiki.client.actions.WikiFolderNewMenu;
+import cc.kune.wiki.client.actions.WikiPageNewMenu;
public class WikiGinModule extends ExtendedGinModule {
@@ -30,6 +31,7 @@
s(WikiClientTool.class);
s(WikiClientActions.class);
s(WikiFolderNewMenu.class);
+ s(WikiPageNewMenu.class);
}
}
Modified: trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -24,6 +24,7 @@
import static cc.kune.wiki.shared.WikiConstants.TYPE_UPLOADEDFILE;
import static cc.kune.wiki.shared.WikiConstants.TYPE_WIKIPAGE;
import cc.kune.chat.client.actions.ChatAboutContentBtn;
+import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
import cc.kune.core.client.actions.ActionRegistryByType;
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.registry.NewMenusForTypeIdsRegistry;
@@ -60,15 +61,20 @@
final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<NewFolderBtn> newFolderBtn,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<RefreshContentMenuItem> refresh,
final Provider<SetAsHomePageMenuItem> setAsHomePage,
- final NewMenusForTypeIdsRegistry newMenusRegistry, final WikiFolderNewMenu folderNewMenu) {
+ final NewMenusForTypeIdsRegistry newMenusRegistry, final WikiFolderNewMenu folderNewMenu,
+ final WikiPageNewMenu wikipageNewMenu) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiIconBtn, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderNewMenu, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiMenuItem, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderMenuItem, containers);
+ // actionsRegistry.addAction(ActionGroups.TOOLBAR, folderNewMenu,
+ // containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, wikipageNewMenu, contents);
+ // actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiMenuItem,
+ // containers);
+ // actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderMenuItem,
+ // containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
@@ -78,8 +84,13 @@
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.ITEM_MENU, setAsHomePage, contents);
- newMenusRegistry.register(TYPE_FOLDER, folderNewMenu.get());
- newMenusRegistry.register(TYPE_ROOT, folderNewMenu.get());
+ // Currently new menu in folders has no sense (because we have buttons for
+ // the same contents)
+ // newMenusRegistry.register(TYPE_FOLDER, folderNewMenu.get());
+ // newMenusRegistry.register(TYPE_ROOT, folderNewMenu.get());
+ newMenusRegistry.register(TYPE_WIKIPAGE,
+ (MenuDescriptor) wikipageNewMenu.get().withText(i18n.t("Add Gadget")));
+ newMenusRegistry.register(TYPE_UPLOADEDFILE, wikipageNewMenu.get());
}
@Override
Added: trunk/src/main/java/cc/kune/wiki/client/actions/WikiPageNewMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/WikiPageNewMenu.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiPageNewMenu.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -0,0 +1,34 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.wiki.client.actions;
+
+import cc.kune.gspace.client.actions.AbstractNewMenu;
+import cc.kune.gspace.client.actions.NewMenuProvider;
+
+import com.google.inject.Inject;
+
+public class WikiPageNewMenu extends NewMenuProvider {
+
+ @Inject
+ public WikiPageNewMenu(final AbstractNewMenu menu) {
+ super(menu);
+ }
+
+}
Modified: trunk/src/main/webapp/others/kune-client-actions.xml
===================================================================
--- trunk/src/main/webapp/others/kune-client-actions.xml 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/main/webapp/others/kune-client-actions.xml 2011-11-07 12:22:34 UTC (rev 1588)
@@ -228,6 +228,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -255,6 +261,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -282,6 +294,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -308,6 +326,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -337,6 +361,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -350,25 +380,6 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>massmob</extensionName>
- <name>Add a meeting</name>
- <path>New Gadget»Calendar</path>
- <description>Call and speed-up of events as meeting, smartmobs,
- flashmobs, protest demonstrations, etc.
- </description>
- <enabled>false</enabled>
- <typeIds>
- <typeId origTypeId="docs.folder" destTypeId="docs.doc"/>
- </typeIds>
- <rol>
- <!-- Administrator, Editor, Viewer -->
- <rolRequired>Editor</rolRequired>
- <authNeed>true</authNeed>
- </rol>
- </guiActionDescriptor>
-
- <guiActionDescriptor>
- <type>wave-gadget</type>
<extensionName>waffle</extensionName>
<name>New meet coordination</name>
<path>New Gadget»Calendar</path>
@@ -383,6 +394,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -405,15 +422,24 @@
the web.
</description>
<new-content-title>New image</new-content-title>
- <new-content-textintro>Edit this to insert, resize and annotate any
- image from the web. The image can be annotated (double click on
- it) by any participant of this document</new-content-textintro>
+ <new-content-textintro>Edit this to insert, resize and annotate
+ any
+ image from the web. The image can be annotated (double click
+ on
+ it) by any participant of this document
+ </new-content-textintro>
<enabled>true</enabled>
<typeIds>
<typeId origTypeId="docs.folder" destTypeId="docs.doc"/>
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -441,6 +467,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -468,6 +500,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -495,6 +533,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -524,6 +568,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -553,6 +603,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -579,6 +635,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -609,6 +671,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -637,6 +705,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -663,6 +737,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -691,6 +771,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -722,6 +808,12 @@
<typeId origTypeId="docs.root" destTypeId="docs.doc"/>
<typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
<typeId origTypeId="lists.list" destTypeId="lists.post"/>
+ <!-- Add gadget in docs directly: -->
+ <typeId origTypeId="docs.doc" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.post" destTypeId="blogs.post"/>
+ <typeId origTypeId="lists.post" destTypeId="lists.post"/>
+ <typeId origTypeId="wiki.wikipage" destTypeId="wiki.wikipage"/>
+ <typeId origTypeId="tasks.task" destTypeId="tasks.task"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
Modified: trunk/src/test/java/cc/kune/wave/server/KuneWaveServiceDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/wave/server/KuneWaveServiceDefaultTest.java 2011-11-07 00:11:05 UTC (rev 1587)
+++ trunk/src/test/java/cc/kune/wave/server/KuneWaveServiceDefaultTest.java 2011-11-07 12:22:34 UTC (rev 1588)
@@ -79,7 +79,7 @@
doLogin();
final WaveRef waveletName = createTestWave();
assertNotNull(waveletName);
- manager.addGadget(waveletName, getSiteAdminShortName(), TEST_GADGET);
+ manager.addGadget(waveletName, getSiteAdminShortName(), new URL(TEST_GADGET));
}
private void addParticipant(final String whoAdds) throws IOException {
1
0
07 Nov '11
Author: vjrj_
Date: 2011-11-07 01:11:05 +0100 (Mon, 07 Nov 2011)
New Revision: 1587
Added:
trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java
trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderMenuItem.java
Modified:
trunk/TODO
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
trunk/src/main/java/cc/kune/blogs/client/actions/NewPostIconBtn.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
trunk/src/main/java/cc/kune/docs/client/actions/NewDocIconBtn.java
trunk/src/main/java/cc/kune/gspace/client/actions/AbstractNewMenu.java
trunk/src/main/java/cc/kune/gspace/client/resources/gSpaceArmor.css
trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java
trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java
trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
trunk/src/main/java/cc/kune/tasks/client/actions/NewTaskIconBtn.java
trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java
trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiIconBtn.java
trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
Log:
NEW - # 137: Adding 'New' Documents, Folders and Gadgets button to all pages
http://kune.ourproject.org/issues/ticket/137
Modified: trunk/TODO
===================================================================
--- trunk/TODO 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/TODO 2011-11-07 00:11:05 UTC (rev 1587)
@@ -12,6 +12,12 @@
nick == assigned to
* SHORT-TERM (URGENT)
+** TODO multi uploader
+*** Some links
+http://code.google.com/p/gwt-plupload/
+http://www.plupload.com/example_all_runtimes.php
+http://gxt-multiupload-demo.appspot.com/
+http://code.google.com/p/gxt-multi-upload/
** TODO workaround websocket issues
*** compatibilities
| jetty M2 | new wesocket | socketio |
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -64,10 +64,10 @@
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostIconBtn, noRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, blogNewMenu, TYPE_BLOG);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostIconBtn, noRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newBlogBtn, TYPE_ROOT);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/NewPostIconBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/NewPostIconBtn.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/NewPostIconBtn.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -33,7 +33,7 @@
@Inject
public NewPostIconBtn(final I18nTranslationService i18n, final NewContentAction action,
final NavResources res, final GlobalShortcutRegister shorcutReg) {
- super(i18n, action, res.blogAdd(), shorcutReg, "", i18n.t("Create a new blog post"),
+ super(i18n, action, res.blogAdd(), shorcutReg, i18n.t("New post"), i18n.t("Create a new blog post"),
i18n.t("New post"), BlogsConstants.TYPE_POST);
withStyles("k-btn-min, k-fl");
}
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -54,7 +54,7 @@
final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewDocMenuItem> newDocMenuItem,
final Provider<NewDocIconBtn> newDocIconBtn, final Provider<NewFolderMenuItem> newFolderMenuItem,
- final Provider<OpenDocMenuItem> openContentMenuItem,
+ final Provider<OpenDocMenuItem> openContentMenuItem, final Provider<NewFolderBtn> newFolderBtn,
final Provider<DelDocMenuItem> delContentMenuItem,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
final Provider<ParticipateInContentBtn> participateBtn,
@@ -64,10 +64,11 @@
final NewMenusForTypeIdsRegistry newMenusRegistry, final DocsFolderNewMenu docsNewMenu) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocIconBtn, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, docsNewMenu, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocMenuItem, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocIconBtn, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
Modified: trunk/src/main/java/cc/kune/docs/client/actions/NewDocIconBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/NewDocIconBtn.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/docs/client/actions/NewDocIconBtn.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -33,7 +33,7 @@
@Inject
public NewDocIconBtn(final I18nTranslationService i18n, final NewContentAction action,
final NavResources res, final GlobalShortcutRegister shorcutReg) {
- super(i18n, action, res.pageAdd(), shorcutReg, "", i18n.t("Create a New Document. "
+ super(i18n, action, res.pageAdd(), shorcutReg, i18n.t("New doc"), i18n.t("Create a New Document. "
+ "If you choose to publish it, this document will appear as a new 'Page' in the public web"),
i18n.t("New document"), DocsConstants.TYPE_DOCUMENT);
withStyles("k-btn-min, k-fl");
Added: trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java (rev 0)
+++ trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -0,0 +1,38 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.docs.client.actions;
+
+import cc.kune.core.client.resources.nav.NavResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.docs.shared.DocsConstants;
+import cc.kune.gspace.client.actions.NewContainerBtn;
+
+import com.google.inject.Inject;
+
+public class NewFolderBtn extends NewContainerBtn {
+
+ @Inject
+ public NewFolderBtn(final I18nTranslationService i18n, final NewContainerAction action,
+ final NavResources res) {
+ super(i18n, action, res.folderAdd(), i18n.t("New folder"), i18n.t("Create a new folder"),
+ i18n.t("New folder"), DocsConstants.TYPE_FOLDER);
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/AbstractNewMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/AbstractNewMenu.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/AbstractNewMenu.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -35,7 +35,7 @@
final AccessRightsClientManager rightsManager) {
super();
this.withIcon(res.addGreen()).withStyles("k-button, k-btn, k-5corners, k-def-docbtn, k-fl").withText(
- "New");
+ "More");
rightsManager.onRightsChanged(true, new AccessRightsChangedHandler() {
@Override
Modified: trunk/src/main/java/cc/kune/gspace/client/resources/gSpaceArmor.css
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/resources/gSpaceArmor.css 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/gspace/client/resources/gSpaceArmor.css 2011-11-07 00:11:05 UTC (rev 1587)
@@ -184,7 +184,7 @@
-webkit-border-bottom-right-radius: 7px;
-moz-border-radius-bottomright: 7px;
border-bottom-right-radius: 7px;
- padding: 7px 7px 0 7px;
+ padding: 1px 7px 0 7px;
overflow: hidden;
border-collapse: separate;
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/AbstractFolderViewerPanel.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -19,6 +19,7 @@
*/
package cc.kune.gspace.client.viewers;
+import cc.kune.common.client.actions.ui.IsActionExtensible;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
import cc.kune.common.client.ui.HasEditHandler;
import cc.kune.common.client.ui.UiUtils;
@@ -106,12 +107,6 @@
}
@Override
- public void setActions(final GuiActionDescCollection actions) {
- gsArmor.getSubheaderToolbar().clear();
- gsArmor.getSubheaderToolbar().addAll(actions);
- }
-
- @Override
public void setContainer(final StateContainerDTO state) {
contentTitle.setTitle(state.getTitle(), state.getTypeId(), state.getContainerRights().isEditable()
&& capabilitiesRegistry.isRenamable(state.getTypeId()));
@@ -124,6 +119,21 @@
}
@Override
+ public void setFooterActions(final GuiActionDescCollection actions) {
+ setToolbarActions(actions, gsArmor.getDocFooterToolbar());
+ }
+
+ @Override
+ public void setSubheaderActions(final GuiActionDescCollection actions) {
+ setToolbarActions(actions, gsArmor.getSubheaderToolbar());
+ }
+
+ private void setToolbarActions(final GuiActionDescCollection actions, final IsActionExtensible toolbar) {
+ toolbar.clear();
+ toolbar.addAll(actions);
+ }
+
+ @Override
public void showEmptyMsg(final String contentTypeId) {
gsArmor.getDocContainer().add(emptyPanel);
final String msg = capabilitiesRegistry.getEmptyMessagesRegistry().getContentTypeIcon(contentTypeId);
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPanel.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -30,6 +30,7 @@
import org.waveprotocol.wave.model.waveref.WaveRef;
import org.waveprotocol.wave.util.escapers.GwtWaverefEncoder;
+import cc.kune.common.client.actions.ui.IsActionExtensible;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
import cc.kune.common.client.errors.UIException;
import cc.kune.common.client.ui.HasEditHandler;
@@ -166,12 +167,6 @@
}
@Override
- public void setActions(final GuiActionDescCollection actions) {
- gsArmor.getSubheaderToolbar().clear();
- gsArmor.getSubheaderToolbar().addAll(actions);
- }
-
- @Override
public void setContent(final StateContentDTO state) {
final boolean editable = state.getContentRights().isEditable();
gsArmor.enableCenterScroll(true);
@@ -223,12 +218,27 @@
}
}
+ @Override
+ public void setFooterActions(final GuiActionDescCollection actions) {
+ setToolbarActions(actions, gsArmor.getDocFooterToolbar());
+ }
+
+ @Override
+ public void setSubheaderActions(final GuiActionDescCollection actions) {
+ setToolbarActions(actions, gsArmor.getSubheaderToolbar());
+ }
+
private void setTitle(final StateContentDTO state, final boolean editable) {
contentTitle.setTitle(state.getTitle(), state.getTypeId(), state.getMimeType(), editable
&& capabilitiesRegistry.isRenamable(state.getTypeId()));
Window.setTitle(state.getGroup().getLongName() + ": " + state.getTitle());
}
+ private void setToolbarActions(final GuiActionDescCollection actions, final IsActionExtensible toolbar) {
+ toolbar.clear();
+ toolbar.addAll(actions);
+ }
+
@Override
public void signIn() {
// Do nothing (now)
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -75,14 +75,16 @@
HasEditHandler getEditTitle();
- void setActions(GuiActionDescCollection actions);
-
void setContent(StateContentDTO state);
void setEditableContent(StateContentDTO state);
void setEditableTitle(String title);
+ void setFooterActions(GuiActionDescCollection actions);
+
+ void setSubheaderActions(GuiActionDescCollection actions);
+
void signIn();
void signOut();
@@ -202,7 +204,9 @@
}
final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContent.getGroup(),
stateContent.getTypeId(), session.isLogged(), rights, ActionGroups.TOOLBAR);
- pathToolbarUtils.createPath(stateContent.getContainer(), actions, true);
- getView().setActions(actions);
+ final GuiActionDescCollection pathActions = pathToolbarUtils.createPath(stateContent.getContainer(),
+ true);
+ getView().setFooterActions(pathActions);
+ getView().setSubheaderActions(actions);
}
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -89,12 +89,14 @@
void highlightTitle();
- void setActions(GuiActionDescCollection actions);
-
void setContainer(StateContainerDTO state);
void setEditableTitle(String title);
+ void setFooterActions(GuiActionDescCollection actions);
+
+ void setSubheaderActions(GuiActionDescCollection actions);
+
void showEmptyMsg(String contentTypeId);
}
@@ -270,8 +272,9 @@
final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContainer.getGroup(),
stateContainer.getTypeId(), session.isLogged(), rights, ActionGroups.TOOLBAR);
final ContainerDTO container = stateContainer.getContainer();
- pathToolbarUtils.createPath(container, actions, true);
- getView().setActions(actions);
+ final GuiActionDescCollection pathActions = pathToolbarUtils.createPath(container, true);
+ getView().setSubheaderActions(actions);
+ getView().setFooterActions(pathActions);
createChildItems(container, stateContainer.getContainerRights());
}
}
\ No newline at end of file
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/PathToolbarUtils.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -18,10 +18,10 @@
public class PathToolbarUtils {
- protected static final String CSSBTN = "k-button, k-fr";
- protected static final String CSSBTNC = "k-button, k-button-center, k-fr";
- protected static final String CSSBTNL = "k-button, k-button-left, k-fr";
- protected static final String CSSBTNR = "k-button, k-button-right, k-fr";
+ protected static final String CSSBTN = "k-button, k-fl";
+ protected static final String CSSBTNC = "k-button, k-button-center, k-fl";
+ protected static final String CSSBTNL = "k-button, k-button-left, k-fl";
+ protected static final String CSSBTNR = "k-button, k-button-right, k-fl";
private final Provider<FolderViewerDropController> dropController;
private final EventBus eventBus;
@@ -53,12 +53,14 @@
return CSSBTNC;
}
- public void createPath(final ContainerDTO container, final GuiActionDescCollection actions,
- final boolean withDrop) {
+ public GuiActionDescCollection createPath(final ContainerDTO container, final boolean withDrop) {
+ final GuiActionDescCollection actions = new GuiActionDescCollection();
final ContainerSimpleDTO[] path = container.getAbsolutePath();
final int pathLength = path.length;
if (pathLength > 0) {
- for (int i = pathLength - 1; i >= 0; i--) {
+ // This is we want to align to the right
+ // for (int i = pathLength - 1; i >= 0; i--) {
+ for (int i = 0; i < pathLength; i++) {
final ButtonDescriptor btn = createPathButton(path[i], pathLength, i);
if (withDrop) {
if (i != pathLength - 1) {
@@ -70,6 +72,7 @@
actions.add(btn);
}
}
+ return actions;
}
private ButtonDescriptor createPathButton(final ContainerSimpleDTO container, final int length,
Modified: trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/lists/client/actions/ListsClientActions.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -62,14 +62,15 @@
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, listNewMenu, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostIconBtn, noRoot);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, newListBtn, TYPE_ROOT);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, listNewMenu, containersNoRoot);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, subscribeBtn, containersNoRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, listOpenessMenuItem, containersNoRoot);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostItem, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newPostIconBtn, noRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, subscribeBtn, containersNoRoot);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newListMenuItem, TYPE_ROOT);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newListBtn, TYPE_ROOT);
+ // actionsRegistry.addAction(ActionGroups.TOOLBAR, newListMenuItem,
+ // TYPE_ROOT);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
Modified: trunk/src/main/java/cc/kune/tasks/client/actions/NewTaskIconBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/NewTaskIconBtn.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/NewTaskIconBtn.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -33,8 +33,8 @@
@Inject
public NewTaskIconBtn(final I18nTranslationService i18n, final NewContentAction action,
final NavResources res, final GlobalShortcutRegister shorcutReg) {
- super(i18n, action, res.taskadd(), shorcutReg, "", i18n.t("Create a new task"), i18n.t("New task"),
- TasksConstants.TYPE_TASK);
+ super(i18n, action, res.taskadd(), shorcutReg, i18n.t("New task"), i18n.t("Create a new task"),
+ i18n.t("New task"), TasksConstants.TYPE_TASK);
withStyles("k-btn-min, k-fl");
}
Modified: trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/tasks/client/actions/TasksClientActions.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -65,10 +65,10 @@
final Provider<SetAsHomePageMenuItem> setAsHomePage) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskIconBtn, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, taskNewMenu, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskItem, containers);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newTaskIconBtn, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderMenuItem, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
Modified: trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -21,19 +21,18 @@
import cc.kune.core.client.resources.nav.NavResources;
import cc.kune.core.shared.i18n.I18nTranslationService;
-import cc.kune.gspace.client.actions.NewContainerMenuItem;
+import cc.kune.gspace.client.actions.NewContainerBtn;
import cc.kune.wiki.shared.WikiConstants;
import com.google.inject.Inject;
-public class NewFolderBtn extends NewContainerMenuItem {
+public class NewFolderBtn extends NewContainerBtn {
@Inject
public NewFolderBtn(final I18nTranslationService i18n, final NewContainerAction action,
- final NavResources res, final WikiFolderNewMenu wikiFolderNewMenu) {
+ final NavResources res) {
super(i18n, action, res.wikiAdd(), i18n.t("New folder"),
i18n.t("Create a new folder. A folder will be a 'section' in the public web"),
- i18n.t("New folder"), WikiConstants.TYPE_FOLDER, wikiFolderNewMenu.get());
+ i18n.t("New folder"), WikiConstants.TYPE_FOLDER);
}
-
}
Copied: trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderMenuItem.java (from rev 1556, trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java)
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderMenuItem.java (rev 0)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderMenuItem.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -0,0 +1,39 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package cc.kune.wiki.client.actions;
+
+import cc.kune.core.client.resources.nav.NavResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.actions.NewContainerMenuItem;
+import cc.kune.wiki.shared.WikiConstants;
+
+import com.google.inject.Inject;
+
+public class NewFolderMenuItem extends NewContainerMenuItem {
+
+ @Inject
+ public NewFolderMenuItem(final I18nTranslationService i18n, final NewContainerAction action,
+ final NavResources res, final WikiFolderNewMenu wikiFolderNewMenu) {
+ super(i18n, action, res.wikiAdd(), i18n.t("New folder"),
+ i18n.t("Create a new folder. A folder will be a 'section' in the public web"),
+ i18n.t("New folder"), WikiConstants.TYPE_FOLDER, wikiFolderNewMenu.get());
+ }
+
+}
Modified: trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiIconBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiIconBtn.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiIconBtn.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -33,8 +33,14 @@
@Inject
public NewWikiIconBtn(final I18nTranslationService i18n, final NewContentAction action,
final NavResources res, final GlobalShortcutRegister shorcutReg) {
- super(i18n, action, res.wikipageAdd(), shorcutReg, "", i18n.t("Create a New Wikipage here. "
- + "If you choose to publish it, this document will appear as a new 'Page' in the public web"),
+ super(
+ i18n,
+ action,
+ res.wikipageAdd(),
+ shorcutReg,
+ i18n.t("New wikipage"),
+ i18n.t("Create a New Wikipage here. "
+ + "If you choose to publish it, this document will appear as a new 'Page' in the public web"),
i18n.t("New wikipage"), WikiConstants.TYPE_WIKIPAGE);
withStyles("k-btn-min, k-fl");
}
Modified: trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2011-11-05 22:01:51 UTC (rev 1586)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2011-11-07 00:11:05 UTC (rev 1587)
@@ -51,22 +51,24 @@
public WikiClientActions(final I18nUITranslationService i18n, final Session session,
final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res,
final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewWikiMenuItem> newWikiMenuItem,
- final Provider<NewWikiIconBtn> newWikiIconBtn, final Provider<NewFolderBtn> newFolderBtn,
+ final Provider<NewWikiIconBtn> newWikiIconBtn,
+ final Provider<NewFolderMenuItem> newFolderMenuItem,
final Provider<OpenWikiMenuItem> openContentMenuItem,
final Provider<DelWikiMenuItem> delContentMenuItem,
final Provider<ContentViewerOptionsMenu> optionsMenuContent,
final Provider<ParticipateInContentBtn> participateBtn,
- final Provider<DelFolderMenuItem> delFolderMenuItem,
+ final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<NewFolderBtn> newFolderBtn,
final Provider<ChatAboutContentBtn> chatAbout, final Provider<RefreshContentMenuItem> refresh,
final Provider<SetAsHomePageMenuItem> setAsHomePage,
final NewMenusForTypeIdsRegistry newMenusRegistry, final WikiFolderNewMenu folderNewMenu) {
super(session, stateManager, i18n, registry);
actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, folderNewMenu, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all);
- actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiMenuItem, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiIconBtn, all);
actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, folderNewMenu, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiMenuItem, containers);
+ actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderMenuItem, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents);
actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containers);
actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents);
1
0
Author: vjrj_
Date: 2011-11-05 23:01:51 +0100 (Sat, 05 Nov 2011)
New Revision: 1586
Modified:
trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java
trunk/src/main/java/cc/kune/blogs/server/BlogServerTool.java
trunk/src/main/java/cc/kune/chat/server/ChatServerTool.java
trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsCurrentStateEditableCondition.java
trunk/src/main/java/cc/kune/core/public/ws.css
trunk/src/main/java/cc/kune/core/server/AbstractServerTool.java
trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
trunk/src/main/java/cc/kune/core/server/content/CreationService.java
trunk/src/main/java/cc/kune/core/server/content/CreationServiceDefault.java
trunk/src/main/java/cc/kune/core/server/manager/file/FileUploadManager.java
trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java
trunk/src/main/java/cc/kune/events/server/EventsServerTool.java
trunk/src/main/java/cc/kune/gallery/server/GalleryServerTool.java
trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
trunk/src/main/java/cc/kune/lists/server/ListsServerTool.java
trunk/src/main/java/cc/kune/tasks/server/TaskServerTool.java
trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java
trunk/src/test/java/cc/kune/blogs/server/BlogServerToolTest.java
trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java
trunk/src/test/java/cc/kune/core/server/manager/ContentManagerDefaultTest.java
trunk/src/test/java/cc/kune/docs/server/DocumentServerToolTest.java
trunk/src/test/java/cc/kune/lists/server/ListsServerToolTest.java
trunk/src/test/java/cc/kune/wiki/server/WikiServerToolTest.java
Log:
Some refactorization in Tools content creation and some fix with wikipages (now edited by anyone registered user)
Modified: trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/barters/server/BarterServerTool.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -32,6 +32,7 @@
import cc.kune.core.server.AbstractServerTool;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.ToolConfigurationManager;
import cc.kune.core.server.tool.ServerToolTarget;
import cc.kune.core.server.tool.ServerWaveTool;
@@ -54,10 +55,11 @@
@Inject
public BarterServerTool(final ContentManager contentManager, final ContainerManager containerManager,
- final ToolConfigurationManager configurationManager, final I18nTranslationService i18n) {
+ final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
+ final CreationService creationService) {
super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_BARTER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER),
Arrays.asList(TYPE_FOLDER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER), contentManager,
- containerManager, configurationManager, i18n, ServerToolTarget.forUsers);
+ containerManager, creationService, configurationManager, i18n, ServerToolTarget.forUsers);
gadgetUrl = UrlUtils.of(BARTER_GADGET);
}
@@ -70,11 +72,10 @@
public Group initGroup(final User user, final Group group, final Object... otherVars) {
final Container rootFolder = createRoot(group);
setContainerAcl(rootFolder);
- final Content content = createInitialContent(user, group, rootFolder, i18n.t("Barter sample"),
+ createInitialContent(user, group, rootFolder, i18n.t("Barter sample"),
i18n.t("This is only a barter sample. You can invite other participants to this barter, "
+ "but also publish to the general public allowing you to share services, goods, etc."),
- TYPE_BARTER, gadgetUrl);
- contentManager.save(content);
+ TYPE_BARTER);
return group;
}
@@ -96,6 +97,6 @@
bartersAcl.getAdmins().add(container.getOwner());
bartersAcl.getEditors().setMode(GroupListMode.NORMAL);
bartersAcl.getViewers().setMode(GroupListMode.EVERYONE);
- containerManager.setAccessList(container, bartersAcl);
+ setAccessList(container, bartersAcl);
}
}
Modified: trunk/src/main/java/cc/kune/blogs/server/BlogServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/server/BlogServerTool.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/blogs/server/BlogServerTool.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -31,11 +31,11 @@
import cc.kune.core.server.AbstractServerTool;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.ToolConfigurationManager;
import cc.kune.core.server.tool.ServerToolTarget;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.domain.Container;
-import cc.kune.domain.Content;
import cc.kune.domain.Group;
import cc.kune.domain.I18nLanguage;
import cc.kune.domain.User;
@@ -46,10 +46,11 @@
@Inject
public BlogServerTool(final ContentManager contentManager, final ContainerManager containerManager,
- final ToolConfigurationManager configurationManager, final I18nTranslationService i18n) {
+ final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
+ final CreationService creationService) {
super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_POST, TYPE_UPLOADEDFILE),
Arrays.asList(TYPE_BLOG), Arrays.asList(TYPE_BLOG), Arrays.asList(TYPE_ROOT), contentManager,
- containerManager, configurationManager, i18n, ServerToolTarget.forBoth);
+ containerManager, creationService, configurationManager, i18n, ServerToolTarget.forBoth);
}
@Override
@@ -57,12 +58,11 @@
final Container rootFolder = createRoot(group);
final I18nLanguage language = user.getLanguage();
- final Container blog = containerManager.createFolder(group, rootFolder, i18n.t("Blog sample"),
- language, TYPE_BLOG);
+ final Container blog = creationService.createFolder(group, rootFolder.getId(),
+ i18n.t("Blog sample"), language, TYPE_BLOG);
- final Content content = createInitialContent(user, group, blog, i18n.t("A post sample"),
+ createInitialContent(user, group, blog, i18n.t("A post sample"),
i18n.t("This is only a post sample. You can edit it, rename the post and this blog"), TYPE_POST);
- contentManager.save(content);
return group;
}
}
Modified: trunk/src/main/java/cc/kune/chat/server/ChatServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/server/ChatServerTool.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/chat/server/ChatServerTool.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -30,6 +30,7 @@
import cc.kune.core.server.AbstractServerTool;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.ToolConfigurationManager;
import cc.kune.core.server.tool.ServerToolTarget;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -46,10 +47,12 @@
@Inject
public ChatServerTool(final ToolConfigurationManager configurationManager,
final ContentManager contentManager, final ContainerManager containerManager,
- final ChatManagerDefault chatManager, final I18nTranslationService i18n) {
+ final ChatManagerDefault chatManager, final I18nTranslationService i18n,
+ final CreationService creationService) {
super(NAME, ROOT_NAME, TYPE_ROOT, Collections.<String> emptyList(),
Collections.<String> emptyList(), Arrays.asList(TYPE_ROOM), Arrays.asList(TYPE_ROOT),
- contentManager, containerManager, configurationManager, i18n, ServerToolTarget.forGroups);
+ contentManager, containerManager, creationService, configurationManager, i18n,
+ ServerToolTarget.forGroups);
this.chatManager = chatManager;
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -67,9 +67,9 @@
bottomActionsToolbar.setStyleName("k-sn-bottomPanel-actions");
armor.getEntityToolsNorth().add(widget);
deck.showWidget(2);
- noBuddies = new Label("This user has no buddies yet");
+ noBuddies = new Label(i18n.t("This user has no buddies yet"));
noBuddies.addStyleName("kune-Margin-Medium-l");
- noPublic = new Label(CoreMessages.BUDDIES_NOT_PUBLIC);
+ noPublic = new Label(i18n.t(CoreMessages.BUDDIES_NOT_PUBLIC));
noPublic.addStyleName("kune-Margin-Medium-l");
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsCurrentStateEditableCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsCurrentStateEditableCondition.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/IsCurrentStateEditableCondition.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -32,26 +32,26 @@
@Singleton
public class IsCurrentStateEditableCondition implements GuiAddCondition {
- private final Session session;
+ private final Session session;
- @Inject
- public IsCurrentStateEditableCondition(final Session session) {
- this.session = session;
+ @Inject
+ public IsCurrentStateEditableCondition(final Session session) {
+ this.session = session;
+ }
+
+ @Override
+ public boolean mustBeAdded(final GuiActionDescrip descr) {
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (currentState == null) {
+ return false;
+ } else {
+ if (currentState instanceof StateContentDTO) {
+ return ((StateContentDTO) currentState).getContentRights().isEditable();
+ } else {
+ // session.getContainerState() instanceof StateContentDTO)
+ return ((StateContainerDTO) currentState).getGroupRights().isEditable();
+ }
}
- @Override
- public boolean mustBeAdded(final GuiActionDescrip descr) {
- final StateAbstractDTO currentState = session.getCurrentState();
- if (currentState == null) {
- return false;
- } else {
- if (currentState instanceof StateContentDTO) {
- return ((StateContentDTO) currentState).getGroupRights().isEditable();
- } else {
- // session.getContainerState() instanceof StateContentDTO)
- return ((StateContainerDTO) currentState).getGroupRights().isEditable();
- }
- }
-
- }
+ }
}
Modified: trunk/src/main/java/cc/kune/core/public/ws.css
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.css 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/core/public/ws.css 2011-11-05 22:01:51 UTC (rev 1586)
@@ -701,7 +701,7 @@
}
.k-publicspace-panel {
- margin: 5px;
+ padding: 5px;
display: table-row;
}
Modified: trunk/src/main/java/cc/kune/core/server/AbstractServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/AbstractServerTool.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/core/server/AbstractServerTool.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -1,6 +1,5 @@
package cc.kune.core.server;
-import java.net.URL;
import java.util.Date;
import java.util.List;
@@ -8,12 +7,14 @@
import cc.kune.core.client.errors.ContentNotPermittedException;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.ToolConfigurationManager;
import cc.kune.core.server.tool.ServerTool;
import cc.kune.core.server.tool.ServerToolRegistry;
import cc.kune.core.server.tool.ServerToolTarget;
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.domain.AccessLists;
import cc.kune.domain.Container;
import cc.kune.domain.Content;
import cc.kune.domain.Group;
@@ -25,8 +26,9 @@
public abstract class AbstractServerTool implements ServerTool {
protected final ToolConfigurationManager configurationManager;
- protected final ContainerManager containerManager;
- protected final ContentManager contentManager;
+ private final ContainerManager containerManager;
+ private final ContentManager contentManager;
+ protected final CreationService creationService;
protected final I18nTranslationService i18n;
private final String name;
private final String rootName;
@@ -41,8 +43,8 @@
final List<String> validContents, final List<String> validContentParents,
final List<String> validContainers, final List<String> validContainerParents,
final ContentManager contentManager, final ContainerManager containerManager,
- final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
- final ServerToolTarget target) {
+ final CreationService creationService, final ToolConfigurationManager configurationManager,
+ final I18nTranslationService i18n, final ServerToolTarget target) {
this.name = name;
this.rootName = rootName;
this.typeRoot = typeRoot;
@@ -52,6 +54,7 @@
this.validContainerParents = validContainerParents;
this.contentManager = contentManager;
this.containerManager = containerManager;
+ this.creationService = creationService;
this.configurationManager = configurationManager;
this.i18n = i18n;
this.target = target;
@@ -77,22 +80,16 @@
protected Content createInitialContent(final User user, final Group group, final Container rootFolder,
final String title, final String body, final String contentType) {
- final Content content = contentManager.createContent(title, body, user, rootFolder, contentType);
+ final Content content = creationService.createContent(title, body, user, rootFolder, contentType);
setContentValues(content, contentType, user);
+ contentManager.save(content);
return content;
}
- protected Content createInitialContent(final User user, final Group group, final Container rootFolder,
- final String title, final String body, final String contentType, final URL gadgetUrl) {
- final Content content = contentManager.createContent(title, body, user, rootFolder, contentType,
- gadgetUrl);
- setContentValues(content, contentType, user);
- return content;
- }
-
protected Container createRoot(final Group group) {
final ToolConfiguration config = new ToolConfiguration();
- final Container rootFolder = containerManager.createRootFolder(group, name, rootName, typeRoot);
+
+ final Container rootFolder = creationService.createRootFolder(group, name, rootName, typeRoot);
setContainerAcl(rootFolder);
config.setRoot(rootFolder);
group.setToolConfig(name, config);
@@ -129,6 +126,10 @@
registry.register(this);
}
+ protected void setAccessList(final Container container, final AccessLists acl) {
+ containerManager.setAccessList(container, acl);
+ }
+
protected void setContainerAcl(final Container container) {
}
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManager.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -19,7 +19,6 @@
*/
package cc.kune.core.server.content;
-import java.net.URL;
import java.util.Date;
import cc.kune.core.client.errors.DefaultException;
@@ -49,11 +48,6 @@
void addParticipant(User user, Long contentId, String participant);
- Content createContent(String title, String body, User author, Container container, String typeId);
-
- Content createContent(String title, String body, User author, Container container, String typeId,
- URL gadgetUrl);
-
boolean findIfExistsTitle(Container container, String title);
Double getRateAvg(Content content);
Modified: trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/core/server/content/ContentManagerDefault.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -112,14 +112,12 @@
}
}
- @Override
- public Content createContent(final String title, final String body, final User author,
+ protected Content createContent(final String title, final String body, final User author,
final Container container, final String typeId) {
return createContent(title, body, author, container, typeId, KuneWaveService.WITHOUT_GADGET);
}
- @Override
- public Content createContent(final String title, final String body, final User author,
+ protected Content createContent(final String title, final String body, final User author,
final Container container, final String typeId, final URL gadgetUrl) {
FilenameUtils.checkBasicFilename(title);
final String newtitle = findInexistentTitle(container, title);
Modified: trunk/src/main/java/cc/kune/core/server/content/CreationService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/CreationService.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/core/server/content/CreationService.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -35,6 +35,8 @@
Content createGadget(User user, Container container, String gadgetname, String typeId, String title,
String body);
+ Container createRootFolder(Group group, String name, String rootName, String typeRoot);
+
Content saveContent(User editor, Content descriptor, String content);
}
Modified: trunk/src/main/java/cc/kune/core/server/content/CreationServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/CreationServiceDefault.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/core/server/content/CreationServiceDefault.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -44,7 +44,7 @@
public class CreationServiceDefault implements CreationService {
private final XMLKuneClientActions actions;
private final ContainerManager containerManager;
- private final ContentManager contentManager;
+ private final ContentManagerDefault contentManager;
private final Log LOG = LogFactory.getLog(CreationServiceDefault.class);
private final ServerToolRegistry tools;
@@ -53,7 +53,7 @@
final ContentManager contentManager, final ServerToolRegistry toolRegistry,
final XMLActionReader xmlActionReader) {
this.containerManager = containerManager;
- this.contentManager = contentManager;
+ this.contentManager = (ContentManagerDefault) contentManager;
this.tools = toolRegistry;
this.actions = xmlActionReader.getActions();
}
@@ -104,6 +104,13 @@
}
@Override
+ public Container createRootFolder(final Group group, final String name, final String rootName,
+ final String typeRoot) {
+ // FIXME Check that does not exist yet
+ return containerManager.createRootFolder(group, name, rootName, typeRoot);
+ }
+
+ @Override
public Content saveContent(final User editor, final Content content, final String body) {
return contentManager.save(editor, content, body);
}
Modified: trunk/src/main/java/cc/kune/core/server/manager/file/FileUploadManager.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/file/FileUploadManager.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/core/server/manager/file/FileUploadManager.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -30,8 +30,8 @@
import cc.kune.core.server.auth.ActionLevel;
import cc.kune.core.server.auth.Authenticated;
import cc.kune.core.server.auth.Authorizated;
-import cc.kune.core.server.content.ContentManager;
import cc.kune.core.server.content.ContentUtils;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.FileManager;
import cc.kune.core.server.properties.KuneProperties;
import cc.kune.core.server.utils.StringW;
@@ -54,7 +54,7 @@
@Inject
AccessService accessService;
@Inject
- ContentManager contentManager;
+ CreationService creationService;
@Inject
FileManager fileManager;
@Inject
@@ -133,7 +133,7 @@
final User user = userSession.getUser();
final Container container = accessService.accessToContainer(
ContentUtils.parseId(stateToken.getFolder()), user, AccessRol.Editor);
- final Content content = contentManager.createContent(
+ final Content content = creationService.createContent(
FileUtils.getFileNameWithoutExtension(file.getName(), extension), preview, user, container,
typeId);
content.setMimeType(basicMimeType);
Modified: trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/docs/server/DocumentServerTool.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -31,6 +31,7 @@
import cc.kune.core.server.AbstractServerTool;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.ToolConfigurationManager;
import cc.kune.core.server.tool.ServerToolTarget;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -47,10 +48,11 @@
@Inject
public DocumentServerTool(final ContentManager contentManager,
final ContainerManager containerManager, final ToolConfigurationManager configurationManager,
- final I18nTranslationService i18n) {
+ final I18nTranslationService i18n, final CreationService creationService) {
super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_DOCUMENT, TYPE_UPLOADEDFILE), Arrays.asList(
TYPE_ROOT, TYPE_FOLDER), Arrays.asList(TYPE_FOLDER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER),
- contentManager, containerManager, configurationManager, i18n, ServerToolTarget.forBoth);
+ contentManager, containerManager, creationService, configurationManager, i18n,
+ ServerToolTarget.forBoth);
}
@Override
Modified: trunk/src/main/java/cc/kune/events/server/EventsServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/events/server/EventsServerTool.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/events/server/EventsServerTool.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -32,6 +32,7 @@
import cc.kune.core.server.AbstractServerTool;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.ToolConfigurationManager;
import cc.kune.core.server.tool.ServerToolTarget;
import cc.kune.core.server.tool.ServerWaveTool;
@@ -54,10 +55,11 @@
@Inject
public EventsServerTool(final ContentManager contentManager, final ContainerManager containerManager,
- final ToolConfigurationManager configurationManager, final I18nTranslationService i18n) {
+ final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
+ final CreationService creationService) {
super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_MEETING), Arrays.asList(TYPE_ROOT),
Collections.<String> emptyList(), Arrays.asList(TYPE_ROOT), contentManager, containerManager,
- configurationManager, i18n, ServerToolTarget.forGroups);
+ creationService, configurationManager, i18n, ServerToolTarget.forGroups);
gadgetUrl = UrlUtils.of(MEETING_GADGET);
}
@@ -70,11 +72,11 @@
public Group initGroup(final User user, final Group group, final Object... otherVars) {
final Container rootFolder = createRoot(group);
- final Content content = createInitialContent(user, group, rootFolder, i18n.t("Meeting sample"),
+ createInitialContent(user, group, rootFolder, i18n.t("Meeting sample"),
i18n.t("This is only a meet sample. You can invite other participants to this meeting, "
+ "but also publish to the general public allowing you to to help in the organization, "
- + "call and speed-up of events."), TYPE_MEETING, gadgetUrl);
- contentManager.save(content);
+ + "call and speed-up of events."), TYPE_MEETING);
+
return group;
}
@@ -96,6 +98,6 @@
meetsAcl.getAdmins().add(container.getOwner());
meetsAcl.getEditors().setMode(GroupListMode.NORMAL);
meetsAcl.getViewers().setMode(GroupListMode.EVERYONE);
- containerManager.setAccessList(container, meetsAcl);
+ setAccessList(container, meetsAcl);
}
}
Modified: trunk/src/main/java/cc/kune/gallery/server/GalleryServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/gallery/server/GalleryServerTool.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/gallery/server/GalleryServerTool.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -30,6 +30,7 @@
import cc.kune.core.server.AbstractServerTool;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.ToolConfigurationManager;
import cc.kune.core.server.tool.ServerToolTarget;
import cc.kune.core.shared.i18n.I18nTranslationService;
@@ -43,17 +44,18 @@
@Inject
public GalleryServerTool(final ContentManager contentManager, final ContainerManager containerManager,
- final ToolConfigurationManager configurationManager, final I18nTranslationService i18n) {
+ final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
+ final CreationService creationService) {
super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_UPLOADEDFILE), Arrays.asList(TYPE_ROOT,
TYPE_ALBUM), Arrays.asList(TYPE_ALBUM), Arrays.asList(TYPE_ROOT, TYPE_ALBUM), contentManager,
- containerManager, configurationManager, i18n, ServerToolTarget.forBoth);
+ containerManager, creationService, configurationManager, i18n, ServerToolTarget.forBoth);
}
@Override
public Group initGroup(final User user, final Group group, final Object... otherVars) {
final Container rootFolder = createRoot(group);
- containerManager.createFolder(group, rootFolder, i18n.t("Album sample"), user.getLanguage(),
+ creationService.createFolder(group, rootFolder.getId(), i18n.t("Album sample"), user.getLanguage(),
TYPE_ALBUM);
return group;
}
Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -24,6 +24,7 @@
import cc.kune.common.client.actions.BeforeActionListener;
import cc.kune.common.client.actions.ui.descrip.GuiActionDescCollection;
import cc.kune.common.client.errors.UIException;
+import cc.kune.common.client.log.Log;
import cc.kune.common.client.ui.EditEvent;
import cc.kune.common.client.ui.EditEvent.EditHandler;
import cc.kune.common.client.ui.HasEditHandler;
@@ -171,6 +172,7 @@
getView().clear();
final StateContentDTO stateContent = (StateContentDTO) state;
final AccessRights rights = stateContent.getContentRights();
+ Log.info("Content rights: " + rights);
if (session.isLogged() && rights.isEditable()) {
if (stateContent.isParticipant()) {
// is already participant, show wave editor
Modified: trunk/src/main/java/cc/kune/lists/server/ListsServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/lists/server/ListsServerTool.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/lists/server/ListsServerTool.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -35,6 +35,7 @@
import cc.kune.core.server.UserSessionManager;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.ToolConfigurationManager;
import cc.kune.core.server.tool.ServerToolTarget;
import cc.kune.core.shared.domain.ContentStatus;
@@ -56,10 +57,11 @@
@Inject
public ListsServerTool(final ContentManager contentManager, final ContainerManager containerManager,
final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
- final UserSessionManager userSessionManager, final KuneWaveService waveManager) {
+ final UserSessionManager userSessionManager, final KuneWaveService waveManager,
+ final CreationService creationService) {
super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_POST), Arrays.asList(TYPE_LIST),
Arrays.asList(TYPE_LIST), Arrays.asList(TYPE_ROOT), contentManager, containerManager,
- configurationManager, i18n, ServerToolTarget.forGroups);
+ creationService, configurationManager, i18n, ServerToolTarget.forGroups);
this.userSessionManager = userSessionManager;
this.waveManager = waveManager;
}
Modified: trunk/src/main/java/cc/kune/tasks/server/TaskServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/tasks/server/TaskServerTool.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/tasks/server/TaskServerTool.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -31,6 +31,7 @@
import cc.kune.core.server.AbstractServerTool;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.ToolConfigurationManager;
import cc.kune.core.server.tool.ServerToolTarget;
import cc.kune.core.shared.domain.ContentStatus;
@@ -47,24 +48,24 @@
@Inject
public TaskServerTool(final ContentManager contentManager, final ContainerManager containerManager,
- final ToolConfigurationManager configurationManager, final I18nTranslationService i18n) {
+ final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
+ final CreationService creationService) {
super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_TASK), Arrays.asList(TYPE_FOLDER, TYPE_ROOT),
Arrays.asList(TYPE_FOLDER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER), contentManager,
- containerManager, configurationManager, i18n, ServerToolTarget.forBoth);
+ containerManager, creationService, configurationManager, i18n, ServerToolTarget.forBoth);
}
private Container createFolder(final Group group, final Container rootFolder,
final I18nLanguage language, final String title) {
- final Container shortTerm = containerManager.createFolder(group, rootFolder, i18n.t(title),
+ final Container shortTerm = creationService.createFolder(group, rootFolder.getId(), i18n.t(title),
language, TYPE_FOLDER);
return shortTerm;
}
private void createTask(final User user, final Group group, final Container shortTerm,
final String text) {
- final Content content = createInitialContent(user, group, shortTerm, i18n.t(text),
+ createInitialContent(user, group, shortTerm, i18n.t(text),
i18n.t("This is only a task sample. You can edit it, rename it"), TYPE_TASK);
- contentManager.save(content);
}
@Override
Modified: trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/main/java/cc/kune/wiki/server/WikiServerTool.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -32,6 +32,7 @@
import cc.kune.core.server.AbstractServerTool;
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.ToolConfigurationManager;
import cc.kune.core.server.tool.ServerToolTarget;
import cc.kune.core.shared.domain.ContentStatus;
@@ -49,18 +50,21 @@
@Inject
public WikiServerTool(final ContentManager contentManager, final ContainerManager containerManager,
- final ToolConfigurationManager configurationManager, final I18nTranslationService i18n) {
+ final ToolConfigurationManager configurationManager, final I18nTranslationService i18n,
+ final CreationService creationService) {
super(NAME, ROOT_NAME, TYPE_ROOT, Arrays.asList(TYPE_WIKIPAGE, TYPE_UPLOADEDFILE), Arrays.asList(
TYPE_ROOT, TYPE_FOLDER), Arrays.asList(TYPE_FOLDER), Arrays.asList(TYPE_ROOT, TYPE_FOLDER),
- contentManager, containerManager, configurationManager, i18n, ServerToolTarget.forBoth);
+ contentManager, containerManager, creationService, configurationManager, i18n,
+ ServerToolTarget.forBoth);
}
@Override
public Group initGroup(final User user, final Group group, final Object... otherVars) {
final Container rootFolder = createRoot(group);
- final Content content = super.createInitialContent(user, group, rootFolder, i18n.t("Wiki page sample"), i18n.t("This is only a wiki page sample. You can edit or rename it, but also any other user."), TYPE_WIKIPAGE);
- contentManager.save(content);
+ super.createInitialContent(user, group, rootFolder, i18n.t("Wiki page sample"),
+ i18n.t("This is only a wiki page sample. You can edit or rename it, but also any other user."),
+ TYPE_WIKIPAGE);
return group;
}
@@ -82,6 +86,6 @@
wikiAcl.getAdmins().add(container.getOwner());
wikiAcl.getEditors().setMode(GroupListMode.EVERYONE);
wikiAcl.getViewers().setMode(GroupListMode.EVERYONE);
- containerManager.setAccessList(container, wikiAcl);
+ setAccessList(container, wikiAcl);
}
}
Modified: trunk/src/test/java/cc/kune/blogs/server/BlogServerToolTest.java
===================================================================
--- trunk/src/test/java/cc/kune/blogs/server/BlogServerToolTest.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/test/java/cc/kune/blogs/server/BlogServerToolTest.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -36,7 +36,7 @@
@Before
public void before() {
- serverTool = new BlogServerTool(null, null, null, null);
+ serverTool = new BlogServerTool(null, null, null, null, null);
}
@Test
Modified: trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/test/java/cc/kune/core/server/PersistencePreLoadedDataTest.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -29,6 +29,7 @@
import cc.kune.core.server.content.ContainerManager;
import cc.kune.core.server.content.ContentManager;
+import cc.kune.core.server.content.CreationService;
import cc.kune.core.server.manager.GroupManager;
import cc.kune.core.server.manager.I18nCountryManager;
import cc.kune.core.server.manager.I18nLanguageManager;
@@ -60,6 +61,8 @@
protected ContentManager contentManager;
@Inject
protected I18nCountryManager countryManager;
+ @Inject
+ protected CreationService creationService;
protected License defLicense;
protected I18nLanguage english;
protected I18nCountry gb;
Modified: trunk/src/test/java/cc/kune/core/server/manager/ContentManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/manager/ContentManagerDefaultTest.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/test/java/cc/kune/core/server/manager/ContentManagerDefaultTest.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -42,14 +42,14 @@
private Content createContent() {
assertNotNull(container);
- final Content cnt = contentManager.createContent(TITLE, BODY, user, container, TYPE_UPLOADEDFILE);
+ final Content cnt = creationService.createContent(TITLE, BODY, user, container, TYPE_UPLOADEDFILE);
persist(cnt);
containerManager.persist(container);
return cnt;
}
private void createContentWithMimeAndCheck(final String mimetype) {
- final Content cnt = contentManager.createContent(TITLE, BODY, user, container, TYPE_UPLOADEDFILE);
+ final Content cnt = creationService.createContent(TITLE, BODY, user, container, TYPE_UPLOADEDFILE);
cnt.setMimeType(new BasicMimeType(mimetype));
persist(cnt);
final Content newCnt = contentManager.find(cnt.getId());
@@ -96,7 +96,7 @@
@Test(expected = NameInUseException.class)
public void testBasicMoveWithExistingNameShouldFail() {
final Content content = createContent();
- final Content sameNameCnt = contentManager.createContent(TITLE, BODY, user, otherContainer,
+ final Content sameNameCnt = creationService.createContent(TITLE, BODY, user, otherContainer,
TYPE_UPLOADEDFILE);
persist(sameNameCnt);
contentManager.moveContent(content, otherContainer);
@@ -140,7 +140,7 @@
*/
@Test
public void testUTF8Persist() {
- final Content cnt = contentManager.createContent("汉语/漢語", "汉语/漢語", user, container, TYPE_DOCUMENT);
+ final Content cnt = creationService.createContent("汉语/漢語", "汉语/漢語", user, container, TYPE_DOCUMENT);
final Content newCnt = contentManager.find(cnt.getId());
assertEquals("汉语/漢語", newCnt.getTitle());
}
Modified: trunk/src/test/java/cc/kune/docs/server/DocumentServerToolTest.java
===================================================================
--- trunk/src/test/java/cc/kune/docs/server/DocumentServerToolTest.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/test/java/cc/kune/docs/server/DocumentServerToolTest.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -33,7 +33,7 @@
@Before
public void before() {
- serverTool = new DocumentServerTool(null, null, null, null);
+ serverTool = new DocumentServerTool(null, null, null, null, null);
}
@Test
Modified: trunk/src/test/java/cc/kune/lists/server/ListsServerToolTest.java
===================================================================
--- trunk/src/test/java/cc/kune/lists/server/ListsServerToolTest.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/test/java/cc/kune/lists/server/ListsServerToolTest.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -35,7 +35,7 @@
@Before
public void before() {
- serverTool = new ListsServerTool(null, null, null, null, null, null);
+ serverTool = new ListsServerTool(null, null, null, null, null, null, null);
}
@Test
Modified: trunk/src/test/java/cc/kune/wiki/server/WikiServerToolTest.java
===================================================================
--- trunk/src/test/java/cc/kune/wiki/server/WikiServerToolTest.java 2011-11-05 19:34:12 UTC (rev 1585)
+++ trunk/src/test/java/cc/kune/wiki/server/WikiServerToolTest.java 2011-11-05 22:01:51 UTC (rev 1586)
@@ -33,7 +33,7 @@
@Before
public void before() {
- serverTool = new WikiServerTool(null, null, null, null);
+ serverTool = new WikiServerTool(null, null, null, null, null);
}
@Test
1
0
r1585 - in trunk: . src/main/java/cc/kune/core/client/sn src/main/java/cc/kune/core/client/state src/main/java/cc/kune/core/public
by Vicente J. Ruiz Jurado 05 Nov '11
by Vicente J. Ruiz Jurado 05 Nov '11
05 Nov '11
Author: vjrj_
Date: 2011-11-05 20:34:12 +0100 (Sat, 05 Nov 2011)
New Revision: 1585
Modified:
trunk/CREDITS
trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java
trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java
trunk/src/main/java/cc/kune/core/client/state/ContentCache.java
trunk/src/main/java/cc/kune/core/client/state/ContentCacheDefault.java
trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
trunk/src/main/java/cc/kune/core/public/about.html
Log:
Minor fixes
Modified: trunk/CREDITS
===================================================================
--- trunk/CREDITS 2011-11-05 16:04:02 UTC (rev 1584)
+++ trunk/CREDITS 2011-11-05 19:34:12 UTC (rev 1585)
@@ -19,7 +19,7 @@
* Javier Picado Ladrón de Guevara and the <URL:http://iepala.es> staff for their
support and infrastructure
* Javier de la Cueva and Leovigildo García-Bobadilla for the legal support
-* Jonathan Araña Cruz, Roxu and all the <URL:http://xsto.info> staff for their
+* Jonathan Araña Cruz, Roxu and all the <URL:http://xsto.info> staff for their help with the infrastructure
* Juan Pablo Zafra Delgado for his research and support for the integration of additional modules
* Daniel Jiménez for the initial help and coordination
* Johnattan Rupire, William Austen Bradbury and Rana Hassan for their web contributions and
Modified: trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2011-11-05 16:04:02 UTC (rev 1584)
+++ trunk/src/main/java/cc/kune/core/client/sn/UserSNPanel.java 2011-11-05 19:34:12 UTC (rev 1585)
@@ -41,6 +41,8 @@
public class UserSNPanel extends AbstractSNPanel implements UserSNView {
private final I18nTranslationService i18n;
+ private final Label noBuddies;
+ private final Label noPublic;
@Inject
public UserSNPanel(final I18nTranslationService i18n, final GuiProvider guiProvider,
@@ -65,6 +67,10 @@
bottomActionsToolbar.setStyleName("k-sn-bottomPanel-actions");
armor.getEntityToolsNorth().add(widget);
deck.showWidget(2);
+ noBuddies = new Label("This user has no buddies yet");
+ noBuddies.addStyleName("kune-Margin-Medium-l");
+ noPublic = new Label(CoreMessages.BUDDIES_NOT_PUBLIC);
+ noPublic.addStyleName("kune-Margin-Medium-l");
}
@Override
@@ -100,7 +106,9 @@
@Override
public void setNoBuddies() {
- firstCategoryLabel.setText(i18n.t("This user has no buddies yet"));
+ firstCategoryFlow.add(noBuddies);
+ firstCategoryLabel.setText(i18n.t("Buddies"));
+ super.setFirstCategoryVisible(true, true);
}
@Override
@@ -129,8 +137,9 @@
@Override
public void showBuddiesNotPublic() {
- firstDeckLabel.setText(i18n.t(CoreMessages.BUDDIES_NOT_PUBLIC));
- deck.showWidget(0);
+ firstCategoryFlow.add(noPublic);
+ firstCategoryLabel.setText(i18n.t("Buddies"));
+ super.setFirstCategoryVisible(true, true);
}
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java 2011-11-05 16:04:02 UTC (rev 1584)
+++ trunk/src/main/java/cc/kune/core/client/sn/UserSNPresenter.java 2011-11-05 19:34:12 UTC (rev 1585)
@@ -142,9 +142,9 @@
setParticipationState(state);
if (state.getSocialNetworkData().isBuddiesVisible()) {
// In fact now we show the user network or not.
- setBuddiesState(state);
getView().setBuddiesVisible(true,
areMany(state.getSocialNetworkData().getUserBuddies().getBuddies().size()));
+ setBuddiesState(state);
// getView().setVisible(buddies + participeIn > 0);
} else {
getView().showBuddiesNotPublic();
Modified: trunk/src/main/java/cc/kune/core/client/state/ContentCache.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/ContentCache.java 2011-11-05 16:04:02 UTC (rev 1584)
+++ trunk/src/main/java/cc/kune/core/client/state/ContentCache.java 2011-11-05 19:34:12 UTC (rev 1585)
@@ -26,10 +26,12 @@
public interface ContentCache {
- void cache(StateToken token, StateAbstractDTO content);
+ void cache(StateToken token, StateAbstractDTO content);
- void getContent(String user, StateToken newState, AsyncCallback<StateAbstractDTO> callback);
+ void clearCacheOfGroup(String group);
- void removeContent(StateToken token);
+ void getContent(String user, StateToken newState, AsyncCallback<StateAbstractDTO> callback);
+ void removeContent(StateToken token);
+
}
Modified: trunk/src/main/java/cc/kune/core/client/state/ContentCacheDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/ContentCacheDefault.java 2011-11-05 16:04:02 UTC (rev 1584)
+++ trunk/src/main/java/cc/kune/core/client/state/ContentCacheDefault.java 2011-11-05 19:34:12 UTC (rev 1585)
@@ -24,6 +24,7 @@
import cc.kune.core.client.notify.spiner.ProgressShowEvent;
import cc.kune.core.client.rpcservices.ContentServiceAsync;
+import cc.kune.core.client.state.UserSignInOrSignOutEvent.UserSignInOrSignOutHandler;
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.StateAbstractDTO;
@@ -38,12 +39,19 @@
private final boolean useCache;
@Inject
- public ContentCacheDefault(final ContentServiceAsync server, final EventBus eventBus) {
+ public ContentCacheDefault(final ContentServiceAsync server, final EventBus eventBus,
+ final Session session) {
this.server = server;
this.eventBus = eventBus;
this.cacheMap = new HashMap<StateToken, StateAbstractDTO>();
// Don't use while we don't check changes in the server
useCache = true;
+ session.onUserSignInOrSignOut(false, new UserSignInOrSignOutHandler() {
+ @Override
+ public void onUserSignInOrSignOut(final UserSignInOrSignOutEvent event) {
+ cacheMap.clear();
+ }
+ });
}
@Override
@@ -54,6 +62,15 @@
}
}
+ @Override
+ public void clearCacheOfGroup(final String group) {
+ for (final StateToken entry : cacheMap.keySet()) {
+ if (entry.getGroup().equals(group)) {
+ cacheMap.remove(entry);
+ }
+ }
+ }
+
private StateAbstractDTO getCached(final StateToken newState) {
assert newState != null;
return useCache ? cacheMap.get(newState) : null;
Modified: trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2011-11-05 16:04:02 UTC (rev 1584)
+++ trunk/src/main/java/cc/kune/core/client/state/StateManagerDefault.java 2011-11-05 19:34:12 UTC (rev 1585)
@@ -98,6 +98,12 @@
processCurrentHistoryToken();
}
});
+ onSocialNetworkChanged(false, new SocialNetworkChangedHandler() {
+ @Override
+ public void onSocialNetworkChanged(final SocialNetworkChangedEvent event) {
+ contentCache.clearCacheOfGroup(event.getState().getStateToken().getGroup());
+ }
+ });
}
@Override
Modified: trunk/src/main/java/cc/kune/core/public/about.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/about.html 2011-11-05 16:04:02 UTC (rev 1584)
+++ trunk/src/main/java/cc/kune/core/public/about.html 2011-11-05 19:34:12 UTC (rev 1585)
@@ -24,7 +24,7 @@
</img>
</a>
</span>
-<p>Version 0.0.9 (r1446+c0)</p>
+<p>Version 0.1.0-SNAPSHOT (r1556+c1)</p>
<h1><a name="section_1">CREDITS</a></h1>
<h2><a name="section_1_1">Authors</a></h2>
@@ -44,7 +44,7 @@
</li><li>Javier Picado Ladrón de Guevara and the <a href="http://iepala.es">http://iepala.es</a> staff for their
support and infrastructure
</li><li>Javier de la Cueva and Leovigildo García-Bobadilla for the legal support
- </li><li>Jonathan Araña Cruz, Roxu and all the <a href="http://xsto.info">http://xsto.info</a> staff for their
+ </li><li>Jonathan Araña Cruz, Roxu and all the <a href="http://xsto.info">http://xsto.info</a> staff for their help with the infrastructure
</li><li>Juan Pablo Zafra Delgado for his research and support for the integration of additional modules
</li><li>Daniel Jiménez for the initial help and coordination
</li><li>Johnattan Rupire, William Austen Bradbury and Rana Hassan for their web contributions and
@@ -235,6 +235,11 @@
Creative Commons Attribution 3.0 Unported license
<a href="https://secure.wikimedia.org/wikipedia/commons/wiki/File:Acer_japonicum_Vit…">https://secure.wikimedia.org/wikipedia/commons/wiki/File:Acer_japonicum_Vit…</a>
</p>
+<p><strong>Cursor</strong><br/>
+<a href="https://secure.wikimedia.org/wikipedia/commons/wiki/File:Black_Cursor.svg">https://secure.wikimedia.org/wikipedia/commons/wiki/File:Black_Cursor.svg</a>
+Ort43v<br/>
+Creative Commons Attribution-Share Alike 3.0 Unported license
+<a href="http://creativecommons.org/licenses/by-sa/3.0/deed.en">http://creativecommons.org/licenses/by-sa/3.0/deed.en</a></p>
</body>
</html>
1
0
Author: vjrj_
Date: 2011-11-05 17:04:02 +0100 (Sat, 05 Nov 2011)
New Revision: 1584
Modified:
wp-theme/kune/style.css
Log:
Modified: wp-theme/kune/style.css
===================================================================
--- wp-theme/kune/style.css 2011-11-05 15:56:18 UTC (rev 1583)
+++ wp-theme/kune/style.css 2011-11-05 16:04:02 UTC (rev 1584)
@@ -91,8 +91,7 @@
*/
.one-column #content {
- margin: 0 auto;
- width: 640px;
+ margin: -16px 48px 0 28px;
}
/*
@@ -1484,4 +1483,4 @@
#kune-post-refs, #kune-post-refs a {
font-size: 11px;
-}
\ No newline at end of file
+}
1
0