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
July 2011
- 3 participants
- 42 discussions
r1457 - in trunk/src/main: java/cc/kune/core/server/manager/impl resources
by Vicente J. Ruiz Jurado 14 Jul '11
by Vicente J. Ruiz Jurado 14 Jul '11
14 Jul '11
Author: vjrj_
Date: 2011-07-14 11:57:36 +0200 (Thu, 14 Jul 2011)
New Revision: 1457
Modified:
trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java
trunk/src/main/resources/kune.properties
Log:
Minor welcome fix
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2011-07-14 08:58:16 UTC (rev 1456)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2011-07-14 09:57:36 UTC (rev 1457)
@@ -143,15 +143,10 @@
final String defWave = properties.getWelcomewave();
if (defWave != null) {
- kuneWaveManager.createWave(ContentConstants.WELCOME_WAVE_CONTENT_TITLE, "", defWave, null,
+ kuneWaveManager.createWave(
+ ContentConstants.WELCOME_WAVE_CONTENT_TITLE.replaceAll("\\[%s\\]",
+ properties.getDefaultSiteName()), "", defWave, null,
participantUtils.of(properties.getAdminShortName()), participantUtils.of(shortName));
- // kuneWaveManager.createWave(
- // ContentConstants.WELCOME_WAVE_CONTENT_TITLE.replaceAll("\\[%s\\]",
- // properties.getDefaultSiteName()),
- // ContentConstants.WELCOME_WAVE_CONTENT.replaceAll("\\[%s\\]",
- // properties.getDefaultSiteName()),
- // participantUtils.of(properties.getAdminShortName()),
- // participantUtils.of(shortName));
}
return user;
} catch (final RuntimeException e) {
Modified: trunk/src/main/resources/kune.properties
===================================================================
--- trunk/src/main/resources/kune.properties 2011-07-14 08:58:16 UTC (rev 1456)
+++ trunk/src/main/resources/kune.properties 2011-07-14 09:57:36 UTC (rev 1457)
@@ -35,7 +35,7 @@
### Other params
# If defined create a copy of this wave as welcome to new users
-kune.site.welcomewave = w+rtackLTkDCA
+kune.site.welcomewave =
### Workspace enabled themes
1
0
Author: vjrj_
Date: 2011-07-14 10:58:16 +0200 (Thu, 14 Jul 2011)
New Revision: 1456
Added:
trunk/src/main/java/cc/kune/core/client/events/NewUserRegisteredEvent.java
trunk/src/main/java/cc/kune/core/server/properties/KuneBasicProperties.java
Removed:
trunk/src/main/java/cc/kune/core/server/properties/DatabaseProperties.java
Modified:
trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java
trunk/src/main/java/cc/kune/core/public/ws.html
trunk/src/main/java/cc/kune/core/server/init/DatabaseInitializer.java
trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java
trunk/src/main/java/cc/kune/core/server/manager/impl/LicenseManagerDefault.java
trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java
trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java
trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
trunk/src/main/java/cc/kune/wave/server/KuneAgent.java
trunk/src/main/java/cc/kune/wave/server/KuneWaveManager.java
trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java
trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java
trunk/src/main/resources/kune.properties
trunk/src/main/webapp/others/splash/js/permalink_client.js
trunk/src/main/webapp/others/splash/js/rpc.js
trunk/src/test/java/cc/kune/core/server/finders/LicenseFinderTest.java
trunk/src/test/java/cc/kune/core/server/integration/IntegrationTest.java
trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java
trunk/src/test/java/cc/kune/wave/server/KuneAgentTest.java
trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java
trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java
Log:
Def wave in properties; some minor fixes
Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -40,6 +40,7 @@
import cc.kune.common.client.utils.TextUtils;
import cc.kune.common.client.utils.WindowUtils;
import cc.kune.core.client.events.AvatarChangedEvent;
+import cc.kune.core.client.events.NewUserRegisteredEvent;
import cc.kune.core.client.init.AppStartEvent;
import cc.kune.core.client.init.AppStopEvent;
import cc.kune.core.client.resources.CoreResources;
@@ -79,6 +80,7 @@
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.resources.client.ImageResource;
+import com.google.gwt.user.client.Timer;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
import com.google.gwt.user.client.ui.Widget;
import com.google.inject.Inject;
@@ -93,7 +95,20 @@
super();
this.res = res;
putValue(Action.SMALL_ICON, res.chat());
-
+ kuneEventBus.addHandler(NewUserRegisteredEvent.getType(),
+ new NewUserRegisteredEvent.NewUserRegisteredHandler() {
+ @Override
+ public void onNewUserRegistered(final NewUserRegisteredEvent event) {
+ // Blink the chat some seconds
+ setBlink(true);
+ new Timer() {
+ @Override
+ public void run() {
+ setBlink(false);
+ }
+ }.schedule(10000);
+ }
+ });
}
@Override
Modified: trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/core/client/auth/RegisterPresenter.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -27,6 +27,7 @@
import cc.kune.core.client.errors.EmailAddressInUseException;
import cc.kune.core.client.errors.GroupNameInUseException;
import cc.kune.core.client.errors.UserRegistrationException;
+import cc.kune.core.client.events.NewUserRegisteredEvent;
import cc.kune.core.client.i18n.I18nUITranslationService;
import cc.kune.core.client.notify.msgs.UserNotifyEvent;
import cc.kune.core.client.resources.CoreMessages;
@@ -39,6 +40,8 @@
import cc.kune.core.shared.dto.TimeZoneDTO;
import cc.kune.core.shared.dto.UserDTO;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.logical.shared.CloseEvent;
@@ -52,166 +55,173 @@
import com.gwtplatform.mvp.client.proxy.Proxy;
import com.gwtplatform.mvp.client.proxy.RevealRootContentEvent;
-public class RegisterPresenter extends SignInAbstractPresenter<RegisterView, RegisterPresenter.RegisterProxy> implements
- Register {
+public class RegisterPresenter extends
+ SignInAbstractPresenter<RegisterView, RegisterPresenter.RegisterProxy> implements Register {
- @ProxyCodeSplit
- public interface RegisterProxy extends Proxy<RegisterPresenter> {
- }
- private final Provider<SignIn> signInProvider;
+ @ProxyCodeSplit
+ public interface RegisterProxy extends Proxy<RegisterPresenter> {
+ }
+ private final Provider<SignIn> signInProvider;
- private final Provider<UserServiceAsync> userServiceProvider;
+ private final Provider<UserServiceAsync> userServiceProvider;
- @Inject
- public RegisterPresenter(final EventBus eventBus, final RegisterView view, final RegisterProxy proxy,
- final Session session, final StateManager stateManager, final I18nUITranslationService i18n,
- final Provider<UserServiceAsync> userServiceProvider, final Provider<SignIn> signInProvider,
- final CookiesManager cookiesManager, final UserPassAutocompleteManager autocomplete) {
- super(eventBus, view, proxy, session, stateManager, i18n, cookiesManager, autocomplete);
- this.userServiceProvider = userServiceProvider;
- this.signInProvider = signInProvider;
+ @Inject
+ public RegisterPresenter(final EventBus eventBus, final RegisterView view, final RegisterProxy proxy,
+ final Session session, final StateManager stateManager, final I18nUITranslationService i18n,
+ final Provider<UserServiceAsync> userServiceProvider, final Provider<SignIn> signInProvider,
+ final CookiesManager cookiesManager, final UserPassAutocompleteManager autocomplete) {
+ super(eventBus, view, proxy, session, stateManager, i18n, cookiesManager, autocomplete);
+ this.userServiceProvider = userServiceProvider;
+ this.signInProvider = signInProvider;
+ }
+
+ @Override
+ public void doRegister() {
+ signInProvider.get().hide();
+ if (!session.isLogged()) {
+ NotifyUser.showProgressProcessing();
+ getView().show();
+ // getView().center();
+ NotifyUser.hideProgress();
+ } else {
+ stateManager.restorePreviousToken();
}
+ }
- @Override
- public void doRegister() {
- signInProvider.get().hide();
- if (!session.isLogged()) {
- NotifyUser.showProgressProcessing();
- getView().show();
- // getView().center();
- NotifyUser.hideProgress();
- } else {
- stateManager.restorePreviousToken();
+ @Override
+ public RegisterView getView() {
+ return (RegisterView) super.getView();
+ }
+
+ @Override
+ protected void onBind() {
+ super.onBind();
+ getView().getFirstBtn().addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(final ClickEvent event) {
+ getView().validate();
+ if (getView().isValid()) {
+ onFormRegister();
}
- }
+ }
+ });
+ getView().getSecondBtn().addClickHandler(new ClickHandler() {
- @Override
- public RegisterView getView() {
- return (RegisterView) super.getView();
- }
+ @Override
+ public void onClick(final ClickEvent event) {
+ onCancel();
+ }
+ });
+ getView().getClose().addCloseHandler(new CloseHandler<PopupPanel>() {
- @Override
- protected void onBind() {
- super.onBind();
- getView().getFirstBtn().addClickHandler(new ClickHandler() {
- @Override
- public void onClick(final ClickEvent event) {
- getView().validate();
- if (getView().isValid()) {
- onFormRegister();
- }
- }
- });
- getView().getSecondBtn().addClickHandler(new ClickHandler() {
+ @Override
+ public void onClose(final CloseEvent<PopupPanel> event) {
+ Log.debug("Closing register presenter");
+ RegisterPresenter.this.onClose();
+ }
+ });
+ }
- @Override
- public void onClick(final ClickEvent event) {
- onCancel();
- }
- });
- getView().getClose().addCloseHandler(new CloseHandler<PopupPanel>() {
+ public void onFormRegister() {
+ if (getView().isRegisterFormValid()) {
+ getView().maskProcessing();
- @Override
- public void onClose(final CloseEvent<PopupPanel> event) {
- Log.debug("Closing register presenter");
- RegisterPresenter.this.onClose();
- }
- });
- }
+ final I18nLanguageDTO language = new I18nLanguageDTO();
+ language.setCode(i18n.getCurrentLanguage());
- public void onFormRegister() {
- if (getView().isRegisterFormValid()) {
- getView().maskProcessing();
+ final I18nCountryDTO country = new I18nCountryDTO();
+ country.setCode("GB");
- final I18nLanguageDTO language = new I18nLanguageDTO();
- language.setCode(i18n.getCurrentLanguage());
+ final TimeZoneDTO timezone = new TimeZoneDTO();
+ timezone.setId("GMT");
- final I18nCountryDTO country = new I18nCountryDTO();
- country.setCode("GB");
+ final boolean wantHomepage = true;
- final TimeZoneDTO timezone = new TimeZoneDTO();
- timezone.setId("GMT");
+ final UserDTO user = new UserDTO(getView().getLongName(), getView().getShortName(),
+ getView().getRegisterPassword(), getView().getEmail(), language, country, timezone, null,
+ true, SubscriptionMode.manual, "blue");
+ super.saveAutocompleteLoginData(getView().getShortName(), getView().getRegisterPassword());
+ final AsyncCallback<Void> callback = new AsyncCallback<Void>() {
+ @Override
+ public void onFailure(final Throwable caught) {
+ onRegistrationFailure(caught);
+ }
- final boolean wantHomepage = true;
+ @Override
+ public void onSuccess(final Void arg0) {
+ signInProvider.get().doSignIn(getView().getShortName(), getView().getRegisterPassword(),
+ new AsyncCallback<Void>() {
- final UserDTO user = new UserDTO(getView().getLongName(), getView().getShortName(),
- getView().getRegisterPassword(), getView().getEmail(), language, country, timezone, null, true,
- SubscriptionMode.manual, "blue");
- super.saveAutocompleteLoginData(getView().getShortName(), getView().getRegisterPassword());
- final AsyncCallback<Void> callback = new AsyncCallback<Void>() {
@Override
public void onFailure(final Throwable caught) {
- onRegistrationFailure(caught);
+ onRegistrationFailure(caught);
}
@Override
- public void onSuccess(final Void arg0) {
- signInProvider.get().doSignIn(getView().getShortName(), getView().getRegisterPassword(),
- new AsyncCallback<Void>() {
-
- @Override
- public void onFailure(final Throwable caught) {
- onRegistrationFailure(caught);
- }
-
- @Override
- public void onSuccess(final Void result) {
- // onSignIn(userInfoDTO);
- stateManager.gotoHistoryToken(session.getCurrentUserInfo().getHomePage());
- getView().hide();
- getView().unMask();
- if (wantHomepage) {
- showWelcolmeDialog();
- } else {
- showWelcolmeDialogNoHomepage();
- }
- }
- });
+ public void onSuccess(final Void result) {
+ // onSignIn(userInfoDTO);
+ NewUserRegisteredEvent.fire(getEventBus());
+ Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ stateManager.gotoHistoryToken(session.getCurrentUserInfo().getHomePage());
+ }
+ });
+ getView().hide();
+ getView().unMask();
+ if (wantHomepage) {
+ showWelcolmeDialog();
+ } else {
+ showWelcolmeDialogNoHomepage();
+ }
}
+ });
+ }
- private void showWelcolmeDialog() {
- getEventBus().fireEvent(
- new UserNotifyEvent(
- NotifyLevel.info,
- i18n.t("Welcome"),
- i18n.t("Thanks for joining this site. "
- + "Now you can actively participate in this site. "
- + "You can also use your personal space to publish contents. "
- + "Note: your email is not verified, please follow the instructions you will receive by email."),
- true));
- }
+ private void showWelcolmeDialog() {
+ getEventBus().fireEvent(
+ new UserNotifyEvent(
+ NotifyLevel.info,
+ i18n.t("Welcome"),
+ i18n.t("Thanks for joining this site. "
+ + "Now you can actively participate in this site. "
+ + "You can also use your personal space to publish contents. "
+ + "Note: your email is not verified, please follow the instructions you will receive by email."),
+ true));
+ }
- private void showWelcolmeDialogNoHomepage() {
- getEventBus().fireEvent(
- new UserNotifyEvent(
- NotifyLevel.info,
- i18n.t("Welcome"),
- i18n.t("Thanks for joining this site"
- + "Now you can actively participate in this site. "
- + "Note: your email is not verified, please follow the instructions you will receive by email."),
- true));
- }
- };
- userServiceProvider.get().createUser(user, wantHomepage, callback);
+ private void showWelcolmeDialogNoHomepage() {
+ getEventBus().fireEvent(
+ new UserNotifyEvent(
+ NotifyLevel.info,
+ i18n.t("Welcome"),
+ i18n.t("Thanks for joining this site"
+ + "Now you can actively participate in this site. "
+ + "Note: your email is not verified, please follow the instructions you will receive by email."),
+ true));
}
+ };
+ userServiceProvider.get().createUser(user, wantHomepage, callback);
}
+ }
- private void onRegistrationFailure(final Throwable caught) {
- getView().unMask();
- if (caught instanceof EmailAddressInUseException) {
- getView().setErrorMessage(i18n.t(CoreMessages.EMAIL_IN_USE), NotifyLevel.error);
- } else if (caught instanceof GroupNameInUseException) {
- getView().setErrorMessage(i18n.t(CoreMessages.NAME_IN_USE), NotifyLevel.error);
- } else if (caught instanceof UserRegistrationException) {
- getView().setErrorMessage(i18n.t("Error during registration. " + caught.getMessage()), NotifyLevel.error);
- } else {
- getView().setErrorMessage(i18n.t("Error during registration."), NotifyLevel.error);
- throw new UIException("Other kind of exception in user registration", caught);
- }
+ private void onRegistrationFailure(final Throwable caught) {
+ getView().unMask();
+ if (caught instanceof EmailAddressInUseException) {
+ getView().setErrorMessage(i18n.t(CoreMessages.EMAIL_IN_USE), NotifyLevel.error);
+ } else if (caught instanceof GroupNameInUseException) {
+ getView().setErrorMessage(i18n.t(CoreMessages.NAME_IN_USE), NotifyLevel.error);
+ } else if (caught instanceof UserRegistrationException) {
+ getView().setErrorMessage(i18n.t("Error during registration. " + caught.getMessage()),
+ NotifyLevel.error);
+ } else {
+ getView().setErrorMessage(i18n.t("Error during registration."), NotifyLevel.error);
+ throw new UIException("Other kind of exception in user registration", caught);
}
+ }
- @Override
- protected void revealInParent() {
- RevealRootContentEvent.fire(this, this);
- }
+ @Override
+ protected void revealInParent() {
+ RevealRootContentEvent.fire(this, this);
+ }
}
Added: trunk/src/main/java/cc/kune/core/client/events/NewUserRegisteredEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/events/NewUserRegisteredEvent.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/events/NewUserRegisteredEvent.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -0,0 +1,55 @@
+package cc.kune.core.client.events;
+
+import com.google.gwt.event.shared.EventHandler;
+import com.google.gwt.event.shared.GwtEvent;
+import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.gwt.event.shared.HasHandlers;
+
+public class NewUserRegisteredEvent extends GwtEvent<NewUserRegisteredEvent.NewUserRegisteredHandler> {
+
+ public interface HasNewUserRegisteredHandlers extends HasHandlers {
+ HandlerRegistration addNewUserRegisteredHandler(NewUserRegisteredHandler handler);
+ }
+
+ public interface NewUserRegisteredHandler extends EventHandler {
+ public void onNewUserRegistered(NewUserRegisteredEvent event);
+ }
+
+ private static final Type<NewUserRegisteredHandler> TYPE = new Type<NewUserRegisteredHandler>();
+
+ public static void fire(final HasHandlers source) {
+ source.fireEvent(new NewUserRegisteredEvent());
+ }
+
+ public static Type<NewUserRegisteredHandler> getType() {
+ return TYPE;
+ }
+
+ public NewUserRegisteredEvent() {
+ }
+
+ @Override
+ protected void dispatch(final NewUserRegisteredHandler handler) {
+ handler.onNewUserRegistered(this);
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ return super.equals(obj);
+ }
+
+ @Override
+ public Type<NewUserRegisteredHandler> getAssociatedType() {
+ return TYPE;
+ }
+
+ @Override
+ public int hashCode() {
+ return super.hashCode();
+ }
+
+ @Override
+ public String toString() {
+ return "NewUserRegisteredEvent[" + "]";
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/public/ws.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.html 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/core/public/ws.html 2011-07-14 08:58:16 UTC (rev 1456)
@@ -58,7 +58,7 @@
<script type="text/javascript" src="/others/splash/js/gadget.js"></script>
<script type="text/javascript" src="/others/splash/js/rpc.js"></script>
<script type="text/javascript" src="/others/splash/js/common_client.js"></script>
-<!-- <script type="text/javascript" src="/others/splash/js/permalink_client.js"></script> -->
+<script type="text/javascript" src="/others/splash/js/permalink_client.js"></script>
<script type="text/javascript" src="http://wave.google.com/gadgets/js/core:rpc.js?c=1"></script>
<style type="text/css">
Modified: trunk/src/main/java/cc/kune/core/server/init/DatabaseInitializer.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/init/DatabaseInitializer.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/core/server/init/DatabaseInitializer.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -34,7 +34,7 @@
import cc.kune.core.server.manager.LicenseManager;
import cc.kune.core.server.manager.UserManager;
import cc.kune.core.server.manager.impl.ContentConstants;
-import cc.kune.core.server.properties.DatabaseProperties;
+import cc.kune.core.server.properties.KuneBasicProperties;
import cc.kune.core.shared.domain.ContentStatus;
import cc.kune.core.shared.dto.GroupType;
import cc.kune.domain.Content;
@@ -56,12 +56,12 @@
private final KuneWaveManager kuneWaveManager;
private final I18nLanguageManager languageManager;
private final LicenseManager licenseManager;
- private final DatabaseProperties properties;
+ private final KuneBasicProperties properties;
private final I18nTranslationManager translationManager;
private final UserManager userManager;
@Inject
- public DatabaseInitializer(final DatabaseProperties properties, final UserManager userManager,
+ public DatabaseInitializer(final KuneBasicProperties properties, final UserManager userManager,
final GroupManager groupManager, final LicenseManager licenseManager,
final I18nLanguageManager languageManager, final I18nCountryManager countryManager,
final I18nTranslationManager translationManager, final ContentManager contentManager,
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/GroupManagerDefault.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -40,7 +40,7 @@
import cc.kune.core.server.manager.GroupManager;
import cc.kune.core.server.manager.LicenseManager;
import cc.kune.core.server.manager.file.FileUtils;
-import cc.kune.core.server.properties.DatabaseProperties;
+import cc.kune.core.server.properties.KuneBasicProperties;
import cc.kune.core.server.properties.KuneProperties;
import cc.kune.core.server.tool.ServerTool;
import cc.kune.core.server.tool.ServerToolRegistry;
@@ -74,7 +74,7 @@
private final KuneProperties kuneProperties;
private final LicenseFinder licenseFinder;
private final LicenseManager licenseManager;
- private final DatabaseProperties properties;
+ private final KuneBasicProperties properties;
private final ServerToolRegistry registry;
private final ServerToolRegistry serverToolRegistry;
private final UserFinder userFinder;
@@ -82,7 +82,7 @@
@Inject
public GroupManagerDefault(final Provider<EntityManager> provider, final GroupFinder finder,
final UserFinder userFinder, final KuneProperties kuneProperties,
- final DatabaseProperties properties, final ServerToolRegistry registry,
+ final KuneBasicProperties properties, final ServerToolRegistry registry,
final LicenseManager licenseManager, final LicenseFinder licenseFinder,
final FileManager fileManager, final ServerToolRegistry serverToolRegistry,
final I18nTranslationService i18n) {
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/LicenseManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/LicenseManagerDefault.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/LicenseManagerDefault.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -25,7 +25,7 @@
import cc.kune.core.server.manager.LicenseManager;
-import cc.kune.core.server.properties.DatabaseProperties;
+import cc.kune.core.server.properties.KuneBasicProperties;
import cc.kune.domain.License;
import cc.kune.domain.finders.LicenseFinder;
@@ -36,10 +36,10 @@
@Singleton
public class LicenseManagerDefault extends DefaultManager<License, Long> implements LicenseManager {
private LicenseFinder licenseFinder;
- private final DatabaseProperties properties;
+ private final KuneBasicProperties properties;
@Inject
- public LicenseManagerDefault(final Provider<EntityManager> provider, final DatabaseProperties properties,
+ public LicenseManagerDefault(final Provider<EntityManager> provider, final KuneBasicProperties properties,
final LicenseFinder licenseFinder) {
super(provider, License.class);
this.properties = properties;
Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/core/server/manager/impl/UserManagerDefault.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -45,7 +45,7 @@
import cc.kune.core.server.manager.I18nLanguageManager;
import cc.kune.core.server.manager.UserManager;
import cc.kune.core.server.properties.ChatProperties;
-import cc.kune.core.server.properties.DatabaseProperties;
+import cc.kune.core.server.properties.KuneBasicProperties;
import cc.kune.core.server.xmpp.ChatConnection;
import cc.kune.core.server.xmpp.ChatException;
import cc.kune.core.server.xmpp.XmppManager;
@@ -69,12 +69,12 @@
private final ChatProperties chatProperties;
private final I18nCountryManager countryManager;
- private final DatabaseProperties databaseProperties;
private final UserFinder finder;
private final I18nTranslationService i18n;
private final KuneWaveManager kuneWaveManager;
private final I18nLanguageManager languageManager;
private final ParticipantUtils participantUtils;
+ private final KuneBasicProperties properties;
private final AccountStore waveAccountStore;
// private final PropertiesManager propManager;
private final CustomUserRegistrationServlet waveUserRegister;
@@ -86,7 +86,7 @@
final XmppManager xmppManager, final ChatProperties chatProperties,
final I18nTranslationService i18n, final CustomUserRegistrationServlet waveUserRegister,
final AccountStore waveAccountStore, final KuneWaveManager kuneWaveManager,
- final ParticipantUtils participantUtils, final DatabaseProperties databaseProperties) {
+ final ParticipantUtils participantUtils, final KuneBasicProperties properties) {
super(provider, User.class);
this.finder = finder;
this.languageManager = languageManager;
@@ -98,7 +98,7 @@
this.waveAccountStore = waveAccountStore;
this.kuneWaveManager = kuneWaveManager;
this.participantUtils = participantUtils;
- this.databaseProperties = databaseProperties;
+ this.properties = properties;
}
@Override
@@ -140,12 +140,19 @@
try {
final User user = new User(shortName, longName, email, passwd, passwdDigest.getDigest(),
passwdDigest.getSalt(), language, country, tz);
- kuneWaveManager.createWave(
- ContentConstants.WELCOME_WAVE_CONTENT_TITLE.replaceAll("\\[%s\\]",
- databaseProperties.getDefaultSiteName()),
- ContentConstants.WELCOME_WAVE_CONTENT.replaceAll("\\[%s\\]",
- databaseProperties.getDefaultSiteName()),
- participantUtils.of(databaseProperties.getAdminShortName()), participantUtils.of(shortName));
+
+ final String defWave = properties.getWelcomewave();
+ if (defWave != null) {
+ kuneWaveManager.createWave(ContentConstants.WELCOME_WAVE_CONTENT_TITLE, "", defWave, null,
+ participantUtils.of(properties.getAdminShortName()), participantUtils.of(shortName));
+ // kuneWaveManager.createWave(
+ // ContentConstants.WELCOME_WAVE_CONTENT_TITLE.replaceAll("\\[%s\\]",
+ // properties.getDefaultSiteName()),
+ // ContentConstants.WELCOME_WAVE_CONTENT.replaceAll("\\[%s\\]",
+ // properties.getDefaultSiteName()),
+ // participantUtils.of(properties.getAdminShortName()),
+ // participantUtils.of(shortName));
+ }
return user;
} catch (final RuntimeException e) {
try {
Deleted: trunk/src/main/java/cc/kune/core/server/properties/DatabaseProperties.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/properties/DatabaseProperties.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/core/server/properties/DatabaseProperties.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -1,64 +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.core.server.properties;
-
-import com.google.inject.Inject;
-import com.google.inject.Singleton;
-
-/**
- * Sugar
- */
-@Singleton
-public class DatabaseProperties {
- private final KuneProperties properties;
-
- @Inject
- public DatabaseProperties(final KuneProperties properties) {
- this.properties = properties;
- }
-
- public String getAdminEmail() {
- return properties.get(KuneProperties.SITE_ADMIN_EMAIL);
- }
-
- public String getAdminPassword() {
- return properties.get(KuneProperties.SITE_ADMIN_PASSWD);
- }
-
- public String getAdminShortName() {
- return properties.get(KuneProperties.SITE_ADMIN_SHORTNAME);
- }
-
- public String getAdminUserName() {
- return properties.get(KuneProperties.SITE_ADMIN_NAME);
- }
-
- public String getDefaultLicense() {
- return properties.get(KuneProperties.SITE_DEF_LICENSE);
- }
-
- public String getDefaultSiteName() {
- return properties.get(KuneProperties.SITE_NAME);
- }
-
- public String getDefaultSiteShortName() {
- return properties.get(KuneProperties.SITE_SHORTNAME);
- }
-}
Added: trunk/src/main/java/cc/kune/core/server/properties/KuneBasicProperties.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/properties/KuneBasicProperties.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/server/properties/KuneBasicProperties.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -0,0 +1,68 @@
+/*
+ *
+ * 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.server.properties;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+/**
+ * Sugar
+ */
+@Singleton
+public class KuneBasicProperties {
+ private final KuneProperties properties;
+
+ @Inject
+ public KuneBasicProperties(final KuneProperties properties) {
+ this.properties = properties;
+ }
+
+ public String getAdminEmail() {
+ return properties.get(KuneProperties.SITE_ADMIN_EMAIL);
+ }
+
+ public String getAdminPassword() {
+ return properties.get(KuneProperties.SITE_ADMIN_PASSWD);
+ }
+
+ public String getAdminShortName() {
+ return properties.get(KuneProperties.SITE_ADMIN_SHORTNAME);
+ }
+
+ public String getAdminUserName() {
+ return properties.get(KuneProperties.SITE_ADMIN_NAME);
+ }
+
+ public String getDefaultLicense() {
+ return properties.get(KuneProperties.SITE_DEF_LICENSE);
+ }
+
+ public String getDefaultSiteName() {
+ return properties.get(KuneProperties.SITE_NAME);
+ }
+
+ public String getDefaultSiteShortName() {
+ return properties.get(KuneProperties.SITE_SHORTNAME);
+ }
+
+ public String getWelcomewave() {
+ return properties.get(KuneProperties.WELCOME_WAVE);
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/core/server/properties/KuneProperties.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -49,6 +49,7 @@
String UPLOAD_LOCATION = "kune.upload.location";
String UPLOAD_MAX_FILE_SIZE = "kune.upload.maxfilesizeinmegas";
String UPLOAD_MAX_FILE_SIZE_IN_KS = "kune.upload.maxfilesizeinks";
+ String WELCOME_WAVE = "kune.site.welcomewave";
String WS_THEMES = "kune.wsthemes";
String WS_THEMES_DEF = "kune.wsthemes.default";
Modified: trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/core/server/state/StateServiceDefault.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -107,7 +107,7 @@
state.setWaveRef(waveId);
try {
// FIXME if we remove the authors this fails...
- final Wavelet wavelet = kuneWaveManager.fetchWavelet(
+ final Wavelet wavelet = kuneWaveManager.fetchWave(
JavaWaverefEncoder.decodeWaveRefFromPath(waveId), content.getAuthors().get(0).getShortName());
// final String currentContent = wavelet.getRootBlip().getContent();
state.setContent(kuneWaveManager.render(wavelet));
Modified: trunk/src/main/java/cc/kune/wave/server/KuneAgent.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneAgent.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/wave/server/KuneAgent.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -19,18 +19,16 @@
*/
package cc.kune.wave.server;
-import java.io.IOException;
import java.net.URL;
import java.util.HashSet;
-import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Nonnull;
-import org.waveprotocol.box.server.account.RobotAccountData;
import org.waveprotocol.box.server.persistence.AccountStore;
-import org.waveprotocol.box.server.persistence.PersistenceException;
import org.waveprotocol.wave.model.id.TokenGenerator;
+import org.waveprotocol.wave.model.id.WaveId;
+import org.waveprotocol.wave.model.id.WaveletId;
import org.waveprotocol.wave.model.wave.ParticipantId;
import org.waveprotocol.wave.model.waveref.WaveRef;
@@ -83,6 +81,13 @@
}
@Override
+ public WaveRef createWave(final String title, final String message, final String waveIdToCopy,
+ final URL gadgetUrl, final ParticipantId... participantsArray) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
public WaveRef createWave(final String title, final String message, final URL gadgetUrl,
final ParticipantId... participantsArray) {
// super.newWave(getWaveDomain(), participantsArray);
@@ -95,30 +100,39 @@
}
@Override
- public Wavelet fetchWavelet(final WaveRef waveRef, final String author) {
- // Preconditions.checkNotNull(author);
- RobotAccountData account = null;
- final String rpcUrl = "http://" + getFrontEndAddress() + "/robot/rpc";
- try {
- account = getAccountStore().getAccount(
- ParticipantId.ofUnsafe(getRobotId() + "@" + getWaveDomain())).asRobot();
- } catch (final PersistenceException e) {
- LOG.log(Level.WARNING, "Cannot fetch account data for robot id: " + getRobotId(), e);
- }
- if (account != null) {
- setupOAuth(account.getId().getAddress(), account.getConsumerSecret(), rpcUrl);
- try {
- return super.fetchWavelet(waveRef.getWaveId(), waveRef.getWaveletId(), "http://"
- + getFrontEndAddress() + "/robot/rpc");
- } catch (final IOException e) {
- e.printStackTrace();
- return null;
- }
- }
+ public Wavelet fetchWave(final WaveId waveId, final WaveletId waveletId, final String author) {
+ // TODO Auto-generated method stub
return null;
}
@Override
+ public Wavelet fetchWave(final WaveRef waveRef, final String author) {
+ // // Preconditions.checkNotNull(author);
+ // RobotAccountData account = null;
+ // final String rpcUrl = "http://" + getFrontEndAddress() + "/robot/rpc";
+ // try {
+ // account = getAccountStore().getAccount(
+ // ParticipantId.ofUnsafe(getRobotId() + "@" + getWaveDomain())).asRobot();
+ // } catch (final PersistenceException e) {
+ // LOG.log(Level.WARNING, "Cannot fetch account data for robot id: " +
+ // getRobotId(), e);
+ // }
+ // if (account != null) {
+ // setupOAuth(account.getId().getAddress(), account.getConsumerSecret(),
+ // rpcUrl);
+ // try {
+ // return super.fetchWavelet(waveRef.getWaveId(), waveRef.getWaveletId(),
+ // "http://"
+ // + getFrontEndAddress() + "/robot/rpc");
+ // } catch (final IOException e) {
+ // e.printStackTrace();
+ // return null;
+ // }
+ // }
+ return null;
+ }
+
+ @Override
public String getRobotId() {
return "kune-agent";
}
@@ -156,4 +170,5 @@
// TODO Auto-generated method stub
}
+
}
Modified: trunk/src/main/java/cc/kune/wave/server/KuneWaveManager.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveManager.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveManager.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -21,6 +21,8 @@
import java.net.URL;
+import org.waveprotocol.wave.model.id.WaveId;
+import org.waveprotocol.wave.model.id.WaveletId;
import org.waveprotocol.wave.model.wave.ParticipantId;
import org.waveprotocol.wave.model.waveref.WaveRef;
@@ -37,10 +39,15 @@
WaveRef createWave(String title, String message, ParticipantId... participantsArray);
+ WaveRef createWave(String title, String message, String waveIdToCopy, URL gadgetUrl,
+ ParticipantId... participantsArray);
+
WaveRef createWave(String title, String message, URL gadgetUrl, ParticipantId... participantsArray);
- Wavelet fetchWavelet(WaveRef waveRef, String author);
+ Wavelet fetchWave(WaveId waveId, WaveletId waveletId, String author);
+ Wavelet fetchWave(WaveRef waveRef, String author);
+
boolean isParticipant(Wavelet wavelet, String user);
String render(Wavelet wavelet);
Modified: trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/wave/server/KuneWaveManagerDefault.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -39,6 +39,8 @@
import org.waveprotocol.box.server.waveserver.WaveletProvider;
import org.waveprotocol.box.server.waveserver.WaveletProvider.SubmitRequestListener;
import org.waveprotocol.wave.model.id.InvalidIdException;
+import org.waveprotocol.wave.model.id.WaveId;
+import org.waveprotocol.wave.model.id.WaveletId;
import org.waveprotocol.wave.model.version.HashedVersion;
import org.waveprotocol.wave.model.wave.ParticipantId;
import org.waveprotocol.wave.model.waveref.WaveRef;
@@ -50,8 +52,10 @@
import com.google.common.collect.Maps;
import com.google.inject.Inject;
import com.google.inject.name.Named;
+import com.google.wave.api.Annotation;
import com.google.wave.api.ApiIdSerializer;
import com.google.wave.api.Blip;
+import com.google.wave.api.BlipContent;
import com.google.wave.api.BlipData;
import com.google.wave.api.BlipThread;
import com.google.wave.api.Element;
@@ -62,6 +66,7 @@
import com.google.wave.api.OperationRequest;
import com.google.wave.api.OperationRequest.Parameter;
import com.google.wave.api.ProtocolVersion;
+import com.google.wave.api.Range;
import com.google.wave.api.Wavelet;
import com.google.wave.api.data.converter.EventDataConverterManager;
import com.google.wave.api.impl.DocumentModifyAction;
@@ -81,14 +86,34 @@
private static final String NO_TITLE = "";
private static final List<String> NO_VALUES = Collections.<String> emptyList();
+ private static final String NO_WAVE_TO_COPY = null;
+ /**
+ *
+ * Copy blips
+ *
+ * @param fromBlip
+ * @param toBlip
+ *
+ * @author yurize(a)apache.org (Yuri Zelikov)
+ *
+ */
+ public static void copyWavelet(final Blip fromBlip, final Blip toBlip) {
+ for (final BlipContent blipContent : fromBlip.all().values()) {
+ toBlip.append(blipContent);
+ }
+ for (final Annotation annotation : fromBlip.getAnnotations()) {
+ final Range range = annotation.getRange();
+ toBlip.range(range.getStart() + 1, range.getEnd() + 1).annotate(annotation.getName(),
+ annotation.getValue());
+ }
+ }
private final ConversationUtil conversationUtil;
private final EventDataConverterManager converterManager;
private final String domain;
private final OperationServiceRegistry operationRegistry;
private final ParticipantUtils participantUtils;
private final WaveletProvider waveletProvider;
-
private final WaveRenderer waveRenderer;
@Inject
@@ -116,7 +141,7 @@
final Gadget gadget = new Gadget(properties);
elementsIn.add(gadget);
- final Wavelet wavelet = fetchWavelet(waveName, author);
+ final Wavelet wavelet = fetchWave(waveName, author);
final OperationQueue opQueue = new OperationQueue();
final Blip rootBlip = wavelet.getRootBlip();
@@ -130,7 +155,7 @@
@Override
public void addParticipant(final WaveRef waveName, final String author, final String userWhoAdds,
final String participant) {
- final Wavelet wavelet = fetchWavelet(waveName, author);
+ final Wavelet wavelet = fetchWave(waveName, author);
final String whoAdd = wavelet.getParticipants().contains(participantUtils.of(userWhoAdds)) ? userWhoAdds
: author;
final OperationQueue opQueue = new OperationQueue();
@@ -151,8 +176,8 @@
}
@Override
- public WaveRef createWave(@Nonnull final String title, final String message, final URL gadgetUrl,
- @Nonnull final ParticipantId... participantsArray) {
+ public WaveRef createWave(@Nonnull final String title, final String message,
+ final String waveIdToCopy, final URL gadgetUrl, @Nonnull final ParticipantId... participantsArray) {
String newWaveId = null;
String newWaveletId = null;
final Set<String> participants = new HashSet<String>();
@@ -165,25 +190,23 @@
opQueue.setTitleOfWavelet(newWavelet, title);
final Blip rootBlip = newWavelet.getRootBlip();
rootBlip.append(new com.google.wave.api.Markup(message).getText());
- // rootBlip.all().delete();
- // rootBlip.appendMarkup(message);
- // opQueue.appendMarkupToDocument(rootBlip,
- // ContentNewUnrenderer.unrender(message).toXmlString());
- // final OperationRequest modifyDocument = opQueue.modifyDocument(rootBlip);
- // ImmutableList<String> of =
- // ImmutableList.of(ContentNewUnrenderer.unrender(message).toXmlString());
- // rootBlip.getContent().hackConsume(
- // Nindo.fromDocOp(ContentNewUnrenderer.unrender(message).asOperation(),
- // false));
- // modifyDocument.addParameter(Parameter.of(ParamsProperty.MODIFY_ACTION,
- // new DocumentModifyAction(
- // ModifyHow.REPLACE,
- // ImmutableList.of(ContentNewUnrenderer.unrender(message).toXmlString()),
- // null,
- // null, null, false)));
- // NO_ANNOTATION_KEY, NO_ELEMENTS, NO_BUNDLED_ANNOTATIONS, false)));
- // rootBlip.appendMarkup(message);
+ if (waveIdToCopy != NO_WAVE_TO_COPY) {
+ try {
+ WaveId copyWaveId;
+ copyWaveId = WaveId.ofChecked(domain, waveIdToCopy);
+ final Wavelet waveletToCopy = fetchWave(copyWaveId, WaveletId.of(domain, "conv+root"),
+ participantsArray[0].toString());
+ if (waveletToCopy != null) {
+ copyWavelet(waveletToCopy.getRootBlip(), rootBlip);
+ }
+ } catch (final InvalidIdException e) {
+ LOG.error("Error copying wave content", e);
+ } catch (final DefaultException e2) {
+ LOG.error("Error copying wave content", e2);
+ }
+ }
+
if (gadgetUrl != WITHOUT_GADGET) {
final Gadget gadget = new Gadget(gadgetUrl.toString());
rootBlip.append(gadget);
@@ -233,6 +256,12 @@
return wavename;
}
+ @Override
+ public WaveRef createWave(@Nonnull final String title, final String message, final URL gadgetUrl,
+ @Nonnull final ParticipantId... participantsArray) {
+ return createWave(title, message, NO_WAVE_TO_COPY, gadgetUrl, participantsArray);
+ }
+
private void doOperation(final String author, final OperationQueue opQueue, final String logComment) {
final OperationContextImpl context = new OperationContextImpl(waveletProvider,
converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
@@ -267,10 +296,10 @@
}
@Override
- public Wavelet fetchWavelet(final WaveRef waveName, final String author) {
+ public Wavelet fetchWave(final WaveId waveId, final WaveletId waveletId, final String author) {
+ final OperationQueue opQueue = new OperationQueue();
+ opQueue.fetchWavelet(waveId, waveletId);
Wavelet wavelet = null;
- final OperationQueue opQueue = new OperationQueue();
- opQueue.fetchWavelet(waveName.getWaveId(), waveName.getWaveletId());
final OperationContextImpl context = new OperationContextImpl(waveletProvider,
converterManager.getEventDataConverter(ProtocolVersion.DEFAULT), conversationUtil);
final OperationRequest request = opQueue.getPendingOperations().get(0);
@@ -308,6 +337,13 @@
}
@Override
+ public Wavelet fetchWave(final WaveRef waveName, final String author) {
+ final WaveId waveId = waveName.getWaveId();
+ final WaveletId waveletId = waveName.getWaveletId();
+ return fetchWave(waveId, waveletId, author);
+ }
+
+ @Override
public boolean isParticipant(final Wavelet wavelet, final String user) {
return wavelet.getParticipants().contains(participantUtils.of(user).toString());
}
@@ -326,14 +362,15 @@
@Override
public String render(final WaveRef waveRef, final String author) {
- return render(fetchWavelet(waveRef, author));
+ return render(fetchWave(waveRef, author));
}
@Override
public void setTitle(final WaveRef waveName, final String title, final String author) {
- final Wavelet wavelet = fetchWavelet(waveName, author);
+ final Wavelet wavelet = fetchWave(waveName, author);
final OperationQueue opQueue = new OperationQueue();
opQueue.setTitleOfWavelet(wavelet, title);
doOperation(author, opQueue, "set title");
}
+
}
Modified: trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/java/cc/kune/wave/server/ParticipantUtils.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -24,7 +24,7 @@
import org.waveprotocol.wave.model.wave.ParticipantId;
import cc.kune.core.client.errors.DefaultException;
-import cc.kune.core.server.properties.DatabaseProperties;
+import cc.kune.core.server.properties.KuneBasicProperties;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -38,7 +38,7 @@
@Inject
public ParticipantUtils((a)Named(CoreSettings.WAVE_SERVER_DOMAIN) final String domain,
- final DatabaseProperties databaseProperties) throws InvalidParticipantAddress {
+ final KuneBasicProperties databaseProperties) throws InvalidParticipantAddress {
this.domain = domain;
superAdmin = ofImpl(databaseProperties.getAdminShortName());
}
Modified: trunk/src/main/resources/kune.properties
===================================================================
--- trunk/src/main/resources/kune.properties 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/resources/kune.properties 2011-07-14 08:58:16 UTC (rev 1456)
@@ -32,6 +32,11 @@
kune.chat.domain = localhost
kune.chat.roomHost = rooms.localhost
+### Other params
+
+# If defined create a copy of this wave as welcome to new users
+kune.site.welcomewave = w+rtackLTkDCA
+
### Workspace enabled themes
# This names are also the name of the items in the theme menu and there are translated
Modified: trunk/src/main/webapp/others/splash/js/permalink_client.js
===================================================================
--- trunk/src/main/webapp/others/splash/js/permalink_client.js 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/webapp/others/splash/js/permalink_client.js 2011-07-14 08:58:16 UTC (rev 1456)
@@ -29,8 +29,9 @@
* Application entry point.
*/
$(document).ready(function() {
+ /*
var path = window.location.pathname;
-
+
// adjust the height of the content frame to fill the iframe height
$("#contentInner3")
.css("height", 0)
@@ -95,6 +96,7 @@
var rpc = window.wave.Rpc.getInstance();
+ */
initGadgetSystem();
// rpc.rpcOpenWave();
Modified: trunk/src/main/webapp/others/splash/js/rpc.js
===================================================================
--- trunk/src/main/webapp/others/splash/js/rpc.js 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/main/webapp/others/splash/js/rpc.js 2011-07-14 08:58:16 UTC (rev 1456)
@@ -145,7 +145,7 @@
dirtyRef.removeClass('content-dirty');
requestId++;
}
-
+
// Finally, clear all pending edits.
this.pendingEdits_.length = 0;
};
@@ -465,7 +465,7 @@
*/
wave.Rpc.prototype.rpcAsyncUpdate = function() {
this.dataView_.addPendingEdits();
- this.rpc_(wave.Rpc.ASYNC_UPDATE_URL_);
+ // this.rpc_(wave.Rpc.ASYNC_UPDATE_URL_);
this.dataView_.clearPendingEdits();
};
Modified: trunk/src/test/java/cc/kune/core/server/finders/LicenseFinderTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/finders/LicenseFinderTest.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/test/java/cc/kune/core/server/finders/LicenseFinderTest.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -29,7 +29,7 @@
import org.junit.Test;
import cc.kune.core.server.PersistenceTest;
-import cc.kune.core.server.properties.DatabaseProperties;
+import cc.kune.core.server.properties.KuneBasicProperties;
import cc.kune.domain.License;
import cc.kune.domain.finders.LicenseFinder;
@@ -42,7 +42,7 @@
private License license2;
private License licenseDef;
@Inject
- DatabaseProperties properties;
+ KuneBasicProperties properties;
@Before
public void addData() {
Modified: trunk/src/test/java/cc/kune/core/server/integration/IntegrationTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/IntegrationTest.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/test/java/cc/kune/core/server/integration/IntegrationTest.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -27,14 +27,14 @@
import cc.kune.core.client.errors.DefaultException;
import cc.kune.core.client.rpcservices.UserService;
import cc.kune.core.server.UserSession;
-import cc.kune.core.server.properties.DatabaseProperties;
+import cc.kune.core.server.properties.KuneBasicProperties;
import com.google.inject.Inject;
public abstract class IntegrationTest {
@Inject
- DatabaseProperties properties;
+ KuneBasicProperties properties;
@Inject
protected UserSession session;
protected String token;
Modified: trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/test/java/cc/kune/core/server/integration/site/UserServiceTest.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -36,7 +36,7 @@
import cc.kune.core.server.integration.IntegrationTestHelper;
import cc.kune.core.server.manager.I18nLanguageManager;
import cc.kune.core.server.mapper.Mapper;
-import cc.kune.core.server.properties.DatabaseProperties;
+import cc.kune.core.server.properties.KuneBasicProperties;
import cc.kune.core.server.rpc.SocialNetworkRPC;
import cc.kune.core.server.users.UserInfo;
import cc.kune.core.server.users.UserInfoService;
@@ -62,7 +62,7 @@
@Inject
Mapper mapper;
@Inject
- DatabaseProperties properties;
+ KuneBasicProperties properties;
@Inject
SocialNetworkRPC sn;
private TimeZoneDTO timezone;
Modified: trunk/src/test/java/cc/kune/wave/server/KuneAgentTest.java
===================================================================
--- trunk/src/test/java/cc/kune/wave/server/KuneAgentTest.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/test/java/cc/kune/wave/server/KuneAgentTest.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -82,7 +82,7 @@
final WaveRef waveletName = manager.createWave(RICHTEXT_MESSAGE,
ParticipantId.of(getSiteAdminShortName()));
assertNotNull(waveletName);
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ final Wavelet fetchWavelet = manager.fetchWave(waveletName, getSiteAdminShortName());
assertNotNull(fetchWavelet);
assertTrue(fetchWavelet.getRootBlip().getAnnotations().size() > 0);
assertEquals("", fetchWavelet.getRootBlip().getContent());
Modified: trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java
===================================================================
--- trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/test/java/cc/kune/wave/server/KuneWaveManagerDefaultTest.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -63,7 +63,7 @@
final WaveRef waveletName = createTestWave();
assertNotNull(waveletName);
manager.addParticipant(waveletName, getSiteAdminShortName(), whoAdds, NEW_PARTICIPANT);
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ final Wavelet fetchWavelet = manager.fetchWave(waveletName, getSiteAdminShortName());
assertNotNull(fetchWavelet);
assertEquals(2, fetchWavelet.getParticipants().size());
manager.isParticipant(fetchWavelet, NEW_PARTICIPANT);
@@ -91,7 +91,7 @@
final WaveRef waveletName = manager.createWave(RICHTEXT_MESSAGE,
participantUtils.of(getSiteAdminShortName()));
assertNotNull(waveletName);
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ final Wavelet fetchWavelet = manager.fetchWave(waveletName, getSiteAdminShortName());
assertNotNull(fetchWavelet);
assertTrue(fetchWavelet.getRootBlip().getAnnotations().size() > 0);
assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
@@ -103,7 +103,7 @@
final WaveRef waveletName = manager.createWave(TITLE, RICHTEXT_MESSAGE, new URL(TEST_GADGET),
participantUtils.of(getSiteAdminShortName()));
assertNotNull(waveletName);
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ final Wavelet fetchWavelet = manager.fetchWave(waveletName, getSiteAdminShortName());
assertNotNull(fetchWavelet);
assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
}
@@ -113,7 +113,7 @@
doLogin();
final WaveRef waveletName = createTestWave();
assertNotNull(waveletName);
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ final Wavelet fetchWavelet = manager.fetchWave(waveletName, getSiteAdminShortName());
assertNotNull(fetchWavelet);
assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
assertEquals(TITLE, fetchWavelet.getTitle());
@@ -138,7 +138,7 @@
final WaveRef waveletName = createTestWave();
assertNotNull(waveletName);
manager.setTitle(waveletName, TITLENEW, getSiteAdminShortName());
- final Wavelet fetchWavelet = manager.fetchWavelet(waveletName, getSiteAdminShortName());
+ final Wavelet fetchWavelet = manager.fetchWave(waveletName, getSiteAdminShortName());
assertNotNull(fetchWavelet);
assertTrue(fetchWavelet.getRootBlip().getContent().contains(MESSAGE));
assertEquals(TITLENEW, fetchWavelet.getTitle());
Modified: trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java
===================================================================
--- trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java 2011-07-13 16:52:07 UTC (rev 1455)
+++ trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java 2011-07-14 08:58:16 UTC (rev 1456)
@@ -21,28 +21,73 @@
import org.junit.Ignore;
import org.junit.Test;
-import org.waveprotocol.wave.client.editor.content.CMutableDocument;
-import org.waveprotocol.wave.client.editor.content.ContentDocument;
import org.waveprotocol.wave.model.document.indexed.IndexedDocument;
-import org.waveprotocol.wave.model.document.operation.Nindo;
+import org.waveprotocol.wave.model.document.operation.DocInitialization;
import org.waveprotocol.wave.model.document.raw.impl.Element;
import org.waveprotocol.wave.model.document.raw.impl.Node;
import org.waveprotocol.wave.model.document.raw.impl.Text;
-import org.waveprotocol.wave.model.document.util.DocProviders;
-import org.waveprotocol.wave.model.operation.OperationSequencer;
+import org.waveprotocol.wave.model.id.IdURIEncoderDecoder;
+import org.waveprotocol.wave.model.id.WaveId;
+import org.waveprotocol.wave.model.id.WaveletId;
+import org.waveprotocol.wave.model.version.HashedVersionFactory;
+import org.waveprotocol.wave.model.version.HashedVersionZeroFactoryImpl;
+import org.waveprotocol.wave.model.wave.Blip;
+import org.waveprotocol.wave.model.wave.ParticipantId;
+import org.waveprotocol.wave.util.escapers.jvm.JavaUrlCodec;
public class ContentNewUnrendererTest {
+ private static final IdURIEncoderDecoder CODEC_URI = new IdURIEncoderDecoder(new JavaUrlCodec());
+ private static final ParticipantId CREATOR = ParticipantId.ofUnsafe("someone(a)example.com");
+ private static final HashedVersionFactory HASH_FACTORY = new HashedVersionZeroFactoryImpl(CODEC_URI);
@Ignore
@Test
public void testBasicUnrender() {
- final IndexedDocument<Node, Element, Text> result = ContentNewUnrenderer.unrender("<b>Some <em>bold</em></b>");
// final UnrenderedBlip result =
// ContentUnrenderer.unrender("<p></p><p><b>Some <em>bold</em></b></p>");
// assertEquals("", result.elements.toString());
- final OperationSequencer<Nindo> sequencer = DocProviders.createCopyingSequencer(result);
- final CMutableDocument mutable = new ContentDocument(null).createSequencedDocumentWrapper(sequencer);
+ // final OperationSequencer<Nindo> sequencer =
+ // DocProviders.createCopyingSequencer(result);
+ // final CMutableDocument mutable = new
+ // ContentDocument(null).createSequencedDocumentWrapper(sequencer);
+
+ final IndexedDocument<Node, Element, Text> result = ContentNewUnrenderer.unrender("<b>Some <em>bold</em></b>");
+ final DocInitialization content = result.asOperation();
+
+ final WaveId waveId;
+ final WaveletId waveletId;
+ // Of just created wave
+ // final WaveletName waveletName = WaveletName.of(waveId, waveletId);
+
+ // final HashedVersionFactory hashFactory =
+ // injector.getInstance(HashedVersionFactory.class);
+ // final ObservableWaveletData waveletData =
+ // WaveletDataUtil.createEmptyWavelet(waveletName, CREATOR,
+ // HASH_FACTORY.createVersionZero(waveletName), System.currentTimeMillis());
+
+ // final String id = "b+example";
+ // // idGenerator.newBlipId() o blipId
+ // final BlipData blipData = waveletData.createDocument(id, CREATOR,
+ // Collections.singletonList(CREATOR), content, System.currentTimeMillis(),
+ // 0);
+
+ final Blip rootBlipId;
+
+ // final OperationRequest operation =
+ // operationRequest(OperationType.BLIP_CONTINUE_THREAD, rootBlipId,
+ // Parameter.of(ParamsProperty.BLIP_DATA, blipData));
+
+ // final WaveletName waveletName;
+ // final ParticipantId participant =
+ // ParticipantId.of("someone@localdomain");
+ // final HashedVersion hashedVersionZero
+ // = hashedVersionFactory.createVersionZero(waveletName);
+ // final ObservableWaveletData createEmptyWavelet =
+ // WaveletDataUtil.createEmptyWavelet(waveletName,
+ // participant, hashedVersionZero, System.currentTimeMillis());
+ // WaveletDataUtil.
+
// WaveletDataUtil.createEmptyWavelet(null, null, null, 0)
}
}
1
0
Author: vjrj_
Date: 2011-07-13 18:52:07 +0200 (Wed, 13 Jul 2011)
New Revision: 1455
Modified:
trunk/src/main/webapp/others/kune-client-actions.xml
Log:
gadgets ordened
Modified: trunk/src/main/webapp/others/kune-client-actions.xml
===================================================================
--- trunk/src/main/webapp/others/kune-client-actions.xml 2011-07-13 16:48:23 UTC (rev 1454)
+++ trunk/src/main/webapp/others/kune-client-actions.xml 2011-07-13 16:52:07 UTC (rev 1455)
@@ -193,7 +193,7 @@
<type>wave-gadget</type>
<extensionName>pollo</extensionName>
<name>New poll</name>
- <path>Gadget»Voting</path>
+ <path>New Gadget»Voting</path>
<description>Make some poll (allow single and multiple polls))
</description>
<new-content-title>New poll</new-content-title>
@@ -218,7 +218,7 @@
<type>wave-gadget</type>
<extensionName>Poll</extensionName>
<name>New Advanced Poll</name>
- <path>Gadget»Voting</path>
+ <path>New Gadget»Voting</path>
<description>You can add a poll to your Wave. Accordingly you can
embed the result with the Google Chart API into your Wave.
</description>
@@ -244,7 +244,7 @@
<type>wave-gadget</type>
<extensionName>Yes/No/Maybe/+</extensionName>
<name>New Yes/No/Maybe/+ Voting</name>
- <path>Gadget»Voting</path>
+ <path>New Gadget»Voting</path>
<description>Same as Google's Yes/No/Maybe, only you can edit the
titles and add new ones.
</description>
@@ -270,7 +270,7 @@
<type>wave-gadget</type>
<extensionName>Yes/No/Mini</extensionName>
<name>New Yes/no/Mini Voting</name>
- <path>Gadget»Voting</path>
+ <path>New Gadget»Voting</path>
<description>A miniature version of the Yes/No/Maybe gadget.
</description>
<new-content-title>New Yes/no/Mini Voting</new-content-title>
@@ -297,7 +297,7 @@
<type>wave-gadget</type>
<extensionName>massmob</extensionName>
<name>New meeting</name>
- <path>Gadget»Calendar</path>
+ <path>New Gadget»Calendar</path>
<description>Call and speed-up of events as meeting, smartmobs,
flashmobs, protest demonstrations, etc.
</description>
@@ -323,7 +323,7 @@
<type>wave-gadget</type>
<extensionName>massmob</extensionName>
<name>Add a meeting</name>
- <path>Gadget»Calendar</path>
+ <path>New Gadget»Calendar</path>
<description>Call and speed-up of events as meeting, smartmobs,
flashmobs, protest demonstrations, etc.
</description>
@@ -342,7 +342,7 @@
<type>wave-gadget</type>
<extensionName>waffle</extensionName>
<name>New meet coordination</name>
- <path>Gadget»Calendar</path>
+ <path>New Gadget»Calendar</path>
<description>Users are polled to determine the best time and date
to meet
</description>
@@ -370,7 +370,7 @@
<type>wave-gadget</type>
<extensionName>Image</extensionName>
<name>New Image (and lets annotate)</name>
- <path>Gadget»Media</path>
+ <path>New Gadget»Media</path>
<description>Lets you insert, resize and annotate any image from
the web.
</description>
@@ -399,7 +399,7 @@
<type>wave-gadget</type>
<extensionName>Map</extensionName>
<name>New Map</name>
- <path>Gadget»Media</path>
+ <path>New Gadget»Media</path>
<description>Collaborate on a map of placemarks, paths, and shapes
with other participants. Great for planning events and trips.
</description>
@@ -425,7 +425,7 @@
<type>wave-gadget</type>
<extensionName>wavetube</extensionName>
<name>New Youtube video</name>
- <path>Gadget»Media</path>
+ <path>New Gadget»Media</path>
<description>Adds a YouTube player that displays the list of
viewers in real time
</description>
@@ -451,7 +451,7 @@
<type>wave-gadget</type>
<extensionName>Picasa Gadget</extensionName>
<name>New Album</name>
- <path>Gadget»Media</path>
+ <path>New Gadget»Media</path>
<description>Add a Picasa photo album to a wave.</description>
<new-content-title>New Album</new-content-title>
<new-content-textintro>Sorry, this gadget has problems with its
@@ -477,7 +477,7 @@
<type>wave-gadget</type>
<extensionName>twitter-search</extensionName>
<name>New twitter search</name>
- <path>Gadget»Media</path>
+ <path>New Gadget»Media</path>
<description>Shows results from Twitter for a given search term.
Participants can edit to specify new term.
</description>
@@ -501,39 +501,13 @@
<participants>ask</participants>
</guiActionDescriptor>
- <guiActionDescriptor>
- <type>wave-gadget</type>
- <extensionName>wavetube</extensionName>
- <name>New Youtube video</name>
- <path>Gadget»Media</path>
- <description>Adds a YouTube player that displays the list of
- viewers in real time
- </description>
- <new-content-title>New Youtube video</new-content-title>
- <new-content-textintro></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"/>
- </typeIds>
- <rol>
- <!-- Administrator, Editor, Viewer -->
- <rolRequired>Editor</rolRequired>
- <authNeed>true</authNeed>
- </rol>
- <!-- only for new waves: anyone, onlymembers, onlyadmins, ask (not
- used yet) -->
- <participants>ask</participants>
- </guiActionDescriptor>
-
<!-- Tasks ================================================== -->
<guiActionDescriptor>
<type>wave-gadget</type>
<extensionName>TaskToDo</extensionName>
<name>New To-Do list</name>
- <path>Gadget»Tasks</path>
+ <path>New Gadget»Tasks</path>
<description>Make your To-Do list and mark your progress.
</description>
<new-content-title>New To-Do list</new-content-title>
@@ -559,7 +533,7 @@
<type>wave-gadget</type>
<extensionName>tasklistbot</extensionName>
<name>New Task List</name>
- <path>Gadget»Tasks</path>
+ <path>New Gadget»Tasks</path>
<description></description>
<new-content-title>New Task List</new-content-title>
<new-content-textintro></new-content-textintro>
@@ -586,7 +560,7 @@
<type>wave-gadget</type>
<extensionName>Shorten URL with goo.gl</extensionName>
<name>New Shorten URL</name>
- <path>Gadget»Others</path>
+ <path>New Gadget»Others</path>
<description>Shorten url with goo.gl, the new Google url
shortener.(http://goo.gl/)
</description>
@@ -613,7 +587,7 @@
<type>wave-gadget</type>
<extensionName>Quick Notify</extensionName>
<name>New Notification</name>
- <path>Gadget»Others</path>
+ <path>New Gadget»Others</path>
<description>Quickly send a short email with a custom message to
all participants.
</description>
@@ -640,7 +614,7 @@
<type>wave-gadget</type>
<extensionName>MindMap</extensionName>
<name>New MindMap</name>
- <path>Gadget»Others</path>
+ <path>New Gadget»Others</path>
<description>Collaborate using a hierarchical mind map.
</description>
<new-content-title>New MindMap</new-content-title>
1
0
Author: vjrj_
Date: 2011-07-13 18:48:23 +0200 (Wed, 13 Jul 2011)
New Revision: 1454
Modified:
trunk/src/main/webapp/others/kune-client-actions.xml
Log:
gadgets ordened
Modified: trunk/src/main/webapp/others/kune-client-actions.xml
===================================================================
--- trunk/src/main/webapp/others/kune-client-actions.xml 2011-07-13 16:41:29 UTC (rev 1453)
+++ trunk/src/main/webapp/others/kune-client-actions.xml 2011-07-13 16:48:23 UTC (rev 1454)
@@ -369,13 +369,14 @@
<guiActionDescriptor>
<type>wave-gadget</type>
<extensionName>Image</extensionName>
- <name>New Image</name>
+ <name>New Image (and lets annotate)</name>
<path>Gadget»Media</path>
<description>Lets you insert, resize and annotate any image from
the web.
</description>
<new-content-title>Edit this to insert, resize and annotate any
- image from the web
+ image from the web. The image can be annotated (double click on
+ it) by any participant of this document.
</new-content-title>
<new-content-textintro></new-content-textintro>
<enabled>true</enabled>
@@ -502,34 +503,6 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>twitter-search</extensionName>
- <name>New twitter search</name>
- <path>Gadget»Media</path>
- <description>Shows results from Twitter for a given search term.
- Participants can edit to specify new term.
- </description>
- <new-content-title>Twitter search</new-content-title>
- <new-content-textintro>Sorry, this gadget has problems with its
- height. We hope this will be fixed soon
- </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"/>
- </typeIds>
- <rol>
- <!-- Administrator, Editor, Viewer -->
- <rolRequired>Editor</rolRequired>
- <authNeed>true</authNeed>
- </rol>
- <!-- only for new waves: anyone, onlymembers, onlyadmins, ask (not
- used yet) -->
- <participants>ask</participants>
- </guiActionDescriptor>
-
- <guiActionDescriptor>
- <type>wave-gadget</type>
<extensionName>wavetube</extensionName>
<name>New Youtube video</name>
<path>Gadget»Media</path>
1
0
Author: vjrj_
Date: 2011-07-13 18:41:29 +0200 (Wed, 13 Jul 2011)
New Revision: 1453
Modified:
trunk/src/main/webapp/others/kune-client-actions.xml
Log:
gadgets ordened
Modified: trunk/src/main/webapp/others/kune-client-actions.xml
===================================================================
--- trunk/src/main/webapp/others/kune-client-actions.xml 2011-07-13 15:29:14 UTC (rev 1452)
+++ trunk/src/main/webapp/others/kune-client-actions.xml 2011-07-13 16:41:29 UTC (rev 1453)
@@ -187,21 +187,22 @@
<guiActionDescriptors>
+ <!-- Voting ================================================= -->
+
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>Map</extensionName>
- <name>New Map</name>
- <path>Gadget»Media</path>
- <description>Collaborate on a map of placemarks, paths, and shapes
- with other participants. Great for planning events and trips.
+ <extensionName>pollo</extensionName>
+ <name>New poll</name>
+ <path>Gadget»Voting</path>
+ <description>Make some poll (allow single and multiple polls))
</description>
- <new-content-title>New Map</new-content-title>
+ <new-content-title>New poll</new-content-title>
<new-content-textintro></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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -215,17 +216,19 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>Picasa Gadget</extensionName>
- <name>New Album</name>
- <path>Gadget»Media</path>
- <description>Add a Picasa photo album to a wave.</description>
- <new-content-title>New Album</new-content-title>
- <new-content-textintro>Sorry, this gadget has problems with its height. We hope this will be fixed soon</new-content-textintro>
+ <extensionName>Poll</extensionName>
+ <name>New Advanced Poll</name>
+ <path>Gadget»Voting</path>
+ <description>You can add a poll to your Wave. Accordingly you can
+ embed the result with the Google Chart API into your Wave.
+ </description>
+ <new-content-title>New Advanced Poll</new-content-title>
+ <new-content-textintro></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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -239,19 +242,19 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>TaskToDo</extensionName>
- <name>New To-Do list</name>
- <path>Gadget»Tasks</path>
- <description>Make your To-Do list and mark your progress.
+ <extensionName>Yes/No/Maybe/+</extensionName>
+ <name>New Yes/No/Maybe/+ Voting</name>
+ <path>Gadget»Voting</path>
+ <description>Same as Google's Yes/No/Maybe, only you can edit the
+ titles and add new ones.
</description>
- <new-content-title>New To-Do list</new-content-title>
+ <new-content-title>New Yes/No/Maybe/+ Voting</new-content-title>
<new-content-textintro></new-content-textintro>
- <!-- Seems broken right now -->
- <enabled>false</enabled>
+ <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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -265,19 +268,18 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>Shorten URL with goo.gl</extensionName>
- <name>New Shorten URL</name>
- <path>Gadget»Links</path>
- <description>Shorten url with goo.gl, the new Google url
- shortener.(http://goo.gl/)</description>
- <new-content-title>New Shorten URL</new-content-title>
+ <extensionName>Yes/No/Mini</extensionName>
+ <name>New Yes/no/Mini Voting</name>
+ <path>Gadget»Voting</path>
+ <description>A miniature version of the Yes/No/Maybe gadget.
+ </description>
+ <new-content-title>New Yes/no/Mini Voting</new-content-title>
<new-content-textintro></new-content-textintro>
- <!-- Disabled: Not useful for a new doc -->
- <enabled>false</enabled>
+ <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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -289,22 +291,23 @@
<participants>ask</participants>
</guiActionDescriptor>
+ <!-- Calendar =============================================== -->
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>Poll</extensionName>
- <name>New Advanced Poll</name>
- <path>Gadget»Voting</path>
- <description>You can add a poll to your Wave. Accordingly you can
- embed the result with the Google Chart API into your Wave.
+ <extensionName>massmob</extensionName>
+ <name>New meeting</name>
+ <path>Gadget»Calendar</path>
+ <description>Call and speed-up of events as meeting, smartmobs,
+ flashmobs, protest demonstrations, etc.
</description>
- <new-content-title>New Advanced Poll</new-content-title>
+ <new-content-title>New meeting</new-content-title>
<new-content-textintro></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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -316,21 +319,40 @@
<participants>ask</participants>
</guiActionDescriptor>
+ <guiActionDescriptor>
+ <type>wave-gadget</type>
+ <extensionName>massmob</extensionName>
+ <name>Add a meeting</name>
+ <path>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>Yes/No/Maybe/+</extensionName>
- <name>New Yes/No/Maybe/+ Voting</name>
- <path>Gadget»Voting</path>
- <description>Same as Google's Yes/No/Maybe, only you can edit the
- titles and add new ones.</description>
- <new-content-title>New Yes/No/Maybe/+ Voting</new-content-title>
+ <extensionName>waffle</extensionName>
+ <name>New meet coordination</name>
+ <path>Gadget»Calendar</path>
+ <description>Users are polled to determine the best time and date
+ to meet
+ </description>
+ <new-content-title>New meet coordination</new-content-title>
<new-content-textintro></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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -342,20 +364,25 @@
<participants>ask</participants>
</guiActionDescriptor>
+ <!-- Media ================================================== -->
+
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>Yes/No/Mini</extensionName>
- <name>New Yes/no/Mini Voting</name>
- <path>Gadget»Voting</path>
- <description>A miniature version of the Yes/No/Maybe gadget.
+ <extensionName>Image</extensionName>
+ <name>New Image</name>
+ <path>Gadget»Media</path>
+ <description>Lets you insert, resize and annotate any image from
+ the web.
</description>
- <new-content-title>New Yes/no/Mini Voting</new-content-title>
+ <new-content-title>Edit this to insert, resize and annotate any
+ image from the web
+ </new-content-title>
<new-content-textintro></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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -369,18 +396,19 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>tasklistbot</extensionName>
- <name>New Task List</name>
- <path>Gadget»Tasks</path>
- <description></description>
- <new-content-title>New Task List</new-content-title>
+ <extensionName>Map</extensionName>
+ <name>New Map</name>
+ <path>Gadget»Media</path>
+ <description>Collaborate on a map of placemarks, paths, and shapes
+ with other participants. Great for planning events and trips.
+ </description>
+ <new-content-title>New Map</new-content-title>
<new-content-textintro></new-content-textintro>
- <!-- This is a robot -->
- <enabled>false</enabled>
+ <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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -394,19 +422,19 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>Quick Notify</extensionName>
- <name>New Notification</name>
- <path>Gadget»Organization</path>
- <description>Quickly send a short email with a custom message to
- all participants.</description>
- <new-content-title>New Notification</new-content-title>
+ <extensionName>wavetube</extensionName>
+ <name>New Youtube video</name>
+ <path>Gadget»Media</path>
+ <description>Adds a YouTube player that displays the list of
+ viewers in real time
+ </description>
+ <new-content-title>New Youtube video</new-content-title>
<new-content-textintro></new-content-textintro>
- <!-- Disabled: not working in WIAB -->
- <enabled>false</enabled>
+ <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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -418,21 +446,21 @@
<participants>ask</participants>
</guiActionDescriptor>
-
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>MindMap</extensionName>
- <name>New MindMap</name>
- <path>Gadget»Organization</path>
- <description>Collaborate using a hierarchical mind map.
- </description>
- <new-content-title>New MindMap</new-content-title>
- <new-content-textintro></new-content-textintro>
+ <extensionName>Picasa Gadget</extensionName>
+ <name>New Album</name>
+ <path>Gadget»Media</path>
+ <description>Add a Picasa photo album to a wave.</description>
+ <new-content-title>New Album</new-content-title>
+ <new-content-textintro>Sorry, this gadget has problems with its
+ height. We hope this will be fixed soon
+ </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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -446,18 +474,21 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>Image</extensionName>
- <name>New Image</name>
+ <extensionName>twitter-search</extensionName>
+ <name>New twitter search</name>
<path>Gadget»Media</path>
- <description>Lets you insert, resize and annotate any image from
- the web.</description>
- <new-content-title>Edit this to insert, resize and annotate any image from the web</new-content-title>
- <new-content-textintro></new-content-textintro>
+ <description>Shows results from Twitter for a given search term.
+ Participants can edit to specify new term.
+ </description>
+ <new-content-title>Twitter search</new-content-title>
+ <new-content-textintro>Sorry, this gadget has problems with its
+ height. We hope this will be fixed soon
+ </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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -471,18 +502,21 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>massmob</extensionName>
- <name>New meeting</name>
- <path>Gadget»Calendar</path>
- <description>Call and speed-up of events as meeting, smartmobs,
- flashmobs, protest demonstrations, etc.</description>
- <new-content-title>New meeting</new-content-title>
- <new-content-textintro></new-content-textintro>
+ <extensionName>twitter-search</extensionName>
+ <name>New twitter search</name>
+ <path>Gadget»Media</path>
+ <description>Shows results from Twitter for a given search term.
+ Participants can edit to specify new term.
+ </description>
+ <new-content-title>Twitter search</new-content-title>
+ <new-content-textintro>Sorry, this gadget has problems with its
+ height. We hope this will be fixed soon
+ </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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -496,18 +530,19 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>pollo</extensionName>
- <name>New poll</name>
- <path>Gadget»Voting</path>
- <description>Make some poll (allow single and multiple polls))
+ <extensionName>wavetube</extensionName>
+ <name>New Youtube video</name>
+ <path>Gadget»Media</path>
+ <description>Adds a YouTube player that displays the list of
+ viewers in real time
</description>
- <new-content-title>New poll</new-content-title>
+ <new-content-title>New Youtube video</new-content-title>
<new-content-textintro></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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -519,21 +554,23 @@
<participants>ask</participants>
</guiActionDescriptor>
+ <!-- Tasks ================================================== -->
+
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>waffle</extensionName>
- <name>New meet coordination</name>
- <path>Gadget»Calendar</path>
- <description>Users are polled to determine the best time and date
- to meet
+ <extensionName>TaskToDo</extensionName>
+ <name>New To-Do list</name>
+ <path>Gadget»Tasks</path>
+ <description>Make your To-Do list and mark your progress.
</description>
- <new-content-title>New meet coordination</new-content-title>
+ <new-content-title>New To-Do list</new-content-title>
<new-content-textintro></new-content-textintro>
- <enabled>true</enabled>
+ <!-- Seems broken right now -->
+ <enabled>false</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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -547,18 +584,18 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>twitter-search</extensionName>
- <name>New twitter search</name>
- <path>Gadget»News</path>
- <description>Shows results from Twitter for a given search term.
- Participants can edit to specify new term.</description>
- <new-content-title>Twitter search</new-content-title>
- <new-content-textintro>Sorry, this gadget has problems with its height. We hope this will be fixed soon</new-content-textintro>
- <enabled>true</enabled>
+ <extensionName>tasklistbot</extensionName>
+ <name>New Task List</name>
+ <path>Gadget»Tasks</path>
+ <description></description>
+ <new-content-title>New Task List</new-content-title>
+ <new-content-textintro></new-content-textintro>
+ <!-- This is a robot -->
+ <enabled>false</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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -570,20 +607,24 @@
<participants>ask</participants>
</guiActionDescriptor>
+ <!-- Others ================================================ -->
+
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>wavetube</extensionName>
- <name>New Youtube video</name>
- <path>Gadget»Media</path>
- <description>Adds a YouTube player that displays the list of
- viewers in real time</description>
- <new-content-title>New Youtube video</new-content-title>
+ <extensionName>Shorten URL with goo.gl</extensionName>
+ <name>New Shorten URL</name>
+ <path>Gadget»Others</path>
+ <description>Shorten url with goo.gl, the new Google url
+ shortener.(http://goo.gl/)
+ </description>
+ <new-content-title>New Shorten URL</new-content-title>
<new-content-textintro></new-content-textintro>
- <enabled>true</enabled>
+ <!-- Disabled: Not useful for a new doc -->
+ <enabled>false</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="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
@@ -597,22 +638,56 @@
<guiActionDescriptor>
<type>wave-gadget</type>
- <extensionName>massmob</extensionName>
- <name>Add a meeting</name>
- <path>Gadget»Calendar</path>
- <description>Call and speed-up of events as meeting, smartmobs,
- flashmobs, protest demonstrations, etc.</description>
+ <extensionName>Quick Notify</extensionName>
+ <name>New Notification</name>
+ <path>Gadget»Others</path>
+ <description>Quickly send a short email with a custom message to
+ all participants.
+ </description>
+ <new-content-title>New Notification</new-content-title>
+ <new-content-textintro></new-content-textintro>
+ <!-- Disabled: not working in WIAB -->
<enabled>false</enabled>
<typeIds>
- <typeId origTypeId="docs.folder" destTypeId="docs.doc" />
+ <typeId origTypeId="docs.folder" destTypeId="docs.doc"/>
+ <typeId origTypeId="docs.root" destTypeId="docs.doc"/>
+ <typeId origTypeId="blogs.blog" destTypeId="blogs.post"/>
</typeIds>
<rol>
<!-- Administrator, Editor, Viewer -->
<rolRequired>Editor</rolRequired>
<authNeed>true</authNeed>
</rol>
+ <!-- only for new waves: anyone, onlymembers, onlyadmins, ask (not
+ used yet) -->
+ <participants>ask</participants>
</guiActionDescriptor>
+ <guiActionDescriptor>
+ <type>wave-gadget</type>
+ <extensionName>MindMap</extensionName>
+ <name>New MindMap</name>
+ <path>Gadget»Others</path>
+ <description>Collaborate using a hierarchical mind map.
+ </description>
+ <new-content-title>New MindMap</new-content-title>
+ <new-content-textintro></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"/>
+ </typeIds>
+ <rol>
+ <!-- Administrator, Editor, Viewer -->
+ <rolRequired>Editor</rolRequired>
+ <authNeed>true</authNeed>
+ </rol>
+ <!-- only for new waves: anyone, onlymembers, onlyadmins, ask (not
+ used yet) -->
+ <participants>ask</participants>
+ </guiActionDescriptor>
+
</guiActionDescriptors>
</kuneClientActions>
1
0
Author: vjrj_
Date: 2011-07-13 17:29:14 +0200 (Wed, 13 Jul 2011)
New Revision: 1452
Modified:
trunk/src/main/java/cc/kune/blogs/client/actions/BlogsNewMenu.java
trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java
trunk/src/main/java/cc/kune/chat/client/ChatInstances.java
trunk/src/main/java/cc/kune/chat/client/KuneBrowserFocusManager.java
trunk/src/main/java/cc/kune/chat/client/MediumAvatarDecoratorImpl.java
trunk/src/main/java/cc/kune/chat/client/SmallAvatarDecoratorImpl.java
trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieAction.java
trunk/src/main/java/cc/kune/chat/client/actions/NewRoomBtn.java
trunk/src/main/java/cc/kune/chat/client/actions/OpenChatAction.java
trunk/src/main/java/cc/kune/chat/client/actions/OpenRoomBtn.java
trunk/src/main/java/cc/kune/chat/client/actions/OpenRoomMenuItem.java
trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembers.java
trunk/src/main/java/cc/kune/chat/client/actions/conditions/IsNotBuddieCondition.java
trunk/src/main/java/cc/kune/chat/server/ChatManager.java
trunk/src/main/java/cc/kune/chat/server/ChatManagerDefault.java
trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.java
trunk/src/main/java/cc/kune/common/client/ui/dialogs/PromptTopDialog.java
trunk/src/main/java/cc/kune/common/client/utils/CSSUtils.java
trunk/src/main/java/cc/kune/core/client/actions/xml/NewGadgetAction.java
trunk/src/main/java/cc/kune/core/client/actions/xml/WaveExtension.java
trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java
trunk/src/main/java/cc/kune/core/client/actions/xml/XMLGuiActionDescriptor.java
trunk/src/main/java/cc/kune/core/client/actions/xml/XMLKuneClientActions.java
trunk/src/main/java/cc/kune/core/client/actions/xml/XMLRol.java
trunk/src/main/java/cc/kune/core/client/actions/xml/XMLTypeId.java
trunk/src/main/java/cc/kune/core/client/actions/xml/XMLWaveExtension.java
trunk/src/main/java/cc/kune/core/client/avatar/AvatarDecorator.java
trunk/src/main/java/cc/kune/core/client/avatar/MediumAvatarDecorator.java
trunk/src/main/java/cc/kune/core/client/avatar/SmallAvatarDecorator.java
trunk/src/main/java/cc/kune/core/client/events/WindowFocusEvent.java
trunk/src/main/java/cc/kune/core/client/init/NavigatorSupport.java
trunk/src/main/java/cc/kune/core/public/about.html
trunk/src/main/java/cc/kune/core/server/content/XMLActionReader.java
trunk/src/main/java/cc/kune/core/server/tool/ServerWaveTool.java
trunk/src/main/java/cc/kune/core/server/utils/UrlUtils.java
trunk/src/main/java/cc/kune/core/shared/dto/AbstractContentSimpleDTO.java
trunk/src/main/java/cc/kune/docs/client/actions/DocsFolderNewMenu.java
trunk/src/main/java/cc/kune/gspace/client/actions/NewMenuProvider.java
trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptUploadButton.java
trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityUploaderForm.java
trunk/src/main/java/cc/kune/gspace/client/themes/CurrentEntityTheme.java
trunk/src/main/java/cc/kune/gspace/client/themes/GSpaceThemeChangeEvent.java
trunk/src/main/java/cc/kune/gspace/client/themes/GSpaceThemeSelectorPanel.java
trunk/src/main/java/cc/kune/gspace/client/ui/footer/license/LicenseChangedEvent.java
trunk/src/main/java/cc/kune/pspace/client/PSpaceInDevelopment.java
trunk/src/main/java/cc/kune/wave/client/KuneWaveProfileManager.java
trunk/src/main/java/cc/kune/wave/server/KuneAgent.java
trunk/src/main/java/cc/kune/wiki/client/actions/WikiFolderNewMenu.java
trunk/src/test/java/cc/kune/core/client/actions/xml/XMLKuneClientActionsTest.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/PageObject.java
trunk/src/test/java/cc/kune/selenium/login/LoginPageObject.java
trunk/src/test/java/cc/kune/selenium/login/LoginSeleniumTests.java
trunk/src/test/java/cc/kune/selenium/tools/AbstractWebTester.java
trunk/src/test/java/cc/kune/selenium/tools/GenericWebTester.java
trunk/src/test/java/cc/kune/selenium/tools/I18nHelper.java
trunk/src/test/java/cc/kune/selenium/tools/I18nHelperTest.java
trunk/src/test/java/cc/kune/selenium/tools/Lorem.java
trunk/src/test/java/cc/kune/selenium/tools/PageObjectModule.java
trunk/src/test/java/cc/kune/selenium/tools/SeleniumConstants.java
trunk/src/test/java/cc/kune/selenium/tools/SeleniumModule.java
trunk/src/test/java/cc/kune/wave/server/KuneAgentTest.java
trunk/src/test/java/cc/kune/wave/server/KuneWaveMarkupTests.java
trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java
trunk/src/test/java/com/google/wave/splash/text/ContentUnrendererTest.java
Log:
More copyrights & abouts
Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsNewMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsNewMenu.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsNewMenu.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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;
Modified: trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client;
import cc.kune.common.client.ui.AbstractDecorator;
Modified: trunk/src/main/java/cc/kune/chat/client/ChatInstances.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatInstances.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/ChatInstances.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client;
import com.calclab.emite.core.client.xmpp.session.XmppSession;
Modified: trunk/src/main/java/cc/kune/chat/client/KuneBrowserFocusManager.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/KuneBrowserFocusManager.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/KuneBrowserFocusManager.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client;
import cc.kune.core.client.events.WindowFocusEvent;
Modified: trunk/src/main/java/cc/kune/chat/client/MediumAvatarDecoratorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/MediumAvatarDecoratorImpl.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/MediumAvatarDecoratorImpl.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client;
import cc.kune.core.client.avatar.MediumAvatarDecorator;
Modified: trunk/src/main/java/cc/kune/chat/client/SmallAvatarDecoratorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/SmallAvatarDecoratorImpl.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/SmallAvatarDecoratorImpl.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client;
import cc.kune.core.client.avatar.SmallAvatarDecorator;
Modified: trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieAction.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieAction.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieAction.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client.actions;
import cc.kune.chat.client.ChatClient;
Modified: trunk/src/main/java/cc/kune/chat/client/actions/NewRoomBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/NewRoomBtn.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/actions/NewRoomBtn.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client.actions;
import cc.kune.common.client.actions.ActionEvent;
Modified: trunk/src/main/java/cc/kune/chat/client/actions/OpenChatAction.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/OpenChatAction.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/actions/OpenChatAction.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client.actions;
import cc.kune.chat.client.ChatClient;
Modified: trunk/src/main/java/cc/kune/chat/client/actions/OpenRoomBtn.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/OpenRoomBtn.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/actions/OpenRoomBtn.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client.actions;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
Modified: trunk/src/main/java/cc/kune/chat/client/actions/OpenRoomMenuItem.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/OpenRoomMenuItem.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/actions/OpenRoomMenuItem.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client.actions;
import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
Modified: trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembers.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembers.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/actions/StartAssemblyWithMembers.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client.actions;
import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor;
Modified: trunk/src/main/java/cc/kune/chat/client/actions/conditions/IsNotBuddieCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/conditions/IsNotBuddieCondition.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/client/actions/conditions/IsNotBuddieCondition.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.client.actions.conditions;
import cc.kune.chat.client.ChatClient;
Modified: trunk/src/main/java/cc/kune/chat/server/ChatManager.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/server/ChatManager.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/server/ChatManager.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.server;
import cc.kune.core.shared.domain.utils.StateToken;
Modified: trunk/src/main/java/cc/kune/chat/server/ChatManagerDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/server/ChatManagerDefault.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/chat/server/ChatManagerDefault.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.chat.server;
import cc.kune.chat.shared.ChatConstants;
Modified: trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
package cc.kune.common.client.ui;
import cc.kune.common.client.tooltip.Tooltip;
Modified: trunk/src/main/java/cc/kune/common/client/ui/dialogs/PromptTopDialog.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/dialogs/PromptTopDialog.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/common/client/ui/dialogs/PromptTopDialog.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
package cc.kune.common.client.ui.dialogs;
import com.extjs.gxt.ui.client.widget.form.TextField;
Modified: trunk/src/main/java/cc/kune/common/client/utils/CSSUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/utils/CSSUtils.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/common/client/utils/CSSUtils.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * Copyright (C) 2007-2011 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
package cc.kune.common.client.utils;
import com.google.gwt.dom.client.Document;
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-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/NewGadgetAction.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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;
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/WaveExtension.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/WaveExtension.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/WaveExtension.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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;
public class WaveExtension {
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-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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 java.util.HashMap;
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/XMLGuiActionDescriptor.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/XMLGuiActionDescriptor.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLGuiActionDescriptor.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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 java.util.ArrayList;
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/XMLKuneClientActions.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/XMLKuneClientActions.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLKuneClientActions.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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 java.util.ArrayList;
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/XMLRol.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/XMLRol.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLRol.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.core.shared.dto.AccessRolDTO;
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/XMLTypeId.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/XMLTypeId.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLTypeId.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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 com.calclab.emite.core.client.packet.DelegatedPacket;
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/XMLWaveExtension.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/XMLWaveExtension.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLWaveExtension.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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 com.calclab.emite.core.client.packet.DelegatedPacket;
Modified: trunk/src/main/java/cc/kune/core/client/avatar/AvatarDecorator.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/avatar/AvatarDecorator.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/avatar/AvatarDecorator.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.avatar;
import com.google.gwt.user.client.ui.IsWidget;
Modified: trunk/src/main/java/cc/kune/core/client/avatar/MediumAvatarDecorator.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/avatar/MediumAvatarDecorator.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/avatar/MediumAvatarDecorator.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.avatar;
public interface MediumAvatarDecorator extends AvatarDecorator {
Modified: trunk/src/main/java/cc/kune/core/client/avatar/SmallAvatarDecorator.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/avatar/SmallAvatarDecorator.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/avatar/SmallAvatarDecorator.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.avatar;
public interface SmallAvatarDecorator extends AvatarDecorator {
Modified: trunk/src/main/java/cc/kune/core/client/events/WindowFocusEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/events/WindowFocusEvent.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/events/WindowFocusEvent.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.events;
import com.google.gwt.event.shared.EventHandler;
Modified: trunk/src/main/java/cc/kune/core/client/init/NavigatorSupport.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/init/NavigatorSupport.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/client/init/NavigatorSupport.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.init;
public interface NavigatorSupport {
Modified: trunk/src/main/java/cc/kune/core/public/about.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/about.html 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/public/about.html 2011-07-13 15:29:14 UTC (rev 1452)
@@ -24,7 +24,7 @@
</img>
</a>
</span>
-<p>Version 0.0.7 (r1377+c0)</p>
+<p>Version 0.0.8 (r1446+c0)</p>
<h1><a name="section_1">CREDITS</a></h1>
<h2><a name="section_1_1">Authors</a></h2>
@@ -226,7 +226,15 @@
<p>Copyright 2002-2007 Sun Microsystems, Inc.
This product is made available subject to the terms of GNU Lesser General
Public License Version 2.1. A copy of the LGPL license can be found
-<a href="http://www.openoffice.org/project/www/license.html">http://www.openoffice.org/project/www/license.html</a></p>
+<a href="http://www.openoffice.org/project/www/license.html">http://www.openoffice.org/project/www/license.html</a>
+</p>
+<p><strong>Default background of Public Space</strong>
+</p>
+<p>Jean-Pol GRANDMONT<br/>
+<a href="http://creativecommons.org/licenses/by/3.0/deed.en">http://creativecommons.org/licenses/by/3.0/deed.en</a>
+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>
</body>
</html>
Modified: trunk/src/main/java/cc/kune/core/server/content/XMLActionReader.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/content/XMLActionReader.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/server/content/XMLActionReader.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.server.content;
import java.io.File;
Modified: trunk/src/main/java/cc/kune/core/server/tool/ServerWaveTool.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/tool/ServerWaveTool.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/server/tool/ServerWaveTool.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.server.tool;
import java.net.URL;
Modified: trunk/src/main/java/cc/kune/core/server/utils/UrlUtils.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/utils/UrlUtils.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/server/utils/UrlUtils.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.server.utils;
import java.net.MalformedURLException;
Modified: trunk/src/main/java/cc/kune/core/shared/dto/AbstractContentSimpleDTO.java
===================================================================
--- trunk/src/main/java/cc/kune/core/shared/dto/AbstractContentSimpleDTO.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/core/shared/dto/AbstractContentSimpleDTO.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.shared.dto;
import cc.kune.core.shared.domain.utils.StateToken;
Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsFolderNewMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/docs/client/actions/DocsFolderNewMenu.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/docs/client/actions/DocsFolderNewMenu.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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;
Modified: trunk/src/main/java/cc/kune/gspace/client/actions/NewMenuProvider.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/actions/NewMenuProvider.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/gspace/client/actions/NewMenuProvider.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.gspace.client.actions;
import cc.kune.common.client.actions.ui.descrip.MenuDescriptor;
Modified: trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptUploadButton.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptUploadButton.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityOptUploadButton.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.gspace.client.options.logo;
import com.google.gwt.event.dom.client.ClickEvent;
Modified: trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityUploaderForm.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityUploaderForm.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/gspace/client/options/logo/EntityUploaderForm.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.gspace.client.options.logo;
import gwtupload.client.IFileInput.FileInputType;
Modified: trunk/src/main/java/cc/kune/gspace/client/themes/CurrentEntityTheme.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/themes/CurrentEntityTheme.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/gspace/client/themes/CurrentEntityTheme.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.gspace.client.themes;
public class CurrentEntityTheme {
Modified: trunk/src/main/java/cc/kune/gspace/client/themes/GSpaceThemeChangeEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/themes/GSpaceThemeChangeEvent.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/gspace/client/themes/GSpaceThemeChangeEvent.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.gspace.client.themes;
import com.google.gwt.event.shared.EventHandler;
Modified: trunk/src/main/java/cc/kune/gspace/client/themes/GSpaceThemeSelectorPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/themes/GSpaceThemeSelectorPanel.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/gspace/client/themes/GSpaceThemeSelectorPanel.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.gspace.client.themes;
import cc.kune.common.client.actions.ui.ActionExtensibleView;
Modified: trunk/src/main/java/cc/kune/gspace/client/ui/footer/license/LicenseChangedEvent.java
===================================================================
--- trunk/src/main/java/cc/kune/gspace/client/ui/footer/license/LicenseChangedEvent.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/gspace/client/ui/footer/license/LicenseChangedEvent.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.gspace.client.ui.footer.license;
import com.google.gwt.event.shared.EventHandler;
Modified: trunk/src/main/java/cc/kune/pspace/client/PSpaceInDevelopment.java
===================================================================
--- trunk/src/main/java/cc/kune/pspace/client/PSpaceInDevelopment.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/pspace/client/PSpaceInDevelopment.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.pspace.client;
import cc.kune.core.client.resources.CoreResources;
Modified: trunk/src/main/java/cc/kune/wave/client/KuneWaveProfileManager.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/client/KuneWaveProfileManager.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/wave/client/KuneWaveProfileManager.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.wave.client;
import org.waveprotocol.box.webclient.client.Session;
Modified: trunk/src/main/java/cc/kune/wave/server/KuneAgent.java
===================================================================
--- trunk/src/main/java/cc/kune/wave/server/KuneAgent.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/wave/server/KuneAgent.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.wave.server;
import java.io.IOException;
Modified: trunk/src/main/java/cc/kune/wiki/client/actions/WikiFolderNewMenu.java
===================================================================
--- trunk/src/main/java/cc/kune/wiki/client/actions/WikiFolderNewMenu.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiFolderNewMenu.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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;
Modified: trunk/src/test/java/cc/kune/core/client/actions/xml/XMLKuneClientActionsTest.java
===================================================================
--- trunk/src/test/java/cc/kune/core/client/actions/xml/XMLKuneClientActionsTest.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/core/client/actions/xml/XMLKuneClientActionsTest.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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 static org.junit.Assert.assertNotNull;
Modified: trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/KuneSeleniumDefaults.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium;
import org.apache.commons.logging.Log;
Modified: trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/KuneSeleniumTest.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium;
import java.text.DateFormat;
Modified: trunk/src/test/java/cc/kune/selenium/PageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/PageObject.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/PageObject.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium;
import org.apache.commons.logging.Log;
Modified: trunk/src/test/java/cc/kune/selenium/login/LoginPageObject.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/login/LoginPageObject.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/login/LoginPageObject.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium.login;
import org.openqa.selenium.RenderedWebElement;
Modified: trunk/src/test/java/cc/kune/selenium/login/LoginSeleniumTests.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/login/LoginSeleniumTests.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/login/LoginSeleniumTests.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium.login;
import org.testng.annotations.Test;
Modified: trunk/src/test/java/cc/kune/selenium/tools/AbstractWebTester.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/tools/AbstractWebTester.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/tools/AbstractWebTester.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium.tools;
import org.openqa.selenium.By;
Modified: trunk/src/test/java/cc/kune/selenium/tools/GenericWebTester.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/tools/GenericWebTester.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/tools/GenericWebTester.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium.tools;
import org.openqa.selenium.WebDriver;
Modified: trunk/src/test/java/cc/kune/selenium/tools/I18nHelper.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/tools/I18nHelper.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/tools/I18nHelper.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium.tools;
import java.lang.reflect.Method;
Modified: trunk/src/test/java/cc/kune/selenium/tools/I18nHelperTest.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/tools/I18nHelperTest.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/tools/I18nHelperTest.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium.tools;
import static org.junit.Assert.assertEquals;
Modified: trunk/src/test/java/cc/kune/selenium/tools/Lorem.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/tools/Lorem.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/tools/Lorem.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium.tools;
public final class Lorem {
Modified: trunk/src/test/java/cc/kune/selenium/tools/PageObjectModule.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/tools/PageObjectModule.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/tools/PageObjectModule.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium.tools;
import org.openqa.selenium.support.PageFactory;
Modified: trunk/src/test/java/cc/kune/selenium/tools/SeleniumConstants.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/tools/SeleniumConstants.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/tools/SeleniumConstants.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium.tools;
public final class SeleniumConstants {
Modified: trunk/src/test/java/cc/kune/selenium/tools/SeleniumModule.java
===================================================================
--- trunk/src/test/java/cc/kune/selenium/tools/SeleniumModule.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/selenium/tools/SeleniumModule.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.selenium.tools;
import org.openqa.selenium.WebDriver;
Modified: trunk/src/test/java/cc/kune/wave/server/KuneAgentTest.java
===================================================================
--- trunk/src/test/java/cc/kune/wave/server/KuneAgentTest.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/wave/server/KuneAgentTest.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.wave.server;
import static org.junit.Assert.assertEquals;
Modified: trunk/src/test/java/cc/kune/wave/server/KuneWaveMarkupTests.java
===================================================================
--- trunk/src/test/java/cc/kune/wave/server/KuneWaveMarkupTests.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/cc/kune/wave/server/KuneWaveMarkupTests.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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.wave.server;
import static org.junit.Assert.assertNotNull;
Modified: trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java
===================================================================
--- trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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 com.google.wave.splash.text;
import org.junit.Ignore;
Modified: trunk/src/test/java/com/google/wave/splash/text/ContentUnrendererTest.java
===================================================================
--- trunk/src/test/java/com/google/wave/splash/text/ContentUnrendererTest.java 2011-07-13 15:25:35 UTC (rev 1451)
+++ trunk/src/test/java/com/google/wave/splash/text/ContentUnrendererTest.java 2011-07-13 15:29:14 UTC (rev 1452)
@@ -1,3 +1,22 @@
+/*
+ *
+ * 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 com.google.wave.splash.text;
import static org.junit.Assert.assertEquals;
1
0
13 Jul '11
Author: vjrj_
Date: 2011-07-13 17:25:35 +0200 (Wed, 13 Jul 2011)
New Revision: 1451
Modified:
trunk/img/webtemplate/theme-palettes.svg
trunk/src/main/resources/kune.properties
Log:
themed improved
Modified: trunk/img/webtemplate/theme-palettes.svg
===================================================================
--- trunk/img/webtemplate/theme-palettes.svg 2011-07-13 12:21:02 UTC (rev 1450)
+++ trunk/img/webtemplate/theme-palettes.svg 2011-07-13 15:25:35 UTC (rev 1451)
@@ -27,7 +27,7 @@
inkscape:pageshadow="2"
inkscape:zoom="1"
inkscape:cx="346.17698"
- inkscape:cy="-166.02205"
+ inkscape:cy="-246.02205"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
@@ -44,7 +44,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>
@@ -72,7 +72,7 @@
height="40"
width="150"
id="rect7959-4"
- style="color:#000000;fill:#e6e6e6;fill-opacity:0.94901961;fill-rule:nonzero;stroke:none;stroke-width:0.73427981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ style="color:#000000;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:#ffffff;fill-opacity:0.94901961;fill-rule:nonzero;stroke:none;stroke-width:0.73427981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7961-9"
@@ -140,7 +140,7 @@
height="40"
width="150"
id="rect7983-4"
- style="color:#000000;fill:#e6e6e6;fill-opacity:0.94901961;fill-rule:nonzero;stroke:none;stroke-width:0.73427981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ style="color:#000000;fill:#e6e6e6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:#ffffff;fill-opacity:0.94901961;fill-rule:nonzero;stroke:none;stroke-width:0.73427981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7985-7"
@@ -375,7 +375,7 @@
id="rect7559"
style="color:#000000;fill:#9753aa;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
- style="color:#000000;fill:#e26fff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#db79f4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7561"
width="150"
height="40"
@@ -441,7 +441,7 @@
height="40"
width="150"
id="rect7583"
- style="color:#000000;fill:#c653e2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ style="color:#000000;fill:#b852d2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7585"
@@ -501,7 +501,7 @@
x="189"
y="254.36218">lorem </tspan></text>
<rect
- style="color:#000000;fill:#de8787;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#ec3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7605"
width="150"
height="40"
@@ -515,7 +515,7 @@
id="rect7607"
style="color:#000000;fill:#d35f5f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
- style="color:#000000;fill:#c04141;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#9f0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7609"
width="150"
height="40"
@@ -527,10 +527,10 @@
height="40"
width="150"
id="rect7611"
- style="color:#000000;fill:#ff8080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ style="color:#000000;fill:#c52b2b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
xml:space="preserve"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;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:#aa0000;fill-opacity:0.94901961;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;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:#ffffff;fill-opacity:0.94901961000000001;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
x="38"
y="450.36218"
id="text7613"
@@ -583,7 +583,7 @@
id="rect7631"
style="color:#000000;fill:#ffe0e0;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
- style="color:#000000;fill:#b86262;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#ec3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7633"
width="150"
height="40"
@@ -795,7 +795,7 @@
x="189"
y="654.36218">lorem </tspan></text>
<rect
- style="color:#000000;fill:#ffe680;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#e7cc5f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7705"
width="150"
height="40"
@@ -821,7 +821,7 @@
height="40"
width="150"
id="rect7711"
- style="color:#000000;fill:#f5cc22;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ style="color:#000000;fill:#dcbc3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;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:#151515;fill-opacity:0.94901961;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
@@ -1241,7 +1241,7 @@
height="40"
width="150"
id="rect7855"
- style="color:#000000;fill:#ffe7d7;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ style="color:#000000;fill:#e8bc9e;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:#eac9b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7857"
@@ -1551,7 +1551,7 @@
id="rect7959"
style="color:#000000;fill:#b15278;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
- style="color:#000000;fill:#ff74ab;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#e777a4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect7961"
width="150"
height="40"
@@ -1983,7 +1983,7 @@
height="40"
width="150"
id="rect3367"
- style="color:#000000;fill:#000055;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#0c1f3d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/highcontrast.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
@@ -2003,12 +2003,12 @@
height="40"
width="150"
id="rect3371"
- style="color:#000000;fill:#00002b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/highcontrast.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
- style="color:#000000;fill:#000055;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#0c2855;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3373"
width="150"
height="40"
@@ -2077,7 +2077,7 @@
x="38"
y="1150.3622">lorem </tspan></text>
<rect
- style="color:#000000;fill:#0000aa;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#162d50;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3393"
width="150"
height="40"
@@ -2092,12 +2092,12 @@
height="40"
width="150"
id="rect3395"
- style="color:#000000;fill:#00112b;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/highcontrast.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<rect
- style="color:#000000;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3397"
width="150"
height="40"
@@ -2267,7 +2267,7 @@
height="40"
width="150"
id="rect4215"
- style="color:#000000;fill:#000000;fill-opacity:0.94901961000000001;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ style="color:#000000;fill:#ffffff;fill-opacity:0.94901961;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
style="color:#000000;fill:#000000;fill-opacity:0.94901961000000001;fill-rule:nonzero;stroke:none;stroke-width:0.73427980999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4217"
@@ -2291,7 +2291,7 @@
id="text4223"
y="1313.1414"
x="561.34814"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;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:#ffffff;fill-opacity:0.94901961000000001;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ style="font-size:18px;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:#000000;fill-opacity:0.94901961000000001;fill-rule:nonzero;stroke:none;stroke-width:1.40678155000000005;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
xml:space="preserve"><tspan
y="1313.1414"
x="561.34814"
Modified: trunk/src/main/resources/kune.properties
===================================================================
--- trunk/src/main/resources/kune.properties 2011-07-13 12:21:02 UTC (rev 1450)
+++ trunk/src/main/resources/kune.properties 2011-07-13 15:25:35 UTC (rev 1451)
@@ -41,29 +41,29 @@
kune.wsthemes.default.colors = #FFF,#FFF,#FFF,#FFF,#552200,#FFF,#a05a2c,#a05a2c
kune.wsthemes.green.backgrounds = #abde88, #bfe7a6, #5a8141, #749b5a, #d5efc3, #749b5a, #FFF, #eaf7e1
kune.wsthemes.green.colors = #225500, #225500, #FFF, #FFF, #17280b, #FFF, #225500, #225500
-kune.wsthemes.purple.backgrounds = #ddaee9, #f4c6ff, #9753aa, #e26fff, #f4e4f8, #c653e2, #FFF, #f9e3ff
+kune.wsthemes.purple.backgrounds = #ddaee9, #f4c6ff, #9753aa, #db79f4, #f4e4f8, #b852d2, #FFF, #f9e3ff
kune.wsthemes.purple.colors = #FFF, #FFF, #FFF, #FFF, #6d0c87, #FFF, #6d0c87, #6d0c87
kune.wsthemes.grey.backgrounds = #cfcfcf, #b7b7b7, #565656, #868686, #ededed, #6e6e6e, #FFF, #e7e7e7
kune.wsthemes.grey.colors = #4d4d4d, #4d4d4d, #FFF, #FFF, #000, #FFF, #4d4d4d, #4d4d4d
-kune.wsthemes.red.backgrounds = #de8787, #d35f5f, #c04141, #ff8080, #ffe0e0, #b86262, #FFF, #f7e1e1
-kune.wsthemes.red.colors = #aa0000, #FFF, #FFF, #FFF, #a02c2c, #FFF, #a02c2c, #a02c2c
-kune.wsthemes.sahara.backgrounds = #ffe7d7, #eac9b3, #d59367, #eac9b3, #f7ece4, #e0ae8d, #FFF, #f7ece4
+kune.wsthemes.red.backgrounds = #ec3a3a, #d35f5f, #9f0000, #c52b2b, #ffe0e0, #ec3a3a, #FFF, #f7e1e1
+kune.wsthemes.red.colors = #FFF, #FFF, #FFF, #FFF, #a02c2c, #FFF, #a02c2c, #a02c2c
+kune.wsthemes.sahara.backgrounds = #e8bc9e, #eac9b3, #d59367, #eac9b3, #f7ece4, #e0ae8d, #FFF, #f7ece4
kune.wsthemes.sahara.colors = #502d16, #502d16, #552200, #502d16, #502d16, #784421, #d45500, #d45500
kune.wsthemes.blue.backgrounds = #8cbaff, #87aade, #5280c5, #528ce2, #c5dcff, #528ce2, #FFF, #c9d8f0
kune.wsthemes.blue.colors = #FFF, #FFF, #FFF, #FFF, #0044aa, #FFF, #0044aa, #0044aa
kune.wsthemes.redblack.backgrounds = #a14242, #b96363, #424242, #a14242, #ffe0e0, #a14242, #FFF, #f7e1e1
kune.wsthemes.redblack.colors = #FFF, #FFF, #FFF, #FFF, #800000, #FFF, #800000, #800000
-kune.wsthemes.camp.backgrounds = #ffe680, #a49e87, #3c3c3c, #f5cc22, #f6f1de, #4f472b, #FFF, #fff8dc
+kune.wsthemes.camp.backgrounds = #e7cc5f, #a49e87, #3c3c3c, #dcbc3a, #f6f1de, #4f472b, #FFF, #fff8dc
kune.wsthemes.camp.colors = #151515, #151515, #fecc00, #151515, #000000, #f3c401, #151515, #151515
-kune.wsthemes.pink.backgrounds = #e49db9, #edbdd0, #b15278, #ff74ab, #ffddf8, #d25b8b, #FFF, #f6dee8
+kune.wsthemes.pink.backgrounds = #e49db9, #edbdd0, #b15278, #e777a4, #ffddf8, #d25b8b, #FFF, #f6dee8
kune.wsthemes.pink.colors = #FFF, #FFF, #FFF, #FFF, #2b0022, #FFF, #800066, #800066
-kune.wsthemes.highcontrast.backgrounds = #000055, #162d50, #00002b, #000055, #0000aa, #00112b, #b3b3b3, #162d50
+kune.wsthemes.highcontrast.backgrounds = #0c1f3d, #162d50, #000000, #0c2855, #162d50, #000000, #FFF, #162d50
kune.wsthemes.highcontrast.colors = #FFF, #FFF, #FFF, #FFF, #FFF, #FFF, #000, #FFF
-kune.wsthemes.whiteblack.backgrounds = #FFF, #FFF, #e6e6e6, #FFF, #FFF, #e6e6e6, #FFF, #FFF
+kune.wsthemes.whiteblack.backgrounds = #FFF, #FFF, #e3dbdb, #FFF, #FFF, #e3dbdb, #FFF, #FFF
kune.wsthemes.whiteblack.colors = #000, #000, #000, #000, #000, #000, #000, #000
-kune.wsthemes.blackwhite.backgrounds = #000, #000, #808080, #000, #000, #e6e6e6, #000, #000
-kune.wsthemes.blackwhite.colors = #FFF, #FFF, #000, #FFF, #FFF, #000, #FFF, #FFF
-kune.wsthemes.transparent.backgrounds = transparent, transparent, #e6e6e6, transparent, transparent, #e6e6e6, transparent, transparent
+kune.wsthemes.blackwhite.backgrounds = #000, #000, #808080, #000, #000, #e3dbdb, #FFF, #000
+kune.wsthemes.blackwhite.colors = #FFF, #FFF, #000, #FFF, #FFF, #000, #000, #FFF
+kune.wsthemes.transparent.backgrounds = transparent, transparent, #e3dbdb, transparent, transparent, #e3dbdb, transparent, transparent
kune.wsthemes.transparent.colors = #000, #000, #000, #000, #000, #000, #000, #000
### Gallery options
1
0
r1450 - in trunk/src/main: java/cc/kune/core/client/rpcservices java/cc/kune/core/client/sn/actions java/cc/kune/core/client/sn/actions/conditions java/cc/kune/core/client/sn/actions/registry java/cc/kune/core/public java/cc/kune/core/server/rpc webapp/others/splash/js
by Vicente J. Ruiz Jurado 13 Jul '11
by Vicente J. Ruiz Jurado 13 Jul '11
13 Jul '11
Author: vjrj_
Date: 2011-07-13 14:21:02 +0200 (Wed, 13 Jul 2011)
New Revision: 1450
Added:
trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromCurrentGroupAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromThisGroupAction.java
trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/ImPartOfGroupCondition.java
Removed:
trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinGroupAction.java
Modified:
trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkService.java
trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkServiceAsync.java
trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java
trunk/src/main/java/cc/kune/core/client/sn/actions/registry/UserSNMenuItemsRegistry.java
trunk/src/main/java/cc/kune/core/public/ws.html
trunk/src/main/java/cc/kune/core/server/rpc/SocialNetworkRPC.java
trunk/src/main/webapp/others/splash/js/common_client.js
trunk/src/main/webapp/others/splash/js/permalink_client.js
Log:
gadget render when offline; Unjoin from personal page
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkService.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkService.java 2011-07-13 02:03:09 UTC (rev 1449)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkService.java 2011-07-13 12:21:02 UTC (rev 1450)
@@ -30,33 +30,34 @@
@RemoteServiceRelativePath("SocialNetworkService")
public interface SocialNetworkService extends RemoteService {
- SocialNetworkDataDTO acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName)
- throws DefaultException;
+ SocialNetworkDataDTO acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName)
+ throws DefaultException;
- SocialNetworkDataDTO addAdminMember(String hash, StateToken groupToken, String groupToAddShortName)
- throws DefaultException;
+ SocialNetworkDataDTO addAdminMember(String hash, StateToken groupToken, String groupToAddShortName)
+ throws DefaultException;
- SocialNetworkDataDTO addCollabMember(String hash, StateToken groupToken, String groupToAddShortName)
- throws DefaultException;
+ SocialNetworkDataDTO addCollabMember(String hash, StateToken groupToken, String groupToAddShortName)
+ throws DefaultException;
- SocialNetworkDataDTO addViewerMember(String hash, StateToken groupToken, String groupToAddShortName)
- throws DefaultException;
+ SocialNetworkDataDTO addViewerMember(String hash, StateToken groupToken, String groupToAddShortName)
+ throws DefaultException;
- SocialNetworkDataDTO deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName)
- throws DefaultException;
+ SocialNetworkDataDTO deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName)
+ throws DefaultException;
- SocialNetworkDataDTO denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName)
- throws DefaultException;
+ SocialNetworkDataDTO denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName)
+ throws DefaultException;
- SocialNetworkDataDTO getSocialNetwork(String hash, StateToken groupToken) throws DefaultException;
+ SocialNetworkDataDTO getSocialNetwork(String hash, StateToken groupToken) throws DefaultException;
- SocialNetworkRequestResult requestJoinGroup(String hash, StateToken groupToken) throws DefaultException;
+ SocialNetworkRequestResult requestJoinGroup(String hash, StateToken groupToken)
+ throws DefaultException;
- SocialNetworkDataDTO setAdminAsCollab(String hash, StateToken groupToken, String groupToSetCollabShortName)
- throws DefaultException;
+ SocialNetworkDataDTO setAdminAsCollab(String hash, StateToken groupToken,
+ String groupToSetCollabShortName) throws DefaultException;
- SocialNetworkDataDTO setCollabAsAdmin(String hash, StateToken groupToken, String groupToSetAdminShortName)
- throws DefaultException;
+ SocialNetworkDataDTO setCollabAsAdmin(String hash, StateToken groupToken,
+ String groupToSetAdminShortName) throws DefaultException;
- SocialNetworkDataDTO unJoinGroup(String hash, StateToken groupToken) throws DefaultException;
+ void unJoinGroup(String hash, StateToken groupToken) throws DefaultException;
}
Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkServiceAsync.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkServiceAsync.java 2011-07-13 02:03:09 UTC (rev 1449)
+++ trunk/src/main/java/cc/kune/core/client/rpcservices/SocialNetworkServiceAsync.java 2011-07-13 12:21:02 UTC (rev 1450)
@@ -19,7 +19,6 @@
*/
package cc.kune.core.client.rpcservices;
-
import cc.kune.core.shared.domain.utils.StateToken;
import cc.kune.core.shared.dto.SocialNetworkDataDTO;
import cc.kune.core.shared.dto.SocialNetworkRequestResult;
@@ -28,33 +27,34 @@
public interface SocialNetworkServiceAsync {
- void acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
+ void acceptJoinGroup(String hash, StateToken groupToken, String groupToAcceptShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
- void addAdminMember(String hash, StateToken groupToken, String groupToAddShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
+ void addAdminMember(String hash, StateToken groupToken, String groupToAddShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
- void addCollabMember(String hash, StateToken groupToken, String groupToAddShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
+ void addCollabMember(String hash, StateToken groupToken, String groupToAddShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
- void addViewerMember(String hash, StateToken groupToken, String groupToAddShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
+ void addViewerMember(String hash, StateToken groupToken, String groupToAddShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
- void deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
+ void deleteMember(String hash, StateToken groupToken, String groupToDeleteShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
- void denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
+ void denyJoinGroup(String hash, StateToken groupToken, String groupToDenyShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
- void getSocialNetwork(String hash, StateToken groupToken, AsyncCallback<SocialNetworkDataDTO> callback);
+ void getSocialNetwork(String hash, StateToken groupToken, AsyncCallback<SocialNetworkDataDTO> callback);
- void requestJoinGroup(String hash, StateToken groupToken, AsyncCallback<SocialNetworkRequestResult> callback);
+ void requestJoinGroup(String hash, StateToken groupToken,
+ AsyncCallback<SocialNetworkRequestResult> callback);
- void setAdminAsCollab(String hash, StateToken groupToken, String groupToSetCollabShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
+ void setAdminAsCollab(String hash, StateToken groupToken, String groupToSetCollabShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
- void setCollabAsAdmin(String hash, StateToken groupToken, String groupToSetAdminShortName,
- AsyncCallback<SocialNetworkDataDTO> callback);
+ void setCollabAsAdmin(String hash, StateToken groupToken, String groupToSetAdminShortName,
+ AsyncCallback<SocialNetworkDataDTO> callback);
- void unJoinGroup(String hash, StateToken groupToken, AsyncCallback<SocialNetworkDataDTO> callback);
+ void unJoinGroup(String hash, StateToken groupToken, AsyncCallback<Void> callback);
}
Added: trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromCurrentGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromCurrentGroupAction.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromCurrentGroupAction.java 2011-07-13 12:21:02 UTC (rev 1450)
@@ -0,0 +1,73 @@
+/*
+ *
+ * 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.sn.actions;
+
+import cc.kune.common.client.actions.Action;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.client.utils.OnAcceptCallback;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.state.AccessRightsClientManager;
+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 com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class UnJoinFromCurrentGroupAction extends SNRolAction {
+
+ @Inject
+ public UnJoinFromCurrentGroupAction(final StateManager stateManager, final Session session,
+ final I18nTranslationService i18n, final CoreResources res,
+ final Provider<SocialNetworkServiceAsync> snServiceProvider,
+ final AccessRightsClientManager rightsClientManager) {
+ super(stateManager, session, i18n, res, snServiceProvider, rightsClientManager, AccessRolDTO.Editor,
+ true, false, true);
+ putValue(NAME, i18n.t("Leave this group"));
+ putValue(SHORT_DESCRIPTION, i18n.t("Do not participate anymore in this group"));
+ putValue(Action.SMALL_ICON, res.del());
+ putValue(Action.STYLES, "k-sn-join");
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ NotifyUser.askConfirmation(i18n.t("Leave this group"), i18n.t("Are you sure?"),
+ new OnAcceptCallback() {
+ @Override
+ public void onSuccess() {
+ NotifyUser.showProgressProcessing();
+ snServiceProvider.get().unJoinGroup(session.getUserHash(),
+ session.getCurrentState().getStateToken(), new AsyncCallbackSimple<Void>() {
+ @Override
+ public void onSuccess(final Void result) {
+ NotifyUser.hideProgress();
+ NotifyUser.info(i18n.t("Removed as member"));
+ stateManager.refreshCurrentGroupState();
+ }
+ });
+ }
+ });
+ }
+
+}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromThisGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromThisGroupAction.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinFromThisGroupAction.java 2011-07-13 12:21:02 UTC (rev 1450)
@@ -0,0 +1,83 @@
+/*
+ *
+ * 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.sn.actions;
+
+import cc.kune.common.client.actions.Action;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.common.client.notify.NotifyUser;
+import cc.kune.common.client.utils.OnAcceptCallback;
+import cc.kune.core.client.actions.RolAction;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
+import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
+import cc.kune.core.client.state.AccessRightsClientManager;
+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.dto.GroupDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class UnJoinFromThisGroupAction extends RolAction {
+
+ private final I18nTranslationService i18n;
+ private final Session session;
+ private final Provider<SocialNetworkServiceAsync> snServiceProvider;
+ private final StateManager stateManager;
+
+ @Inject
+ public UnJoinFromThisGroupAction(final StateManager stateManager, final Session session,
+ final I18nTranslationService i18n, final CoreResources res,
+ final Provider<SocialNetworkServiceAsync> snServiceProvider,
+ final AccessRightsClientManager rightsClientManager) {
+ super(AccessRolDTO.Editor, true);
+ this.stateManager = stateManager;
+ this.session = session;
+ this.i18n = i18n;
+ this.snServiceProvider = snServiceProvider;
+ putValue(NAME, i18n.t("Leave this group"));
+ putValue(SHORT_DESCRIPTION, i18n.t("Do not participate anymore in this group"));
+ putValue(Action.SMALL_ICON, res.del());
+ putValue(Action.STYLES, "k-sn-join");
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ NotifyUser.askConfirmation(i18n.t("Leave this group"), i18n.t("Are you sure?"),
+ new OnAcceptCallback() {
+ @Override
+ public void onSuccess() {
+ NotifyUser.showProgressProcessing();
+ snServiceProvider.get().unJoinGroup(session.getUserHash(),
+ ((GroupDTO) event.getTarget()).getStateToken(), new AsyncCallbackSimple<Void>() {
+ @Override
+ public void onSuccess(final Void result) {
+ NotifyUser.hideProgress();
+ NotifyUser.info(i18n.t("Removed as member"));
+ stateManager.refreshCurrentGroupState();
+ }
+ });
+ }
+ });
+ }
+
+}
\ No newline at end of file
Deleted: trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinGroupAction.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinGroupAction.java 2011-07-13 02:03:09 UTC (rev 1449)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/UnJoinGroupAction.java 2011-07-13 12:21:02 UTC (rev 1450)
@@ -1,75 +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.core.client.sn.actions;
-
-import cc.kune.common.client.actions.Action;
-import cc.kune.common.client.actions.ActionEvent;
-import cc.kune.common.client.notify.NotifyUser;
-import cc.kune.common.client.utils.OnAcceptCallback;
-import cc.kune.core.client.resources.CoreResources;
-import cc.kune.core.client.rpcservices.AsyncCallbackSimple;
-import cc.kune.core.client.rpcservices.SocialNetworkServiceAsync;
-import cc.kune.core.client.state.AccessRightsClientManager;
-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.dto.SocialNetworkDataDTO;
-import cc.kune.core.shared.i18n.I18nTranslationService;
-
-import com.google.inject.Inject;
-import com.google.inject.Provider;
-
-public class UnJoinGroupAction extends SNRolAction {
-
- @Inject
- public UnJoinGroupAction(final StateManager stateManager, final Session session, final I18nTranslationService i18n,
- final CoreResources res, final Provider<SocialNetworkServiceAsync> snServiceProvider,
- final AccessRightsClientManager rightsClientManager) {
- super(stateManager, session, i18n, res, snServiceProvider, rightsClientManager, AccessRolDTO.Editor, true,
- false, true);
- putValue(NAME, i18n.t("Leave this group"));
- putValue(SHORT_DESCRIPTION, i18n.t("Do not participate anymore in this group"));
- putValue(Action.SMALL_ICON, res.del());
- putValue(Action.STYLES, "k-sn-join");
- }
-
- @Override
- public void actionPerformed(final ActionEvent event) {
- NotifyUser.askConfirmation(i18n.t("Leave this group"), i18n.t("Are you sure?"), new OnAcceptCallback() {
- @Override
- public void onSuccess() {
- NotifyUser.showProgressProcessing();
- snServiceProvider.get().unJoinGroup(session.getUserHash(), session.getCurrentState().getStateToken(),
- new AsyncCallbackSimple<SocialNetworkDataDTO>() {
- @Override
- public void onSuccess(final SocialNetworkDataDTO result) {
- NotifyUser.hideProgress();
- NotifyUser.info(i18n.t("Removed as member"));
- stateManager.refreshCurrentGroupState();
- // in the future with user info:
- // stateManager.reloadSocialNetwork((SocialNetworkResultDTO)
- // result);
- }
- });
- }
- });
- }
-
-}
\ No newline at end of file
Added: trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/ImPartOfGroupCondition.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/ImPartOfGroupCondition.java (rev 0)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/conditions/ImPartOfGroupCondition.java 2011-07-13 12:21:02 UTC (rev 1450)
@@ -0,0 +1,60 @@
+/*
+ *
+ * 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.sn.actions.conditions;
+
+import cc.kune.common.client.actions.ui.descrip.GuiActionDescrip;
+import cc.kune.common.client.actions.ui.descrip.GuiAddCondition;
+import cc.kune.core.client.state.Session;
+import cc.kune.core.shared.dto.GroupDTO;
+import cc.kune.core.shared.dto.UserSimpleDTO;
+
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+
+@Singleton
+public class ImPartOfGroupCondition implements GuiAddCondition {
+
+ private final Session session;
+
+ @Inject
+ public ImPartOfGroupCondition(final Session session) {
+ this.session = session;
+ }
+
+ @Override
+ public boolean mustBeAdded(final GuiActionDescrip descr) {
+ final Object target = descr.getTarget();
+ if (target instanceof UserSimpleDTO) {
+ return false;
+ }
+ final GroupDTO targetGroup = (GroupDTO) target;
+ for (final GroupDTO adminIn : session.getCurrentUserInfo().getGroupsIsAdmin()) {
+ if (adminIn.equals(targetGroup)) {
+ return true;
+ }
+ }
+ for (final GroupDTO collabIn : session.getCurrentUserInfo().getGroupsIsCollab()) {
+ if (collabIn.equals(targetGroup)) {
+ return true;
+ }
+ }
+ return false;
+ }
+}
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java 2011-07-13 02:03:09 UTC (rev 1449)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java 2011-07-13 12:21:02 UTC (rev 1450)
@@ -30,7 +30,7 @@
import cc.kune.core.client.sn.actions.JoinGroupAction;
import cc.kune.core.client.sn.actions.MembersModerationMenuItem;
import cc.kune.core.client.sn.actions.MembersVisibilityMenuItem;
-import cc.kune.core.client.sn.actions.UnJoinGroupAction;
+import cc.kune.core.client.sn.actions.UnJoinFromCurrentGroupAction;
import cc.kune.core.client.sn.actions.conditions.IsGroupCondition;
import cc.kune.core.client.sn.actions.conditions.IsLoggedCondition;
import cc.kune.core.client.state.Session;
@@ -66,7 +66,7 @@
final I18nTranslationService i18n, final Provider<MembersVisibilityMenuItem> membersVisibility,
final Provider<MembersModerationMenuItem> membersModeration, final CoreResources res,
final IsLoggedCondition isLoggedCondition, final JoinGroupAction joinGroupAction,
- final IsGroupCondition isGroupCondition, final UnJoinGroupAction unJoinGroupAction) {
+ final IsGroupCondition isGroupCondition, final UnJoinFromCurrentGroupAction unJoinGroupAction) {
OPTIONS_MENU.withToolTip(i18n.t("Options")).withIcon(res.arrowdownsitebar()).withStyles(
OPTIONS_STYLES);
final GuiActionDescrip optionsTitle = new MenuTitleItemDescriptor(i18n.t("Options")).withParent(OPTIONS_MENU);
@@ -132,7 +132,6 @@
closedItem.setChecked(true);
break;
}
- unJoinBtn.setVisible(session.isLogged());
}
});
}
Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/UserSNMenuItemsRegistry.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/UserSNMenuItemsRegistry.java 2011-07-13 02:03:09 UTC (rev 1449)
+++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/UserSNMenuItemsRegistry.java 2011-07-13 12:21:02 UTC (rev 1450)
@@ -28,7 +28,8 @@
import cc.kune.core.client.sn.actions.GotoPersonAction;
import cc.kune.core.client.sn.actions.GotoYourHomePageAction;
import cc.kune.core.client.sn.actions.RemoveMemberAction;
-import cc.kune.core.client.sn.actions.UnJoinGroupAction;
+import cc.kune.core.client.sn.actions.UnJoinFromThisGroupAction;
+import cc.kune.core.client.sn.actions.conditions.ImPartOfGroupCondition;
import cc.kune.core.client.sn.actions.conditions.IsCurrentStateAdministrableCondition;
import cc.kune.core.client.sn.actions.conditions.IsGroupCondition;
import cc.kune.core.client.sn.actions.conditions.IsLoggedCondition;
@@ -47,12 +48,13 @@
public UserSNMenuItemsRegistry(final Session session,
final IsCurrentStateAdministrableCondition isAdministrableCondition,
final IsPersonCondition isPersonCondition, final IsGroupCondition isGroupCondition,
- final IsLoggedCondition isLoggedCondition, final IsMeCondition isMe,
- final IsNotMeCondition isNotMe, final ChangeToCollabAction changeToCollabAction,
- final ChangeToAdminAction changeToAdminAction, final RemoveMemberAction removeMemberAction,
- final AcceptJoinGroupAction acceptJoinGroupAction, final DenyJoinGroupAction denyJoinGroupAction,
- final GotoGroupAction gotoGroupAction, final GotoPersonAction gotoPersonAction,
- final UnJoinGroupAction unjoinAction, final GotoYourHomePageAction gotoYourHomePageAction) {
+ final ImPartOfGroupCondition imPartOfGroup, final IsLoggedCondition isLoggedCondition,
+ final IsMeCondition isMe, final IsNotMeCondition isNotMe,
+ final ChangeToCollabAction changeToCollabAction, final ChangeToAdminAction changeToAdminAction,
+ final RemoveMemberAction removeMemberAction, final AcceptJoinGroupAction acceptJoinGroupAction,
+ final DenyJoinGroupAction denyJoinGroupAction, final GotoGroupAction gotoGroupAction,
+ final GotoPersonAction gotoPersonAction, final UnJoinFromThisGroupAction unjoinAction,
+ final GotoYourHomePageAction gotoYourHomePageAction) {
add(new Provider<MenuItemDescriptor>() {
@Override
public MenuItemDescriptor get() {
@@ -81,14 +83,15 @@
});
// This doesn't works, because its unregister from current state not
// from target group
- // add(new Provider<MenuItemDescriptor>() {
- // @Override
- // public MenuItemDescriptor get() {
- // final MenuItemDescriptor item = new MenuItemDescriptor(unjoinAction);
- // item.add(isLoggedCondition);
- // item.add(isGroupCondition);
- // return item;
- // }
- // });
+ add(new Provider<MenuItemDescriptor>() {
+ @Override
+ public MenuItemDescriptor get() {
+ final MenuItemDescriptor item = new MenuItemDescriptor(unjoinAction);
+ item.add(isLoggedCondition);
+ item.add(isGroupCondition);
+ item.add(imPartOfGroup);
+ return item;
+ }
+ });
}
}
Modified: trunk/src/main/java/cc/kune/core/public/ws.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.html 2011-07-13 02:03:09 UTC (rev 1449)
+++ trunk/src/main/java/cc/kune/core/public/ws.html 2011-07-13 12:21:02 UTC (rev 1450)
@@ -58,7 +58,7 @@
<script type="text/javascript" src="/others/splash/js/gadget.js"></script>
<script type="text/javascript" src="/others/splash/js/rpc.js"></script>
<script type="text/javascript" src="/others/splash/js/common_client.js"></script>
-<script type="text/javascript" src="/others/splash/js/permalink_client.js"></script>
+<!-- <script type="text/javascript" src="/others/splash/js/permalink_client.js"></script> -->
<script type="text/javascript" src="http://wave.google.com/gadgets/js/core:rpc.js?c=1"></script>
<style type="text/css">
Modified: trunk/src/main/java/cc/kune/core/server/rpc/SocialNetworkRPC.java
===================================================================
--- trunk/src/main/java/cc/kune/core/server/rpc/SocialNetworkRPC.java 2011-07-13 02:03:09 UTC (rev 1449)
+++ trunk/src/main/java/cc/kune/core/server/rpc/SocialNetworkRPC.java 2011-07-13 12:21:02 UTC (rev 1450)
@@ -220,14 +220,12 @@
@Override
@Authenticated
@Transactional
- public SocialNetworkDataDTO unJoinGroup(final String hash, final StateToken groupToken)
- throws DefaultException {
+ public void unJoinGroup(final String hash, final StateToken groupToken) throws DefaultException {
final UserSession userSession = getUserSession();
final User userLogged = userSession.getUser();
final Group group = groupManager.findByShortName(groupToken.getGroup());
checkIsNotPersonalGroup(group);
socialNetworkManager.unJoinGroup(userLogged.getUserGroup(), group);
- return generateResponse(userLogged, group);
}
}
Modified: trunk/src/main/webapp/others/splash/js/common_client.js
===================================================================
--- trunk/src/main/webapp/others/splash/js/common_client.js 2011-07-13 02:03:09 UTC (rev 1449)
+++ trunk/src/main/webapp/others/splash/js/common_client.js 2011-07-13 12:21:02 UTC (rev 1450)
@@ -125,6 +125,6 @@
}
});
- initEditor();
+ // initEditor();
initGadgetSystem();
}
Modified: trunk/src/main/webapp/others/splash/js/permalink_client.js
===================================================================
--- trunk/src/main/webapp/others/splash/js/permalink_client.js 2011-07-13 02:03:09 UTC (rev 1449)
+++ trunk/src/main/webapp/others/splash/js/permalink_client.js 2011-07-13 12:21:02 UTC (rev 1450)
@@ -96,11 +96,11 @@
var rpc = window.wave.Rpc.getInstance();
initGadgetSystem();
- rpc.rpcOpenWave();
+// rpc.rpcOpenWave();
- setInterval(function() {
+ //setInterval(function() {
// This is needed to specify the scope of the function.
- window.wave.Rpc.getInstance().rpcAsyncUpdate();
- }, RPC_UPDATE_INTERVAL_MS);
+ // window.wave.Rpc.getInstance().rpcAsyncUpdate();
+ //}, RPC_UPDATE_INTERVAL_MS);
});
1
0
r1449 - in trunk: . src/main/java/cc/kune/chat/client src/main/java/cc/kune/common/client/tooltip src/main/java/cc/kune/common/client/ui src/main/java/cc/kune/core/client/actions/xml src/main/java/cc/kune/core/public src/main/webapp/others src/test/java/com/google/wave/splash/text
by Vicente J. Ruiz Jurado 13 Jul '11
by Vicente J. Ruiz Jurado 13 Jul '11
13 Jul '11
Author: vjrj_
Date: 2011-07-13 04:03:09 +0200 (Wed, 13 Jul 2011)
New Revision: 1449
Modified:
trunk/.classpath
trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java
trunk/src/main/java/cc/kune/chat/client/MediumAvatarDecoratorImpl.java
trunk/src/main/java/cc/kune/chat/client/SmallAvatarDecoratorImpl.java
trunk/src/main/java/cc/kune/common/client/tooltip/TooltipPosition.java
trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.java
trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.ui.xml
trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.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/public/ws.html
trunk/src/main/webapp/others/kune-client-actions.xml
trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java
Log:
Gadget list JP improved; Title blinks on gadget add; Tooltip fix ; Tooltip for xmpp status
Modified: trunk/.classpath
===================================================================
--- trunk/.classpath 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/.classpath 2011-07-13 02:03:09 UTC (rev 1449)
@@ -1,153 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/>
- <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
- <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
- <classpathentry kind="output" path="target/kune-0.0.8/WEB-INF/classes"/>
- <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/box/0.3.1-SNAPSHOT/box-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/box-src/0.3.1-SNAPSHOT/box-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
- <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client/0.3.1-SNAPSHOT/client-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-common/0.3.1-SNAPSHOT/client-common-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-common-src/0.3.1-SNAPSHOT/client-common-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-scheduler-src/0.3.1-SNAPSHOT/client-scheduler-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-src/0.3.1-SNAPSHOT/client-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/common-src/0.3.1-SNAPSHOT/common-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" sourcepath="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar" sourcepath="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar" sourcepath="M2_REPO/commons-io/commons-io/1.3.1/commons-io-1.3.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/communication-src/0.3.1-SNAPSHOT/communication-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/concurrencycontrol-src/0.3.1-SNAPSHOT/concurrencycontrol-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5.jar" sourcepath="M2_REPO/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r09/guava-gwt-r09.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0/guice-3.0.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0/guice-3.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0/guice-persist-3.0.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0/guice-persist-3.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.1-SNAPSHOT/gwt-util-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/2.0.0/gwt-voices-2.0.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/googlecode/gwtupload/gwtupload/0.6.3-compat/gwtupload-0.6.3-compat.jar" sourcepath="M2_REPO/com/googlecode/gwtupload/gwtupload/0.6.3-compat/gwtupload-0.6.3-compat-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1697/hablar-r1697.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.7/htmlunit-2.7.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.7/htmlunit-2.7-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/com/beust/jcommander/1.12/jcommander-1.12.jar" sourcepath="M2_REPO/com/beust/jcommander/1.12/jcommander-1.12-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/java/dev/jna/jna/3.2.2/jna-3.2.2.jar" sourcepath="M2_REPO/net/java/dev/jna/jna/3.2.2/jna-3.2.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/json/json/20080701/json-20080701.jar" sourcepath="M2_REPO/org/json/json/20080701/json-20080701-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jsoup/jsoup/1.2.2/jsoup-1.2.2.jar" sourcepath="M2_REPO/org/jsoup/jsoup/1.2.2/jsoup-1.2.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.2/junit-4.8.2.jar" sourcepath="M2_REPO/junit/junit/4.8.2/junit-4.8.2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.7.0.0/liquibase-plugin-1.7.0.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar" sourcepath="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar" sourcepath="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/media-src/0.3.1-SNAPSHOT/media-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/model-src/0.3.1-SNAPSHOT/model-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.16/mvel2-2.0.16.jar" sourcepath="M2_REPO/org/mvel/mvel2/2.0.16/mvel2-2.0.16-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/>
- <classpathentry kind="var" path="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14.jar" sourcepath="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-msg/0.3.1-SNAPSHOT/proto-msg-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/w3c/css/sac/1.3/sac-1.3.jar" sourcepath="M2_REPO/org/w3c/css/sac/1.3/sac-1.3-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-common/2.0a4/selenium-common-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-common/2.0a4/selenium-common-2.0a4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.0a4/selenium-firefox-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.0a4/selenium-firefox-driver-2.0a4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.0a4/selenium-htmlunit-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.0a4/selenium-htmlunit-driver-2.0a4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.0a4/selenium-ie-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.0a4/selenium-ie-driver-2.0a4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-remote-client/2.0a4/selenium-remote-client-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-remote-client/2.0a4/selenium-remote-client-2.0a4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-remote-common/2.0a4/selenium-remote-common-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-remote-common/2.0a4/selenium-remote-common-2.0a4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-support/2.0a4/selenium-support-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-support/2.0a4/selenium-support-2.0a4-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/xalan/serializer/2.7.1/serializer-2.7.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/jivesoftware/smack/3.1.0/smack-3.1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/jivesoftware/smackx/3.1.0/smackx-3.1.0.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar" sourcepath="M2_REPO/org/yaml/snakeyaml/1.6/snakeyaml-1.6-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/testng/testng/6.0.1/testng-6.0.1.jar" sourcepath="M2_REPO/org/testng/testng/6.0.1/testng-6.0.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/tigase/tigase-xmltools/3.3.5/tigase-xmltools-3.3.5.jar" sourcepath="M2_REPO/tigase/tigase-xmltools/3.3.5/tigase-xmltools-3.3.5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/util-src/0.3.1-SNAPSHOT/util-src-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-0.3/0.3.1-SNAPSHOT/waveinabox-server-0.3-0.3.1-SNAPSHOT.jar"/>
- <classpathentry kind="var" path="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1.jar" sourcepath="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
- <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
- <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
- <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="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-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>
\ No newline at end of file
+ <classpathentry including="**/*.java" kind="src" output="target/test-classes" path="src/test/java"/>
+ <classpathentry including="**/*.java" kind="src" path="src/main/java"/>
+ <classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
+ <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.1/jta-1.1.jar" sourcepath="M2_REPO/javax/transaction/jta/1.1/jta-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0.jar" sourcepath="M2_REPO/javax/persistence/persistence-api/1.0/persistence-api-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar" sourcepath="M2_REPO/javax/servlet/servlet-api/2.5/servlet-api-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/appengine/appengine-api-1.0-sdk/1.3.1/appengine-api-1.0-sdk-1.3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/box/0.3.1-SNAPSHOT/box-0.3.1-SNAPSHOT.jar" sourcepath="/M2_REPO/org/waveprotocol/box-src/0.3.1-SNAPSHOT/box-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/box-src/0.3.1-SNAPSHOT/box-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/beanshell/bsh/2.0b4/bsh-2.0b4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1.jar" sourcepath="M2_REPO/c3p0/c3p0/0.9.1/c3p0-0.9.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/classworlds/classworlds/1.1-alpha-2/classworlds-1.1-alpha-2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client/0.3.1-SNAPSHOT/client-0.3.1-SNAPSHOT.jar" sourcepath="/M2_REPO/org/waveprotocol/client-src/0.3.1-SNAPSHOT/client-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-common/0.3.1-SNAPSHOT/client-common-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-common-src/0.3.1-SNAPSHOT/client-common-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-scheduler-src/0.3.1-SNAPSHOT/client-scheduler-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/client-src/0.3.1-SNAPSHOT/client-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/cobogw/gwt/cobogw/1.3.1/cobogw-1.3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/common-src/0.3.1-SNAPSHOT/common-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar" sourcepath="M2_REPO/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2.jar" sourcepath="M2_REPO/commons-cli/commons-cli/1.2/commons-cli-1.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.4/commons-codec-1.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2.jar" sourcepath="M2_REPO/commons-collections/commons-collections/3.2/commons-collections-3.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2.jar" sourcepath="M2_REPO/commons-fileupload/commons-fileupload/1.2/commons-fileupload-1.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-io/commons-io/1.3.1/commons-io-1.3.1.jar" sourcepath="M2_REPO/commons-io/commons-io/1.3.1/commons-io-1.3.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar" sourcepath="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/communication-src/0.3.1-SNAPSHOT/communication-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/concurrencycontrol-src/0.3.1-SNAPSHOT/concurrencycontrol-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/crawl_htmlunit/r5662-gae/crawl_htmlunit-r5662-gae.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5.jar" sourcepath="M2_REPO/net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0.jar" sourcepath="M2_REPO/net/sf/dozer/dozer/4.0/dozer-4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA.jar" sourcepath="M2_REPO/org/hibernate/ejb3-persistence/1.0.2.GA/ejb3-persistence-1.0.2.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite/r1694/emite-r1694.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/calclab/emite/emite-proxy/0.1/emite-proxy-0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3.jar" sourcepath="M2_REPO/net/sf/ezmorph/ezmorph/1.0.3/ezmorph-1.0.3-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/freemarker/freemarker/2.3.8/freemarker-2.3.8.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/guava/guava-gwt/r09/guava-gwt-r09.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0/guice-3.0.jar" sourcepath="M2_REPO/com/google/inject/guice/3.0/guice-3.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-assisted-inject/2.0/guice-assisted-inject-2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-persist/3.0/guice-persist-3.0.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-persist/3.0/guice-persist-3.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0.jar" sourcepath="M2_REPO/com/google/inject/extensions/guice-servlet/3.0/guice-servlet-3.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/adamtacy/gwt-fx/r464/gwt-fx-r464.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-gin/1.0-r137/gwt-gin-1.0-r137.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/log/gwt-log/gwt-log/3.0.1/gwt-log-3.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-servlet/2.1.1/gwt-servlet-2.1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/gwt-util-src/0.3.1-SNAPSHOT/gwt-util-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/allen_sauer/gwt/voices/gwt-voices/gwt-voices/2.0.0/gwt-voices-2.0.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtext/gwtext/2.0.5/gwtext-2.0.5.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtextux/gwtextux/0.4.0.924/gwtextux-0.4.0.924.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-all/0.5/gwtp-all-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-clients-common/0.5/gwtp-clients-common-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-crawler/0.5/gwtp-crawler-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-client/0.5/gwtp-dispatch-client-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-server/0.5/gwtp-dispatch-server-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-dispatch-shared/0.5/gwtp-dispatch-shared-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-mvp-client/0.5/gwtp-mvp-client-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-processors/0.5/gwtp-processors-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5.jar" sourcepath="M2_REPO/com/gwtplatform/gwtp-tester/0.5/gwtp-tester-0.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/googlecode/gwtupload/gwtupload/0.6.3-compat/gwtupload-0.6.3-compat.jar" sourcepath="M2_REPO/com/googlecode/gwtupload/gwtupload/0.6.3-compat/gwtupload-0.6.3-compat-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/extjs/gxt/2.2.1/gxt-2.2.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/h2database/h2/1.0.20070617/h2-1.0.20070617.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/calclab/emite/hablar/r1697/hablar-r1697.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-all/1.1/hamcrest-all-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-annotations/3.4.0.GA/hibernate-annotations-3.4.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-c3p0/3.3.1.GA/hibernate-c3p0-3.3.1.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate-commons-annotations/3.3.0.ga/hibernate-commons-annotations-3.3.0.ga-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-core/3.3.1.GA/hibernate-core-3.3.1.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-entitymanager/3.4.0.GA/hibernate-entitymanager-3.4.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-search/3.1.0.GA/hibernate-search-3.1.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-tools/3.2.3.GA/hibernate-tools-3.2.3.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA.jar" sourcepath="M2_REPO/org/hibernate/hibernate-validator/3.1.0.GA/hibernate-validator-3.1.0.GA-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.7/htmlunit-2.7.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit/2.7/htmlunit-2.7-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7.jar" sourcepath="M2_REPO/net/sourceforge/htmlunit/htmlunit-core-js/2.7/htmlunit-core-js-2.7-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/jcl-over-slf4j/1.6.1/jcl-over-slf4j-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/beust/jcommander/1.12/jcommander-1.12.jar" sourcepath="M2_REPO/com/beust/jcommander/1.12/jcommander-1.12-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2.jar" sourcepath="M2_REPO/org/codehaus/jettison/jettison/1.0-RC2/jettison-1.0-RC2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jmagick/jmagick/6.2.6-0/jmagick-6.2.6-0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/java/dev/jna/jna/3.2.2/jna-3.2.2.jar" sourcepath="M2_REPO/net/java/dev/jna/jna/3.2.2/jna-3.2.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jruby/jruby-complete/1.2.0/jruby-complete-1.2.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jruby/rack/jruby-rack/0.9.4/jruby-rack-0.9.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/json/json/20080701/json-20080701.jar" sourcepath="M2_REPO/org/json/json/20080701/json-20080701-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15.jar" sourcepath="M2_REPO/net/sf/json-lib/json-lib/2.1/json-lib-2.1-jdk15-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jsoup/jsoup/1.2.2/jsoup-1.2.2.jar" sourcepath="M2_REPO/org/jsoup/jsoup/1.2.2/jsoup-1.2.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47.jar" sourcepath="M2_REPO/net/sourceforge/findbugs/jsr-305/v0r47/jsr-305-v0r47-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hibernate/jtidy/r8-20060801/jtidy-r8-20060801.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jukito/jukito/1.0/jukito-1.0.jar" sourcepath="M2_REPO/org/jukito/jukito/1.0/jukito-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.2/junit-4.8.2.jar" sourcepath="M2_REPO/junit/junit/4.8.2/junit-4.8.2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-core/1.7.0/liquibase-core-1.7.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/liquibase/liquibase-plugin/1.7.0.0/liquibase-plugin-1.7.0.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16.jar" sourcepath="M2_REPO/log4j/log4j/1.2.16/log4j-1.2.16-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar" sourcepath="M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0.jar" sourcepath="M2_REPO/org/apache/lucene/lucene-core/2.4.0/lucene-core-2.4.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact/2.0/maven-artifact-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-artifact-manager/2.0/maven-artifact-manager-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-model/2.0/maven-model-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-plugin-api/2.0/maven-plugin-api-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-profile/2.0/maven-profile-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-project/2.0/maven-project-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0.jar" sourcepath="M2_REPO/org/apache/maven/maven-repository-metadata/2.0/maven-repository-metadata-2.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/media-src/0.3.1-SNAPSHOT/media-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5.jar" sourcepath="M2_REPO/org/mockito/mockito-core/1.8.5/mockito-core-1.8.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/model-src/0.3.1-SNAPSHOT/model-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mvel/mvel2/2.0.16/mvel2-2.0.16.jar" sourcepath="M2_REPO/org/mvel/mvel2/2.0.16/mvel2-2.0.16-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.13/mysql-connector-java-5.1.13.jar"/>
+ <classpathentry kind="var" path="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14.jar" sourcepath="M2_REPO/net/sourceforge/nekohtml/nekohtml/1.9.14/nekohtml-1.9.14-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0.jar" sourcepath="M2_REPO/org/objenesis/objenesis/1.0/objenesis-1.0-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-container-default/1.0-alpha-8/plexus-container-default-1.0-alpha-8-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar" sourcepath="M2_REPO/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/proto-msg/0.3.1-SNAPSHOT/proto-msg-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/w3c/css/sac/1.3/sac-1.3.jar" sourcepath="M2_REPO/org/w3c/css/sac/1.3/sac-1.3-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium/2.0a4/selenium-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-chrome-driver/2.0a4/selenium-chrome-driver-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-common/2.0a4/selenium-common-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-common/2.0a4/selenium-common-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.0a4/selenium-firefox-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-firefox-driver/2.0a4/selenium-firefox-driver-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.0a4/selenium-htmlunit-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-htmlunit-driver/2.0a4/selenium-htmlunit-driver-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.0a4/selenium-ie-driver-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-ie-driver/2.0a4/selenium-ie-driver-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-remote-client/2.0a4/selenium-remote-client-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-remote-client/2.0a4/selenium-remote-client-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-remote-common/2.0a4/selenium-remote-common-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-remote-common/2.0a4/selenium-remote-common-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/seleniumhq/selenium/selenium-support/2.0a4/selenium-support-2.0a4.jar" sourcepath="M2_REPO/org/seleniumhq/selenium/selenium-support/2.0a4/selenium-support-2.0a4-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xalan/serializer/2.7.1/serializer-2.7.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1.jar" sourcepath="M2_REPO/org/slf4j/slf4j-log4j12/1.6.1/slf4j-log4j12-1.6.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jivesoftware/smack/3.1.0/smack-3.1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jivesoftware/smackx/3.1.0/smackx-3.1.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/jivesoftware/smackx/debugger/smackx-debugger/3.0.4/smackx-debugger-3.0.4.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar" sourcepath="M2_REPO/org/yaml/snakeyaml/1.6/snakeyaml-1.6-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/stax/stax-api/1.0.1/stax-api-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/testng/testng/6.0.1/testng-6.0.1.jar" sourcepath="M2_REPO/org/testng/testng/6.0.1/testng-6.0.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/tigase/tigase-xmltools/3.3.5/tigase-xmltools-3.3.5.jar" sourcepath="M2_REPO/tigase/tigase-xmltools/3.3.5/tigase-xmltools-3.3.5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/util-src/0.3.1-SNAPSHOT/util-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5.jar" sourcepath="M2_REPO/org/apache/maven/wagon/wagon-provider-api/1.0-alpha-5/wagon-provider-api-1.0-alpha-5-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/waveprotocol/waveinabox-server-0.3/0.3.1-SNAPSHOT/waveinabox-server-0.3-0.3.1-SNAPSHOT.jar" sourcepath="/M2_REPO/org/waveprotocol/model-src/0.3.1-SNAPSHOT/model-src-0.3.1-SNAPSHOT.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1.jar" sourcepath="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar" sourcepath="M2_REPO/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2-sources.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xpp3/xpp3_min/1.1.3.4.O/xpp3_min-1.1.3.4.O.jar"/>
+ <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="var" path="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1.jar" sourcepath="M2_REPO/org/xwiki/platform/xwiki-web-gwt-dom/2.3-rc-1/xwiki-web-gwt-dom-2.3-rc-1-sources.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry including="**/*.java" kind="src" path=".apt_generated"/>
+ <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
+ <classpathentry kind="output" path="target/kune-0.0.8/WEB-INF/classes"/>
+</classpath>
Modified: trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java 2011-07-13 02:03:09 UTC (rev 1449)
@@ -1,7 +1,9 @@
package cc.kune.chat.client;
import cc.kune.common.client.ui.AbstractDecorator;
+import cc.kune.common.client.utils.TextUtils;
import cc.kune.core.client.avatar.AvatarDecorator;
+import cc.kune.core.shared.i18n.I18nTranslationService;
import com.calclab.emite.core.client.events.StateChangedEvent;
import com.calclab.emite.core.client.events.StateChangedHandler;
@@ -33,6 +35,8 @@
private final ImageResource chatDotBusy;
private final ImageResource chatDotExtendedAway;
private final ImageResource chatDotXA;
+ private final I18nTranslationService i18n;
+ private final HandlerRegistration presenceHandler;
private final PresenceManager presenceManager;
private final XmppRoster roster;
private final HandlerRegistration rosterHandler;
@@ -40,12 +44,13 @@
private final HandlerRegistration sessionStateChangedHandler;
private XmppURI uri;
private final XmppSession xmppSession;
- private HandlerRegistration presenceHandler;
- public AvatarDecoratorImpl(final ChatInstances chatInstances, final ChatClient chatClient,
- final ImageResource chatDotBusy, final ImageResource chatDotXA, final ImageResource chatDotAway,
- final ImageResource chatDotExtendedAway, final ImageResource chatDotAvailable) {
+ public AvatarDecoratorImpl(final I18nTranslationService i18n, final ChatInstances chatInstances,
+ final ChatClient chatClient, final ImageResource chatDotBusy, final ImageResource chatDotXA,
+ final ImageResource chatDotAway, final ImageResource chatDotExtendedAway,
+ final ImageResource chatDotAvailable) {
this.chatClient = chatClient;
+ this.i18n = i18n;
this.chatDotBusy = chatDotBusy;
this.chatDotXA = chatDotXA;
this.chatDotAway = chatDotAway;
@@ -111,20 +116,27 @@
}
private void setIcon(final boolean available, final Show show, final String status) {
+ String finalStatus = "";
if (show == Show.dnd) {
+ finalStatus = i18n.t("Busy");
super.setImage(chatDotBusy);
} else if (show == Show.xa) {
+ finalStatus = i18n.t("Away");
super.setImage(chatDotXA);
+ super.setImage(chatDotAway);
} else if (show == Show.away) {
- super.setImage(chatDotAway);
+ finalStatus = i18n.t("Away");
} else if (show == Show.chat) {
+ finalStatus = i18n.t("Available for chat");
super.setImage(chatDotExtendedAway);
} else if (available) {
+ finalStatus = i18n.t("Available");
super.setImage(chatDotAvailable);
} else {
clearDecorator();
}
- super.setImageTooltip(status);
+ super.setImageTooltip(TextUtils.empty(finalStatus) ? status : finalStatus
+ + (TextUtils.empty(status) ? "" : ": " + status));
}
@Override
Modified: trunk/src/main/java/cc/kune/chat/client/MediumAvatarDecoratorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/MediumAvatarDecoratorImpl.java 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/java/cc/kune/chat/client/MediumAvatarDecoratorImpl.java 2011-07-13 02:03:09 UTC (rev 1449)
@@ -2,15 +2,16 @@
import cc.kune.core.client.avatar.MediumAvatarDecorator;
import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.inject.Inject;
public class MediumAvatarDecoratorImpl extends AvatarDecoratorImpl implements MediumAvatarDecorator {
@Inject
- public MediumAvatarDecoratorImpl(final CoreResources res, final ChatInstances chatInstances,
- final ChatClient chatClient) {
- super(chatInstances, chatClient, res.chatDotBusyMedium(), res.chatDotAwayMedium(),
+ public MediumAvatarDecoratorImpl(final I18nTranslationService i18n, final CoreResources res,
+ final ChatInstances chatInstances, final ChatClient chatClient) {
+ super(i18n, chatInstances, chatClient, res.chatDotBusyMedium(), res.chatDotAwayMedium(),
res.chatDotAwayMedium(), res.chatDotExtendedAwayMedium(), res.chatDotAvailableMedium());
setImagePosition(53, -6, -10);
}
Modified: trunk/src/main/java/cc/kune/chat/client/SmallAvatarDecoratorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/SmallAvatarDecoratorImpl.java 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/java/cc/kune/chat/client/SmallAvatarDecoratorImpl.java 2011-07-13 02:03:09 UTC (rev 1449)
@@ -2,15 +2,16 @@
import cc.kune.core.client.avatar.SmallAvatarDecorator;
import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.shared.i18n.I18nTranslationService;
import com.google.inject.Inject;
public class SmallAvatarDecoratorImpl extends AvatarDecoratorImpl implements SmallAvatarDecorator {
@Inject
- public SmallAvatarDecoratorImpl(final CoreResources res, final ChatInstances chatInstances,
- final ChatClient chatClient) {
- super(chatInstances, chatClient, res.chatDotBusySmall(), res.chatDotAwaySmall(),
+ public SmallAvatarDecoratorImpl(final I18nTranslationService i18n, final CoreResources res,
+ final ChatInstances chatInstances, final ChatClient chatClient) {
+ super(i18n, chatInstances, chatClient, res.chatDotBusySmall(), res.chatDotAwaySmall(),
res.chatDotAwaySmall(), res.chatDotExtendedAwaySmall(), res.chatDotAvailableSmall());
setImagePosition(23, -9, -8);
}
Modified: trunk/src/main/java/cc/kune/common/client/tooltip/TooltipPosition.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/tooltip/TooltipPosition.java 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/java/cc/kune/common/client/tooltip/TooltipPosition.java 2011-07-13 02:03:09 UTC (rev 1449)
@@ -21,68 +21,68 @@
public class TooltipPosition {
- public enum ArrowPosition {
- E, N, NE, NW, S, SE, SW, W
- }
+ public enum ArrowPosition {
+ E, N, NE, NW, S, SE, SW, W
+ }
- public static final int ARROW_DEF_MARGIN = 10;
- public static final int ARROW_SIZE = 7;
- public static final int TOOLTIP_DISTANCE = 12;
+ public static final int ARROW_DEF_MARGIN = 6;
+ public static final int ARROW_SIZE = 7;
+ public static final int TOOLTIP_DISTANCE = 12;
- private int arrowLeft;
- private ArrowPosition arrowPosition;
- private int arrowTop;
- private int left;
- private int top;
+ private int arrowLeft;
+ private ArrowPosition arrowPosition;
+ private int arrowTop;
+ private int left;
+ private int top;
- public TooltipPosition(final int left, final int top, final ArrowPosition arrowPosition, final int arrowLeft,
- final int arrowTop) {
- super();
- this.left = left;
- this.top = top;
- this.arrowPosition = arrowPosition;
- this.arrowLeft = arrowLeft;
- this.arrowTop = arrowTop;
- }
+ public TooltipPosition(final int left, final int top, final ArrowPosition arrowPosition,
+ final int arrowLeft, final int arrowTop) {
+ super();
+ this.left = left;
+ this.top = top;
+ this.arrowPosition = arrowPosition;
+ this.arrowLeft = arrowLeft;
+ this.arrowTop = arrowTop;
+ }
- public int getArrowLeft() {
- return arrowLeft;
- }
+ public int getArrowLeft() {
+ return arrowLeft;
+ }
- public ArrowPosition getArrowPosition() {
- return arrowPosition;
- }
+ public ArrowPosition getArrowPosition() {
+ return arrowPosition;
+ }
- public int getArrowTop() {
- return arrowTop;
- }
+ public int getArrowTop() {
+ return arrowTop;
+ }
- public int getLeft() {
- return left;
- }
+ public int getLeft() {
+ return left;
+ }
- public int getTop() {
- return top;
- }
+ public int getTop() {
+ return top;
+ }
- public void setArrowLeft(final int arrowLeft) {
- this.arrowLeft = arrowLeft;
- }
+ public void setArrowLeft(final int arrowLeft) {
+ this.arrowLeft = arrowLeft;
+ }
- public void setArrowPosition(final ArrowPosition arrowPosition) {
- this.arrowPosition = arrowPosition;
- }
+ public void setArrowPosition(final ArrowPosition arrowPosition) {
+ this.arrowPosition = arrowPosition;
+ }
- public void setArrowTop(final int arrowTop) {
- this.arrowTop = arrowTop;
- }
+ public void setArrowTop(final int arrowTop) {
+ this.arrowTop = arrowTop;
+ }
- public void setLeft(final int left) {
- this.left = left;
- }
+ public void setLeft(final int left) {
+ this.left = left;
+ }
- public void setTop(final int top) {
- this.top = top;
- }
+ public void setTop(final int top) {
+ this.top = top;
+ }
}
Modified: trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.java 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.java 2011-07-13 02:03:09 UTC (rev 1449)
@@ -29,12 +29,14 @@
@UiField
FlowPanel mainPanel;
private int offset = 0;
+ private Tooltip tooltip;
private int top = 0;
@UiField
SimplePanel widgetContainer;
public AbstractDecorator() {
initWidget(BINDER.createAndBindUi(this));
+ decorationImage.setVisible(false);
}
public void clearImage() {
@@ -59,7 +61,12 @@
}
public void setImageTooltip(final String text) {
- Tooltip.to(decorationImage, text);
+ if (tooltip == null) {
+ tooltip = Tooltip.to(decorationImage, text);
+ decorationImage.addStyleName("k-pointer");
+ } else {
+ tooltip.setText(text);
+ }
}
private void setPosition() {
Modified: trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.ui.xml
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.ui.xml 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/java/cc/kune/common/client/ui/AbstractDecorator.ui.xml 2011-07-13 02:03:09 UTC (rev 1449)
@@ -8,6 +8,7 @@
top: 0px;
left: 0px;
float: left;
+ background-color: transparent;
}
.container {
Modified: trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/java/cc/kune/common/client/ui/EditableLabel.java 2011-07-13 02:03:09 UTC (rev 1449)
@@ -54,7 +54,6 @@
@UiField
TextBox textbox;
private Tooltip tooltip;
-
private String tooltipText;
public EditableLabel() {
@@ -99,6 +98,10 @@
fireEvent(new EditEvent(textbox.getValue()));
}
+ private String getTooltipValue() {
+ return editable ? tooltipText : "";
+ }
+
@UiHandler("textbox")
void handleKeys(final KeyDownEvent event) {
if (event.getNativeKeyCode() == 13) {
@@ -158,7 +161,12 @@
public void setEditable(final boolean editable) {
this.editable = editable;
- tooltip = Tooltip.to(label, editable ? tooltipText : "");
+ if (tooltip == null) {
+ tooltip = Tooltip.to(label, getTooltipValue());
+
+ } else {
+ tooltip.setText(getTooltipValue());
+ }
}
public void setText(final String text) {
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-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/NewGadgetAction.java 2011-07-13 02:03:09 UTC (rev 1449)
@@ -11,6 +11,7 @@
import cc.kune.core.shared.dto.AccessRolDTO;
import cc.kune.core.shared.dto.StateContentDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter;
import com.google.inject.Provider;
@@ -18,6 +19,7 @@
private final String body;
private final Provider<ContentServiceAsync> contentService;
+ private final ContentViewerPresenter contentViewer;
private final String gadgetName;
private final I18nTranslationService i18n;
private final Session session;
@@ -26,11 +28,13 @@
private final String typeId;
public NewGadgetAction(final Provider<ContentServiceAsync> contentService,
- final StateManager stateManager, final Session session, final I18nTranslationService i18n,
- final AccessRolDTO rol, final boolean authNeeded, final String gadgetName, final String typeId,
- final String iconUrl, final String title, final String body) {
+ final ContentViewerPresenter contentViewerPresenter, final StateManager stateManager,
+ final Session session, final I18nTranslationService i18n, final AccessRolDTO rol,
+ final boolean authNeeded, final String gadgetName, final String typeId, final String iconUrl,
+ final String title, final String body) {
super(rol, authNeeded);
this.contentService = contentService;
+ this.contentViewer = contentViewerPresenter;
this.stateManager = stateManager;
this.i18n = i18n;
this.gadgetName = gadgetName;
@@ -49,6 +53,7 @@
public void onSuccess(final StateContentDTO result) {
NotifyUser.info(i18n.t("[%s] created succesfully", title));
stateManager.setRetrievedStateAndGo(result);
+ contentViewer.blinkTitle();
}
});
}
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-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLActionsParser.java 2011-07-13 02:03:09 UTC (rev 1449)
@@ -16,6 +16,7 @@
import cc.kune.core.client.state.StateManager;
import cc.kune.core.shared.i18n.I18nTranslationService;
import cc.kune.gspace.client.actions.ActionGroups;
+import cc.kune.gspace.client.viewers.ContentViewerPresenter;
import com.calclab.emite.core.client.services.Services;
import com.google.gwt.http.client.Request;
@@ -34,8 +35,10 @@
private final ActionRegistryByType actionRegistry;
private final Provider<ContentServiceAsync> contentService;
+ private final ContentViewerPresenter contentViewer;
private final ErrorHandler errHandler;
private final I18nTranslationService i18n;
+
private final NewMenusForTypeIdsRegistry newMenusRegistry;
private final Session session;
@@ -45,11 +48,12 @@
private final HashMap<String, SubMenuDescriptor> submenus;
@Inject
- public XMLActionsParser(final ErrorHandler errHandler, final ActionRegistryByType actionRegistry,
- final Provider<ContentServiceAsync> contentService, final Session session,
- final StateManager stateManager, final I18nTranslationService i18n,
+ public XMLActionsParser(final ErrorHandler errHandler, final ContentViewerPresenter contentViewer,
+ final ActionRegistryByType actionRegistry, final Provider<ContentServiceAsync> contentService,
+ final Session session, final StateManager stateManager, final I18nTranslationService i18n,
final NewMenusForTypeIdsRegistry newMenusRegistry, final Services services) {
this.errHandler = errHandler;
+ this.contentViewer = contentViewer;
this.actionRegistry = actionRegistry;
this.contentService = contentService;
this.session = session;
@@ -121,10 +125,11 @@
for (final XMLTypeId typeId : descrip.getTypeIds()) {
final String origTypeId = typeId.getOrigTypeId();
final String contentIntro = descrip.getNewContentTextIntro();
- final NewGadgetAction action = new NewGadgetAction(contentService, stateManager, session,
- i18n, descrip.getRol().getRolRequired(), descrip.getRol().isAuthNeed(),
- extension.getExtName(), typeId.getDestTypeId(), extension.getIconUrl(),
- descrip.getNewContentTitle(), TextUtils.empty(contentIntro) ? "" : contentIntro);
+ 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;
Modified: trunk/src/main/java/cc/kune/core/public/ws.html
===================================================================
--- trunk/src/main/java/cc/kune/core/public/ws.html 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/java/cc/kune/core/public/ws.html 2011-07-13 02:03:09 UTC (rev 1449)
@@ -59,6 +59,7 @@
<script type="text/javascript" src="/others/splash/js/rpc.js"></script>
<script type="text/javascript" src="/others/splash/js/common_client.js"></script>
<script type="text/javascript" src="/others/splash/js/permalink_client.js"></script>
+<script type="text/javascript" src="http://wave.google.com/gadgets/js/core:rpc.js?c=1"></script>
<style type="text/css">
body {
Modified: trunk/src/main/webapp/others/kune-client-actions.xml
===================================================================
--- trunk/src/main/webapp/others/kune-client-actions.xml 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/main/webapp/others/kune-client-actions.xml 2011-07-13 02:03:09 UTC (rev 1449)
@@ -27,10 +27,11 @@
</extension>
<extension>
+ <!-- Warning: this is a robot -->
<name>tasklistbot</name>
<installerUrl>http://tasklistbot.appspot.com/TaskList.xml
</installerUrl>
- <gadgetUrl>http://everybodywave.appspot.com/gadget/foobar/main.xml
+ <gadgetUrl>http://tasklistbot.appspot.com/TaskList.xml
</gadgetUrl>
<iconUrl>http://tasklistbot.appspot.com/resources/tasklistbot_avatar.png
</iconUrl>
@@ -219,7 +220,7 @@
<path>Gadget»Media</path>
<description>Add a Picasa photo album to a wave.</description>
<new-content-title>New Album</new-content-title>
- <new-content-textintro></new-content-textintro>
+ <new-content-textintro>Sorry, this gadget has problems with its height. We hope this will be fixed soon</new-content-textintro>
<enabled>true</enabled>
<typeIds>
<typeId origTypeId="docs.folder" destTypeId="docs.doc" />
@@ -245,7 +246,8 @@
</description>
<new-content-title>New To-Do list</new-content-title>
<new-content-textintro></new-content-textintro>
- <enabled>true</enabled>
+ <!-- Seems broken right now -->
+ <enabled>false</enabled>
<typeIds>
<typeId origTypeId="docs.folder" destTypeId="docs.doc" />
<typeId origTypeId="docs.root" destTypeId="docs.doc" />
@@ -270,7 +272,8 @@
shortener.(http://goo.gl/)</description>
<new-content-title>New Shorten URL</new-content-title>
<new-content-textintro></new-content-textintro>
- <enabled>true</enabled>
+ <!-- Disabled: Not useful for a new doc -->
+ <enabled>false</enabled>
<typeIds>
<typeId origTypeId="docs.folder" destTypeId="docs.doc" />
<typeId origTypeId="docs.root" destTypeId="docs.doc" />
@@ -372,7 +375,8 @@
<description></description>
<new-content-title>New Task List</new-content-title>
<new-content-textintro></new-content-textintro>
- <enabled>true</enabled>
+ <!-- This is a robot -->
+ <enabled>false</enabled>
<typeIds>
<typeId origTypeId="docs.folder" destTypeId="docs.doc" />
<typeId origTypeId="docs.root" destTypeId="docs.doc" />
@@ -397,7 +401,8 @@
all participants.</description>
<new-content-title>New Notification</new-content-title>
<new-content-textintro></new-content-textintro>
- <enabled>true</enabled>
+ <!-- Disabled: not working in WIAB -->
+ <enabled>false</enabled>
<typeIds>
<typeId origTypeId="docs.folder" destTypeId="docs.doc" />
<typeId origTypeId="docs.root" destTypeId="docs.doc" />
@@ -446,7 +451,7 @@
<path>Gadget»Media</path>
<description>Lets you insert, resize and annotate any image from
the web.</description>
- <new-content-title>New image</new-content-title>
+ <new-content-title>Edit this to insert, resize and annotate any image from the web</new-content-title>
<new-content-textintro></new-content-textintro>
<enabled>true</enabled>
<typeIds>
@@ -548,7 +553,7 @@
<description>Shows results from Twitter for a given search term.
Participants can edit to specify new term.</description>
<new-content-title>Twitter search</new-content-title>
- <new-content-textintro></new-content-textintro>
+ <new-content-textintro>Sorry, this gadget has problems with its height. We hope this will be fixed soon</new-content-textintro>
<enabled>true</enabled>
<typeIds>
<typeId origTypeId="docs.folder" destTypeId="docs.doc" />
Modified: trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java
===================================================================
--- trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java 2011-07-12 17:32:54 UTC (rev 1448)
+++ trunk/src/test/java/com/google/wave/splash/text/ContentNewUnrendererTest.java 2011-07-13 02:03:09 UTC (rev 1449)
@@ -1,20 +1,29 @@
package com.google.wave.splash.text;
-import static org.junit.Assert.assertEquals;
-
import org.junit.Ignore;
import org.junit.Test;
+import org.waveprotocol.wave.client.editor.content.CMutableDocument;
+import org.waveprotocol.wave.client.editor.content.ContentDocument;
+import org.waveprotocol.wave.model.document.indexed.IndexedDocument;
+import org.waveprotocol.wave.model.document.operation.Nindo;
+import org.waveprotocol.wave.model.document.raw.impl.Element;
+import org.waveprotocol.wave.model.document.raw.impl.Node;
+import org.waveprotocol.wave.model.document.raw.impl.Text;
+import org.waveprotocol.wave.model.document.util.DocProviders;
+import org.waveprotocol.wave.model.operation.OperationSequencer;
-import com.google.wave.splash.text.ContentUnrenderer.UnrenderedBlip;
-
public class ContentNewUnrendererTest {
@Ignore
@Test
public void testBasicUnrender() {
- // final IndexedDocument<Node, Element, Text> result =
- // ContentNewUnrenderer.unrender("<b>Some <em>bold</em></b>");
- final UnrenderedBlip result = ContentUnrenderer.unrender("<p></p><p><b>Some <em>bold</em></b></p>");
- assertEquals("", result.elements.toString());
+ final IndexedDocument<Node, Element, Text> result = ContentNewUnrenderer.unrender("<b>Some <em>bold</em></b>");
+ // final UnrenderedBlip result =
+ // ContentUnrenderer.unrender("<p></p><p><b>Some <em>bold</em></b></p>");
+ // assertEquals("", result.elements.toString());
+
+ final OperationSequencer<Nindo> sequencer = DocProviders.createCopyingSequencer(result);
+ final CMutableDocument mutable = new ContentDocument(null).createSequencedDocumentWrapper(sequencer);
+ // WaveletDataUtil.createEmptyWavelet(null, null, null, 0)
}
}
1
0
r1448 - in trunk: img/webtemplate src/main/java/cc/kune/chat/client src/main/java/cc/kune/chat/client/actions src/main/java/cc/kune/common/client/tooltip src/main/java/cc/kune/common/client/ui src/main/java/cc/kune/core/client/actions/xml src/main/java/cc/kune/core/client/resources src/main/java/cc/kune/core/client/sn
by Vicente J. Ruiz Jurado 12 Jul '11
by Vicente J. Ruiz Jurado 12 Jul '11
12 Jul '11
Author: vjrj_
Date: 2011-07-12 19:32:54 +0200 (Tue, 12 Jul 2011)
New Revision: 1448
Added:
trunk/img/webtemplate/chat-revisited.png
trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieAction.java
trunk/src/main/java/cc/kune/core/client/resources/question32.png
Modified:
trunk/img/webtemplate/web_template-2011.svg
trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java
trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
trunk/src/main/java/cc/kune/chat/client/ChatInstances.java
trunk/src/main/java/cc/kune/chat/client/ChatParts.java
trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java
trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java
trunk/src/main/java/cc/kune/common/client/tooltip/TooltipTimers.java
trunk/src/main/java/cc/kune/common/client/ui/BasicThumb.java
trunk/src/main/java/cc/kune/core/client/actions/xml/XMLWaveExtension.java
trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java
Log:
XML Extensions trim fix; SN menu lazy; tooltip hide when menu shows; Subscription confirmation
Added: trunk/img/webtemplate/chat-revisited.png
===================================================================
(Binary files differ)
Property changes on: trunk/img/webtemplate/chat-revisited.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/img/webtemplate/web_template-2011.svg
===================================================================
--- trunk/img/webtemplate/web_template-2011.svg 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/img/webtemplate/web_template-2011.svg 2011-07-12 17:32:54 UTC (rev 1448)
@@ -22,6 +22,32 @@
style="display:inline">
<defs
id="defs3184">
+ <marker
+ inkscape:stockid="Arrow1Lstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lstart"
+ style="overflow:visible">
+ <path
+ id="path4904"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none"
+ transform="scale(0.8) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mstart"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mstart"
+ style="overflow:visible">
+ <path
+ id="path4928"
+ style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) translate(0,0)" />
+ </marker>
<linearGradient
inkscape:collect="always"
id="linearGradient4127">
@@ -52,9 +78,9 @@
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
- inkscape:zoom="0.35355339"
- inkscape:cx="598.70994"
- inkscape:cy="950.73513"
+ inkscape:zoom="1"
+ inkscape:cx="488.6491"
+ inkscape:cy="1879.6308"
inkscape:current-layer="layer1"
inkscape:document-units="px"
showgrid="false"
@@ -97,7 +123,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>
@@ -1432,30 +1458,6 @@
x="-130.78345"
y="757.93884">rates</tspan></text>
<text
- transform="matrix(1.0176358,-0.00753392,0.00727468,0.98261598,0,0)"
- inkscape:export-ydpi="90"
- inkscape:export-xdpi="90"
- inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/web_template-2011.png"
- sodipodi:linespacing="100%"
- id="text3993"
- y="81.933052"
- x="-115.68397"
- style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;display:inline;font-family:'festus!';-inkscape-font-specification:'festus!'"
- xml:space="preserve"><tspan
- y="81.933052"
- x="-115.68397"
- sodipodi:role="line"
- id="tspan3995">icons of the </tspan><tspan
- y="99.933052"
- x="-115.68397"
- sodipodi:role="line"
- id="tspan3997">minimized apps</tspan><tspan
- y="117.93305"
- x="-115.68397"
- sodipodi:role="line"
- id="tspan4063"
- dx="0 4">(jabber chat, etc)</tspan></text>
- <text
xml:space="preserve"
style="font-size:18px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;display:inline;font-family:'festus!';-inkscape-font-specification:'festus!'"
x="1012.2725"
@@ -2473,6 +2475,1434 @@
id="path3823"
style="color:#000000;fill:#c87137;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" />
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cccccc;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="rect6473"
+ width="772"
+ height="1148"
+ x="43"
+ y="-1448"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3824"
+ width="707.21039"
+ height="630.90399"
+ x="73.875587"
+ y="-995.74152"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-968.24432"
+ x="80.351868"
+ height="32.98317"
+ width="146.36401"
+ id="rect4088"
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3872"
+ width="527.24084"
+ height="29.156178"
+ x="238.32439"
+ y="-665.15656"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.82999998;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path3826"
+ sodipodi:cx="243.24474"
+ sodipodi:cy="-1704.0453"
+ sodipodi:rx="79.195961"
+ sodipodi:ry="79.195961"
+ d="m 322.4407,-1704.0453 a 79.195961,79.195961 0 1 1 -158.39193,0 79.195961,79.195961 0 1 1 158.39193,0 z"
+ transform="translate(-724.07735,1029.5475)" />
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3830"
+ width="146.36401"
+ height="257.33154"
+ x="80.351868"
+ y="-928.98218"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="color:#000000;fill:#f9f9f9;fill-opacity:1;fill-rule:nonzero;stroke:#cccccc;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6451"
+ width="16"
+ height="229"
+ x="211"
+ y="-930"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ rx="7.4279795"
+ ry="7.4279795"
+ y="-664.66113"
+ x="306.63422"
+ height="46.690155"
+ width="66.851814"
+ id="rect4056"
+ style="color:#000000;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="color:#000000;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4058"
+ width="66.851814"
+ height="46.690155"
+ x="376.63422"
+ y="-664.66113"
+ ry="7.4279795"
+ rx="7.4279795"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="color:#000000;fill:#ececec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3832"
+ width="529.53052"
+ height="170.80717"
+ x="236.64713"
+ y="-637.33972"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-967.83386"
+ x="234.48746"
+ height="294.62897"
+ width="375.62448"
+ id="rect3834"
+ style="opacity:0.82999998;color:#000000;fill:#f4d7d7;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ transform="matrix(1.0176358,-0.00753392,0.00727468,0.98261598,0,0)"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ sodipodi:linespacing="100%"
+ id="text3993"
+ y="-735.8465"
+ x="154.39923"
+ style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:#ffffff;stroke-width:0.5;display:inline;font-family:'festus!';-inkscape-font-specification:'festus! Bold'"
+ xml:space="preserve"><tspan
+ y="-735.8465"
+ x="154.39923"
+ sodipodi:role="line"
+ id="tspan4063"
+ style="stroke-width:0.5">drag & drop</tspan></text>
+ <rect
+ y="-463.78766"
+ x="236.64713"
+ height="67.908195"
+ width="531.96021"
+ id="rect3836"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-969.16553"
+ x="620.72406"
+ height="293.34161"
+ width="146.36401"
+ id="rect3838"
+ style="opacity:0.82999998;color:#000000;fill:#ffaaaa;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3840"
+ width="58.312355"
+ height="29.156178"
+ x="236.39433"
+ y="-386.09869"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-390.74152"
+ x="73.875587"
+ height="51.903992"
+ width="707.21039"
+ id="rect6447"
+ style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ ry="15.000001"
+ rx="15"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-386.09869"
+ x="236.39433"
+ height="29.156178"
+ width="58.312355"
+ id="rect3842"
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3846"
+ width="145.78088"
+ height="29.156178"
+ x="81.324394"
+ y="-657.97308"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-621.97308"
+ x="81.324394"
+ height="29.156178"
+ width="145.78088"
+ id="rect3848"
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3850"
+ width="145.78088"
+ height="29.156178"
+ x="81.324394"
+ y="-586.91193"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image15329-3-3"
+ x="84.471268"
+ y="-923.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="241.19073"
+ y="-365.95026"
+ id="text3878"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan3880"
+ x="241.19073"
+ y="-365.95026">Send</tspan></text>
+ <rect
+ y="-386.09869"
+ x="302.39435"
+ height="29.156178"
+ width="32.800701"
+ id="rect3882"
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3884"
+ width="30.371019"
+ height="29.156178"
+ x="302.39435"
+ y="-386.09869"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ sodipodi:linespacing="100%"
+ id="text3887"
+ y="-363.95026"
+ x="310.19073"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-363.95026"
+ x="310.19073"
+ id="tspan3889"
+ sodipodi:role="line">:)</tspan></text>
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#d1b8b8;fill-opacity:0.97254902;fill-rule:nonzero;stroke:#a02c2c;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect3891"
+ width="349.99832"
+ height="82.609161"
+ x="238.29099"
+ y="-919.56219"
+ ry="31.585857"
+ rx="27.941336"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="color:#000000;fill:#d1b8b8;fill-opacity:0.97255111;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6401"
+ width="73.859985"
+ height="21.884439"
+ x="266.71661"
+ y="-932.573"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ width="16"
+ height="32"
+ id="image12519-4"
+ x="210.80858"
+ y="-701.30103"
+ style="display:inline"
+ xlink:href="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/various/scroll2.png"
+ sodipodi:absref="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/various/scroll2.png" />
+ <image
+ sodipodi:absref="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/various/scroll2.png"
+ xlink:href="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/various/scroll2.png"
+ style="display:inline"
+ y="-706.30103"
+ x="593.80859"
+ id="image3922"
+ height="32"
+ width="16"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ width="16"
+ height="32"
+ id="image3924"
+ x="750.80859"
+ y="-707.30103"
+ style="display:inline"
+ xlink:href="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/various/scroll2.png"
+ sodipodi:absref="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/various/scroll2.png" />
+ <image
+ sodipodi:absref="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/various/scroll2.png"
+ xlink:href="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/various/scroll2.png"
+ style="display:inline"
+ y="-501.30103"
+ x="749.80859"
+ id="image3926"
+ height="32"
+ width="16"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-910.71503"
+ x="260.10443"
+ id="image3928"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image3930"
+ x="296.10443"
+ y="-910.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-910.71503"
+ x="331.10443"
+ id="image3932"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image3934"
+ x="366.10443"
+ y="-910.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image3936"
+ x="400.10443"
+ y="-910.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-910.71503"
+ x="436.10443"
+ id="image3938"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image3940"
+ x="471.10443"
+ y="-910.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-910.71503"
+ x="506.10443"
+ id="image3942"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-875.71503"
+ x="260.10443"
+ id="image3944"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image3946"
+ x="296.10443"
+ y="-875.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-875.71503"
+ x="331.10443"
+ id="image3948"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image3950"
+ x="366.10443"
+ y="-875.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-910.71503"
+ x="541.10443"
+ id="image3952"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ rx="27.941336"
+ ry="31.585857"
+ y="-820.56219"
+ x="238.29099"
+ height="56.408123"
+ width="349.99832"
+ id="rect3956"
+ style="opacity:0.82999998;color:#000000;fill:#d1b8b8;fill-opacity:0.97254902;fill-rule:nonzero;stroke:#1a1a1a;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image3958"
+ x="260.10443"
+ y="-804.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-804.71503"
+ x="296.10443"
+ id="image3960"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image3962"
+ x="331.10443"
+ y="-804.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-804.71503"
+ x="366.10443"
+ id="image3964"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-804.71503"
+ x="400.10443"
+ id="image3966"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image3968"
+ x="436.10443"
+ y="-804.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-804.71503"
+ x="471.10443"
+ id="image3970"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="31.736002"
+ height="31.743042"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image3972"
+ x="506.10443"
+ y="-804.71503"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ sodipodi:linespacing="100%"
+ id="text3984"
+ y="-945.57721"
+ x="84.272552"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-945.57721"
+ x="84.272552"
+ id="tspan3986"
+ sodipodi:role="line"
+ style="font-size:18px">Your contacts</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="244.27255"
+ y="-944.57721"
+ id="text4005"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan4007"
+ x="244.27255"
+ y="-944.57721"><tspan
+ style="font-size:18px"
+ id="tspan6328">Your Groups of Contacts</tspan><tspan
+ style="font-size:10px"
+ id="tspan6326">(XMPP) </tspan></tspan></text>
+ <text
+ sodipodi:linespacing="100%"
+ id="text4028"
+ y="-947.57721"
+ x="625.78333"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-947.57721"
+ x="625.78333"
+ sodipodi:role="line"
+ style="font-size:18px"
+ id="tspan6332">Groups you</tspan><tspan
+ y="-929.57721"
+ x="625.78333"
+ sodipodi:role="line"
+ style="font-size:18px"
+ id="tspan6461">participate in</tspan></text>
+ <image
+ style="display:inline"
+ y="-920.7627"
+ x="625.47876"
+ id="image4197-4"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAABHNCSVQICAgIfAhkiAAAB71JREFU aIHVml9IXGcah5+j49SZ4zmHOOl0G4Wdtqvp0A6RqknTJt1cJNltWAiFtltKoBakgwy5sA2kF8WL QlZy6V6YSRmUtRZSJA32oliSQiBNyPonmRUJiiSkVNJEE6zOycyoM+fdC3WjiX9mnKNmX/jdfPOd 9/2eec98h/P9RhER7AhFUbyaRpeisK2ggNvJJP95+JB24Gexq8haQkRyFuBXVe7W1zM9OIh0dSGN jaR9PiZVlXtOJyeAMjtqZb02G+CK3W5Gw2HSS03p60Pq6khoGnFd5yKw6/8KUNO4EAqRXG1qIoE0 NZH2eHhoGFwG9jz1gE4nx/x+zKmpzC+bmkLCYSyvF9Mw6Ab2PZWAQJWqEh8eXluKmRmkpQWrpATT MLgOHHhqAIE8TWOotRUr1zWkUkh7O+LzETMMBoBDmw7ocBCqrMS088tOp5GODqSsjJhhMAQcBpQN BwQ8LhexaNT2u0lEEMtCOjuR8nJiuk4UqNhQQE2jLRhcfde0o6PNzViaRryoiAiwZd0BgSrDID4+ vr5wCzU2htTUkHC7mcjPpzbb2zYbOEXXGYhEct9Y1qKeHiQQwNR1BoAq2wHz86kNBDAta+Ph5mVZ SCSCZRjENY02wGMLILDF7Waip2fz4BZqfBwJBkm6XMQcDkJAXk6ARUVEampIbDbY44pGkcpKTE1j aLnbNpPuVWga8bGxzQdaTq2tWKpK3OnkWFaAcxtLtLl5czaWbDQ8jPj9mJrGBaA4U8DD5eXE0unN B8hEU1NIKETS7WYU8K8KaBgMdXZuzOJ++QX57jvkp5+Q33/PLVc4TFpVuQt4V+reobIyYuv1WLAs 5NSpPDl0SBev1yXFxars379Tqqu3S2GhQ8rLNfnwQ1UuXVpb/vp6pjWNayt1b6CjY33gbt5E3nrL La+//qqcOXNGbt68KQtjampKent7pampSZ57TpdPP3VKIpFdjcFBRNe5u1z3Dvh86/Pbi0QU8XgK 5eTJE5JKpWS1GBsbk/ff/5ts3+6W69czr9PVhXg8XF2ue9fb2+2Hu3QJ2bbNkBs3bqwK9ni0trbI iy+qEotlVquxkbSqcnqp7u0rKcFMpeyFM03kpZfccu7cuazh5uOjj/4uwWBhRvV8PiaBvUt1r7ul xf7nXl3dM/LBB4fXDCciMj4+LqWlHvnxx5Vr9fUhqso9QHm8e3u8XsyZGXvhRkcRt7tA7t+/nxOg iMjZs2elulpbsV5dHQmnkxMijz0HDYPL4bD93fvhB+TNNwM5w4mImKYpLpdDpqeXrpVIIJpGfP6g OW/+hFtRlF0OBxUff4xi16n5fPT25lFd/Wdbcqmqygsv/IGBgaU//+orLEWhW0SGgUeAus7JhgYK nU5b1rEoenqKqK7ebVu+qqqdXLv25Pj0NHz5JcnJSY7Pj+UBKIpSJsLOTz55BGxn/PorlJaW2pav pORPjIw8eaO1tiKpFFER+ff8WB6A00nNkSMohYW2rWFR7NgxQzQatS1ff/8VAoHFhlUqBQ0NxCcm HnUPIE9RFKWggNraWtYJD6qrE/T2XrItX19fP6+9tnjs66+RqSluiMjPj8/f6/MxaffOuVBXryIv v1xqyy46MjIixcXPLMqfSiElJZgs4XPkqSpHgkFU277eJWLHDnjw4D5XrlzJOdepU//k4EHHorEz Z8A0GRaRi09c4PFwtatr/bo3r2+/RbZvL5VEIrHm7nV3d4vX65LffnuUN52e9TVYxrxB17k7OLj+ gCLIe++55Nixo2uCSyQS4vf/Ub75ZvG5b0cHYhgMLFcUTeNafT3TGwE4NoY8/3yhfPHFcZmens4Y bmRkRA4e3CvvvONelM+yZs0aVnCkALyqyt3lLGi7dfs2sn+/WyoqyqS/v39VuLa2f8nWrUXy+ecF kkwuztXZiRgGQysVnKf0u92MhkIks3Frc9Hp04ps3eqSd9/9izQ2/kPOnz8vDx48kFu3bklHR4cc P/6ZvPFGQF55RZWlDpzT6VkHCji8KuAcZLGmccHvx1yra5ut7txB2tqQo0edsnu3IS6XQ559tlDe fluXhoY8+f57nujavJqbsebstRXNmCcGnE6OqSpxO9zbbJXpEcnY2P/eGFb1DpcehCpNY6iyEnO9 jM5cVFNDoqiISCaTl/8A8hwOQi4XsWCQ5EZ6giuppwdxu5kgQ0N09Qng0TTaDIN4JIK12fZZIICZ n09tphdlnB2o0nUGAgHMzbLRIhGsOQM0Y5c3qwqAkp9PrdvNRE0NiY10nMbHEcMgThbubtaAC0C3 FBUR0TTizc1YG2HOBIMkNY22rNeaS1WgQteJlpcT6+yc/Y2sB1w0irhcxMjAsrYVcA5SAQ4bBkNl ZcQ6OjJ/nmWqykpMh4PQmtZn50qAQ4bBgM9HrL199kU017StrVhzFvWyPvyGAS4APWAYXC8pwWxp wVrrQfLwMKKq2W8s6w64AHSfYdDt9WKGw1jZ/u3S78dcynd/agAXgO4xDC57PDxsaiKdidcXCpHU NC7kXHsjABeA7tJ1Lmoa8bo6En19S08Nh0nP+ezFOdfcSMAFoGVOJydUlXs+H5ONjaS7umZd2fp6 puf8db8dtZS5gpsSiqIowB5V5UhhITtmZvCJcCcW468iMmpHjf8C6MILrTFT1g8AAAAASUVORK5C YII= "
+ height="22"
+ width="22"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ sodipodi:linespacing="100%"
+ id="text4050"
+ y="-637.15228"
+ x="86.734329"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-637.15228"
+ x="86.734329"
+ id="tspan4052"
+ sodipodi:role="line">Add contact</tspan></text>
+ <rect
+ style="color:#000000;fill:#ececec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect4054"
+ width="66.851814"
+ height="46.690155"
+ x="236.6342"
+ y="-664.66113"
+ ry="7.4279795"
+ rx="7.4279795"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-663.94092"
+ x="238.39769"
+ id="image4060"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="23.252039"
+ width="23.246883"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="23.246883"
+ height="23.252039"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image4062"
+ x="310.39771"
+ y="-663.94092"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ width="22"
+ height="22"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAABHNCSVQICAgIfAhkiAAAB71JREFU aIHVml9IXGcah5+j49SZ4zmHOOl0G4Wdtqvp0A6RqknTJt1cJNltWAiFtltKoBakgwy5sA2kF8WL QlZy6V6YSRmUtRZSJA32oliSQiBNyPonmRUJiiSkVNJEE6zOycyoM+fdC3WjiX9mnKNmX/jdfPOd 9/2eec98h/P9RhER7AhFUbyaRpeisK2ggNvJJP95+JB24Gexq8haQkRyFuBXVe7W1zM9OIh0dSGN jaR9PiZVlXtOJyeAMjtqZb02G+CK3W5Gw2HSS03p60Pq6khoGnFd5yKw6/8KUNO4EAqRXG1qIoE0 NZH2eHhoGFwG9jz1gE4nx/x+zKmpzC+bmkLCYSyvF9Mw6Ab2PZWAQJWqEh8eXluKmRmkpQWrpATT MLgOHHhqAIE8TWOotRUr1zWkUkh7O+LzETMMBoBDmw7ocBCqrMS088tOp5GODqSsjJhhMAQcBpQN BwQ8LhexaNT2u0lEEMtCOjuR8nJiuk4UqNhQQE2jLRhcfde0o6PNzViaRryoiAiwZd0BgSrDID4+ vr5wCzU2htTUkHC7mcjPpzbb2zYbOEXXGYhEct9Y1qKeHiQQwNR1BoAq2wHz86kNBDAta+Ph5mVZ SCSCZRjENY02wGMLILDF7Waip2fz4BZqfBwJBkm6XMQcDkJAXk6ARUVEampIbDbY44pGkcpKTE1j aLnbNpPuVWga8bGxzQdaTq2tWKpK3OnkWFaAcxtLtLl5czaWbDQ8jPj9mJrGBaA4U8DD5eXE0unN B8hEU1NIKETS7WYU8K8KaBgMdXZuzOJ++QX57jvkp5+Q33/PLVc4TFpVuQt4V+reobIyYuv1WLAs 5NSpPDl0SBev1yXFxars379Tqqu3S2GhQ8rLNfnwQ1UuXVpb/vp6pjWNayt1b6CjY33gbt5E3nrL La+//qqcOXNGbt68KQtjampKent7pampSZ57TpdPP3VKIpFdjcFBRNe5u1z3Dvh86/Pbi0QU8XgK 5eTJE5JKpWS1GBsbk/ff/5ts3+6W69czr9PVhXg8XF2ue9fb2+2Hu3QJ2bbNkBs3bqwK9ni0trbI iy+qEotlVquxkbSqcnqp7u0rKcFMpeyFM03kpZfccu7cuazh5uOjj/4uwWBhRvV8PiaBvUt1r7ul xf7nXl3dM/LBB4fXDCciMj4+LqWlHvnxx5Vr9fUhqso9QHm8e3u8XsyZGXvhRkcRt7tA7t+/nxOg iMjZs2elulpbsV5dHQmnkxMijz0HDYPL4bD93fvhB+TNNwM5w4mImKYpLpdDpqeXrpVIIJpGfP6g OW/+hFtRlF0OBxUff4xi16n5fPT25lFd/Wdbcqmqygsv/IGBgaU//+orLEWhW0SGgUeAus7JhgYK nU5b1rEoenqKqK7ebVu+qqqdXLv25Pj0NHz5JcnJSY7Pj+UBKIpSJsLOTz55BGxn/PorlJaW2pav pORPjIw8eaO1tiKpFFER+ff8WB6A00nNkSMohYW2rWFR7NgxQzQatS1ff/8VAoHFhlUqBQ0NxCcm HnUPIE9RFKWggNraWtYJD6qrE/T2XrItX19fP6+9tnjs66+RqSluiMjPj8/f6/MxaffOuVBXryIv v1xqyy46MjIixcXPLMqfSiElJZgs4XPkqSpHgkFU277eJWLHDnjw4D5XrlzJOdepU//k4EHHorEz Z8A0GRaRi09c4PFwtatr/bo3r2+/RbZvL5VEIrHm7nV3d4vX65LffnuUN52e9TVYxrxB17k7OLj+ gCLIe++55Nixo2uCSyQS4vf/Ub75ZvG5b0cHYhgMLFcUTeNafT3TGwE4NoY8/3yhfPHFcZmens4Y bmRkRA4e3CvvvONelM+yZs0aVnCkALyqyt3lLGi7dfs2sn+/WyoqyqS/v39VuLa2f8nWrUXy+ecF kkwuztXZiRgGQysVnKf0u92MhkIks3Frc9Hp04ps3eqSd9/9izQ2/kPOnz8vDx48kFu3bklHR4cc P/6ZvPFGQF55RZWlDpzT6VkHCji8KuAcZLGmccHvx1yra5ut7txB2tqQo0edsnu3IS6XQ559tlDe fluXhoY8+f57nujavJqbsebstRXNmCcGnE6OqSpxO9zbbJXpEcnY2P/eGFb1DpcehCpNY6iyEnO9 jM5cVFNDoqiISCaTl/8A8hwOQi4XsWCQ5EZ6giuppwdxu5kgQ0N09Qng0TTaDIN4JIK12fZZIICZ n09tphdlnB2o0nUGAgHMzbLRIhGsOQM0Y5c3qwqAkp9PrdvNRE0NiY10nMbHEcMgThbubtaAC0C3 FBUR0TTizc1YG2HOBIMkNY22rNeaS1WgQteJlpcT6+yc/Y2sB1w0irhcxMjAsrYVcA5SAQ4bBkNl ZcQ6OjJ/nmWqykpMh4PQmtZn50qAQ4bBgM9HrL199kU017StrVhzFvWyPvyGAS4APWAYXC8pwWxp wVrrQfLwMKKq2W8s6w64AHSfYdDt9WKGw1jZ/u3S78dcynd/agAXgO4xDC57PDxsaiKdidcXCpHU NC7kXHsjABeA7tJ1Lmoa8bo6En19S08Nh0nP+ezFOdfcSMAFoGVOJydUlXs+H5ONjaS7umZd2fp6 puf8db8dtZS5gpsSiqIowB5V5UhhITtmZvCJcCcW468iMmpHjf8C6MILrTFT1g8AAAAASUVORK5C YII= "
+ id="image4068"
+ x="625.47876"
+ y="-920.7627"
+ style="display:inline" />
+ <image
+ style="display:inline"
+ y="-662.29431"
+ x="379.29431"
+ id="image4070"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAABHNCSVQICAgIfAhkiAAAB71JREFU aIHVml9IXGcah5+j49SZ4zmHOOl0G4Wdtqvp0A6RqknTJt1cJNltWAiFtltKoBakgwy5sA2kF8WL QlZy6V6YSRmUtRZSJA32oliSQiBNyPonmRUJiiSkVNJEE6zOycyoM+fdC3WjiX9mnKNmX/jdfPOd 9/2eec98h/P9RhER7AhFUbyaRpeisK2ggNvJJP95+JB24Gexq8haQkRyFuBXVe7W1zM9OIh0dSGN jaR9PiZVlXtOJyeAMjtqZb02G+CK3W5Gw2HSS03p60Pq6khoGnFd5yKw6/8KUNO4EAqRXG1qIoE0 NZH2eHhoGFwG9jz1gE4nx/x+zKmpzC+bmkLCYSyvF9Mw6Ab2PZWAQJWqEh8eXluKmRmkpQWrpATT MLgOHHhqAIE8TWOotRUr1zWkUkh7O+LzETMMBoBDmw7ocBCqrMS088tOp5GODqSsjJhhMAQcBpQN BwQ8LhexaNT2u0lEEMtCOjuR8nJiuk4UqNhQQE2jLRhcfde0o6PNzViaRryoiAiwZd0BgSrDID4+ vr5wCzU2htTUkHC7mcjPpzbb2zYbOEXXGYhEct9Y1qKeHiQQwNR1BoAq2wHz86kNBDAta+Ph5mVZ SCSCZRjENY02wGMLILDF7Waip2fz4BZqfBwJBkm6XMQcDkJAXk6ARUVEampIbDbY44pGkcpKTE1j aLnbNpPuVWga8bGxzQdaTq2tWKpK3OnkWFaAcxtLtLl5czaWbDQ8jPj9mJrGBaA4U8DD5eXE0unN B8hEU1NIKETS7WYU8K8KaBgMdXZuzOJ++QX57jvkp5+Q33/PLVc4TFpVuQt4V+reobIyYuv1WLAs 5NSpPDl0SBev1yXFxars379Tqqu3S2GhQ8rLNfnwQ1UuXVpb/vp6pjWNayt1b6CjY33gbt5E3nrL La+//qqcOXNGbt68KQtjampKent7pampSZ57TpdPP3VKIpFdjcFBRNe5u1z3Dvh86/Pbi0QU8XgK 5eTJE5JKpWS1GBsbk/ff/5ts3+6W69czr9PVhXg8XF2ue9fb2+2Hu3QJ2bbNkBs3bqwK9ni0trbI iy+qEotlVquxkbSqcnqp7u0rKcFMpeyFM03kpZfccu7cuazh5uOjj/4uwWBhRvV8PiaBvUt1r7ul xf7nXl3dM/LBB4fXDCciMj4+LqWlHvnxx5Vr9fUhqso9QHm8e3u8XsyZGXvhRkcRt7tA7t+/nxOg iMjZs2elulpbsV5dHQmnkxMijz0HDYPL4bD93fvhB+TNNwM5w4mImKYpLpdDpqeXrpVIIJpGfP6g OW/+hFtRlF0OBxUff4xi16n5fPT25lFd/Wdbcqmqygsv/IGBgaU//+orLEWhW0SGgUeAus7JhgYK nU5b1rEoenqKqK7ebVu+qqqdXLv25Pj0NHz5JcnJSY7Pj+UBKIpSJsLOTz55BGxn/PorlJaW2pav pORPjIw8eaO1tiKpFFER+ff8WB6A00nNkSMohYW2rWFR7NgxQzQatS1ff/8VAoHFhlUqBQ0NxCcm HnUPIE9RFKWggNraWtYJD6qrE/T2XrItX19fP6+9tnjs66+RqSluiMjPj8/f6/MxaffOuVBXryIv v1xqyy46MjIixcXPLMqfSiElJZgs4XPkqSpHgkFU277eJWLHDnjw4D5XrlzJOdepU//k4EHHorEz Z8A0GRaRi09c4PFwtatr/bo3r2+/RbZvL5VEIrHm7nV3d4vX65LffnuUN52e9TVYxrxB17k7OLj+ gCLIe++55Nixo2uCSyQS4vf/Ub75ZvG5b0cHYhgMLFcUTeNafT3TGwE4NoY8/3yhfPHFcZmens4Y bmRkRA4e3CvvvONelM+yZs0aVnCkALyqyt3lLGi7dfs2sn+/WyoqyqS/v39VuLa2f8nWrUXy+ecF kkwuztXZiRgGQysVnKf0u92MhkIks3Frc9Hp04ps3eqSd9/9izQ2/kPOnz8vDx48kFu3bklHR4cc P/6ZvPFGQF55RZWlDpzT6VkHCji8KuAcZLGmccHvx1yra5ut7txB2tqQo0edsnu3IS6XQ559tlDe fluXhoY8+f57nujavJqbsebstRXNmCcGnE6OqSpxO9zbbJXpEcnY2P/eGFb1DpcehCpNY6iyEnO9 jM5cVFNDoqiISCaTl/8A8hwOQi4XsWCQ5EZ6giuppwdxu5kgQ0N09Qng0TTaDIN4JIK12fZZIICZ n09tphdlnB2o0nUGAgHMzbLRIhGsOQM0Y5c3qwqAkp9PrdvNRE0NiY10nMbHEcMgThbubtaAC0C3 FBUR0TTizc1YG2HOBIMkNY22rNeaS1WgQteJlpcT6+yc/Y2sB1w0irhcxMjAsrYVcA5SAQ4bBkNl ZcQ6OjJ/nmWqykpMh4PQmtZn50qAQ4bBgM9HrL199kU017StrVhzFvWyPvyGAS4APWAYXC8pwWxp wVrrQfLwMKKq2W8s6w64AHSfYdDt9WKGw1jZ/u3S78dcynd/agAXgO4xDC57PDxsaiKdidcXCpHU NC7kXHsjABeA7tJ1Lmoa8bo6En19S08Nh0nP+ezFOdfcSMAFoGVOJydUlXs+H5ONjaS7umZd2fp6 puf8db8dtZS5gpsSiqIowB5V5UhhITtmZvCJcCcW468iMmpHjf8C6MILrTFT1g8AAAAASUVORK5C YII= "
+ height="22"
+ width="22"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Italic"
+ x="244.21739"
+ y="-438.23007"
+ id="text4072"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan4074"
+ x="244.21739"
+ y="-438.23007">Write here, write now ;)</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="85.766296"
+ y="-601.15228"
+ id="text4076"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan4078"
+ x="85.766296"
+ y="-601.15228">New room</tspan></text>
+ <text
+ sodipodi:linespacing="100%"
+ id="text4080"
+ y="-565.15228"
+ x="85.766296"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-565.15228"
+ x="85.766296"
+ id="tspan4082"
+ sodipodi:role="line">Start chat</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;color:#000000;fill:#782121;fill-opacity:0.97254902;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="702.0177"
+ y="-644.28217"
+ id="text4084"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan4086"
+ x="702.0177"
+ y="-644.28217"
+ style="fill:#782121;fill-opacity:0.97254902">Chat</tspan></text>
+ <path
+ style="fill:#0000ff;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:url(#Arrow1Lstart);marker-mid:none;marker-end:url(#Arrow1Lstart)"
+ d="m 151.11072,-708.23846 c 38.55475,-1.06114 132.11699,0.0538 117.71947,0.0808"
+ id="path4128"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-928.00006"
+ x="594"
+ height="222"
+ width="16"
+ id="rect6453"
+ style="color:#000000;fill:#f9f9f9;fill-opacity:1;fill-rule:nonzero;stroke:#cccccc;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:#ffffff;stroke-width:0.5;display:inline;font-family:'festus!';-inkscape-font-specification:'festus! Bold'"
+ x="564.28058"
+ y="-740.25293"
+ id="text6083"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ transform="matrix(1.0176358,-0.00753392,0.00727468,0.98261598,0,0)"><tspan
+ style="stroke-width:0.5"
+ id="tspan6085"
+ sodipodi:role="line"
+ x="564.28058"
+ y="-740.25293">drag & drop</tspan></text>
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path6087"
+ d="m 567.18858,-721.65637 c 38.55475,-1.06114 132.11699,0.0538 117.71947,0.0808"
+ style="fill:#0000ff;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3, 3;stroke-dashoffset:0;marker-start:url(#Arrow1Lstart);marker-mid:none;marker-end:url(#Arrow1Lstart)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ transform="matrix(1.0176358,-0.00753392,0.00727468,0.98261598,0,0)"
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ sodipodi:linespacing="100%"
+ id="text6089"
+ y="-590.73108"
+ x="337.89642"
+ style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:#ffffff;stroke-width:0.5;display:inline;font-family:'festus!';-inkscape-font-specification:'festus! Bold'"
+ xml:space="preserve"><tspan
+ y="-590.73108"
+ x="337.89642"
+ sodipodi:role="line"
+ id="tspan6091"
+ style="stroke-width:0.5">drop here to chat or to make</tspan><tspan
+ y="-562.73108"
+ x="337.89642"
+ sodipodi:role="line"
+ style="stroke-width:0.5"
+ id="tspan6126">a group chat</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
+ x="121.27255"
+ y="-901.57721"
+ id="text6116"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan6118"
+ x="121.27255"
+ y="-901.57721">Jane</tspan></text>
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path6120"
+ sodipodi:cx="118.99664"
+ sodipodi:cy="-1104.4874"
+ sodipodi:rx="5.4711099"
+ sodipodi:ry="5.4711099"
+ d="m 124.46775,-1104.4874 a 5.4711099,5.4711099 0 1 1 -10.94222,0 5.4711099,5.4711099 0 1 1 10.94222,0 z"
+ transform="translate(205.16663,226.26996)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ d="m 124.46775,-1104.4874 a 5.4711099,5.4711099 0 1 1 -10.94222,0 5.4711099,5.4711099 0 1 1 10.94222,0 z"
+ sodipodi:ry="5.4711099"
+ sodipodi:rx="5.4711099"
+ sodipodi:cy="-1104.4874"
+ sodipodi:cx="118.99664"
+ id="path6122"
+ style="color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc"
+ transform="translate(-3,211)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <path
+ transform="translate(344.16663,226.26996)"
+ d="m 124.46775,-1104.4874 a 5.4711099,5.4711099 0 1 1 -10.94222,0 5.4711099,5.4711099 0 1 1 10.94222,0 z"
+ sodipodi:ry="5.4711099"
+ sodipodi:rx="5.4711099"
+ sodipodi:cy="-1104.4874"
+ sodipodi:cx="118.99664"
+ id="path6124"
+ style="color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ sodipodi:type="arc"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-886.71503"
+ x="84.471268"
+ id="image6128"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="31.743042"
+ width="31.736002"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ sodipodi:linespacing="100%"
+ id="text6130"
+ y="-864.57721"
+ x="121.27255"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-864.57721"
+ x="121.27255"
+ id="tspan6132"
+ sodipodi:role="line">John</tspan></text>
+ <path
+ transform="translate(-3,248)"
+ sodipodi:type="arc"
+ style="color:#000000;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path6134"
+ sodipodi:cx="118.99664"
+ sodipodi:cy="-1104.4874"
+ sodipodi:rx="5.4711099"
+ sodipodi:ry="5.4711099"
+ d="m 124.46775,-1104.4874 a 5.4711099,5.4711099 0 1 1 -10.94222,0 5.4711099,5.4711099 0 1 1 10.94222,0 z"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ sodipodi:linespacing="100%"
+ id="text6136"
+ y="-903.15161"
+ x="653.97021"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-903.15161"
+ x="653.97021"
+ id="tspan6138"
+ sodipodi:role="line">Foo</tspan></text>
+ <rect
+ rx="15"
+ ry="15.000001"
+ style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6449"
+ width="707.21039"
+ height="51.903992"
+ x="73.875587"
+ y="-1120.7415"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-1422.0948"
+ x="73.875587"
+ height="331.25742"
+ width="707.21039"
+ id="rect6140"
+ style="color:#000000;fill:#552200;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6142"
+ width="146.36401"
+ height="32.98317"
+ x="80.351868"
+ y="-1398.2444"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-1395.1566"
+ x="238.32439"
+ height="29.156178"
+ width="527.24084"
+ id="rect6144"
+ style="opacity:0.82999998;color:#000000;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="color:#000000;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6148"
+ width="66.851814"
+ height="46.690155"
+ x="306.63422"
+ y="-1394.6611"
+ ry="7.4279795"
+ rx="7.4279795"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ rx="7.4279795"
+ ry="7.4279795"
+ y="-1394.6611"
+ x="376.63422"
+ height="46.690155"
+ width="66.851814"
+ id="rect6150"
+ style="color:#000000;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-1367.3397"
+ x="236.64713"
+ height="170.80717"
+ width="529.53052"
+ id="rect6152"
+ style="color:#000000;fill:#ececec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6160"
+ width="531.96021"
+ height="67.908195"
+ x="236.64713"
+ y="-1193.7877"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-1116.0986"
+ x="236.39433"
+ height="29.156178"
+ width="58.312355"
+ id="rect6164"
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6166"
+ width="58.312355"
+ height="29.156178"
+ x="236.39433"
+ y="-1116.0986"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-1357.9731"
+ x="81.324394"
+ height="29.156178"
+ width="145.78088"
+ id="rect6168"
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6170"
+ width="145.78088"
+ height="29.156178"
+ x="81.324394"
+ y="-1321.9731"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-1286.9119"
+ x="81.324394"
+ height="29.156178"
+ width="145.78088"
+ id="rect6172"
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ sodipodi:linespacing="100%"
+ id="text6176"
+ y="-1095.9503"
+ x="241.19073"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-1095.9503"
+ x="241.19073"
+ id="tspan6178"
+ sodipodi:role="line">Send</tspan></text>
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6180"
+ width="32.800701"
+ height="29.156178"
+ x="302.39435"
+ y="-1116.0986"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ y="-1116.0986"
+ x="302.39435"
+ height="29.156178"
+ width="30.371019"
+ id="rect6182"
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="310.19073"
+ y="-1093.9503"
+ id="text6184"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan6186"
+ x="310.19073"
+ y="-1093.9503">:)</tspan></text>
+ <image
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ width="16"
+ height="32"
+ id="image6196"
+ x="749.80859"
+ y="-1231.301"
+ style="display:inline"
+ xlink:href="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/various/scroll2.png"
+ sodipodi:absref="/home/vjrj/proyectos/ourproject.org/kune/svn/trunk/img/various/scroll2.png" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="84.272552"
+ y="-1377.5771"
+ id="text6242"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan6244"
+ x="84.272552"
+ y="-1377.5771">Your contacts</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="86.734329"
+ y="-1337.1523"
+ id="text6256"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan6258"
+ x="86.734329"
+ y="-1337.1523">Add contact</tspan></text>
+ <rect
+ rx="7.4279795"
+ ry="7.4279795"
+ y="-1394.6611"
+ x="236.6342"
+ height="46.690155"
+ width="66.851814"
+ id="rect6260"
+ style="color:#000000;fill:#ececec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ width="23.246883"
+ height="23.252039"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ id="image6262"
+ x="238.39769"
+ y="-1393.9409"
+ style="display:inline"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ style="display:inline"
+ y="-1393.9409"
+ x="310.39771"
+ id="image6264"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCABkAGQDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKY7rGpZ2Cj1JxWZqmqfZAYoQDLjknoo9ff6Vzsksksu+RmdiTgk5IH9KuMG9SHNJ2OxS7 t5DtSeJm9A4JqeuAkQFeeTn86bZ67d6VMAXMttnDRk5x9Cen8v5hunbYFPueg0VXtbmK8to7iFw0 bjKkVYrMsKKKKACiiigAooooASmSyLFE8jfdVST9AKkqjqr+Xpk59QB+ZA/rQtxM5WSVppXlc5Zi SeeB7e1M5ySSDx+VAIx1PToKDyTxj6iuowGuODxkkevSsm+HBHBPt2rWkPB4zwayb08Ec/lQxo3v A98xe50+RjgASxg9hnDfqR+tdrXmXhCUp4ngUDiRXQ8+ik/j0Fem1zzWprHYKKKKkoKKKKACiiig AqnqieZps6+ilvy5/pVymSIJI2RujAgj60LRiZw579h/OgnoScDHAFDApIyMCHUkN7GkJGB06+vT /GuowGSnCEDIH0rFvXySMkjPY9K0rqXg9ck81hXMm44BwPek2M2fBsYl8SRt/wA80duvTIx/WvSx XDeAbbMt5dEYAVY1Prnk/wAh+ddzWE3qax2CiiipKCiiigAooooAKKKKAOL8QQGx1IygHy58sMDo 3cf1/Gsh7sADnt0B6V3er2UF9p8sNwwRfvCQn7hHQ15XK7xyFCc4OMjoa3hLQyktSzc3OSew+tZ5 JcjHJz6fp70E5JyMn3NdH4MsbS81NpZ5EMkADRxHALH+97gfzIP1G7K4Ja2Ox8OaadL0aGCQYmb9 5J/vHt+AwPwrXNFJWD1NRaKKKACiiigAoo7VSvr9LKIMRuduFUd6EribLbMEUsxAA6knisu71y3g ysX71/Y4X8+/4ZrBub2e7YtMxIB4UHAH4f1qD19cdMVtGn3Ic+xLfXlxfZEj/KOQo+6P8awbu0yT gcVs4Bzkkk+9RtGrk9CMHv1rSySsiLtnLNAwONpwT370+CGVZQ6MyuDlShIII7gjp9a3mtFJJwMC nR2ip2ANKwGxpPiK4WNYr8GUY/1q8MPqOn+e9dJb3cF2m6CVXHcA4I+o6iuLVAFHtTGDKwdGZWBy GU4I+hFQ6aexam+p6BRXH6X4meKZbfUG3RkgLMeCp/2vUe/866+smmty077C0UUUhiZwMnpXHX10 by6eTtnCj2H8v/r10uqS+Tp0zDqV2/mcVyJOBwCTjsela0l1M5voB4AGMnPbvQAc4GRkY5/zxSYx xwCBSnggDk/yrYzADgdScdh0oPAPTpQc4POKOAcZJP8AKgAI5PA6dqTqAegzwAOv+NL256+nrRwA ACSfYUABxk8frTWAK46nH+fpTiMEdc5/KkY/KcZJx2PSgDKvkwDwM57d66zwhqZvNOa1kJMtsQuT 3U9PywR+ArlrwYUjjIHNS+ErkweJI4x92ZGRvbjI/UD86zmrouL1PSaKKKwNTK14/wCgKPWQA/ka 5odvpRRW9LYxnuIOh/GjFFFaEinv9f6U0nCgiiigBcdKF+YjNFFAAOWx7Udh9KKKAM27+4341U0p jHr9gV4JuIx+bYooqHsyo7nrFFFFc5sf/9k= "
+ height="23.252039"
+ width="23.246883"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <image
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ width="22"
+ height="22"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAABHNCSVQICAgIfAhkiAAAB71JREFU aIHVml9IXGcah5+j49SZ4zmHOOl0G4Wdtqvp0A6RqknTJt1cJNltWAiFtltKoBakgwy5sA2kF8WL QlZy6V6YSRmUtRZSJA32oliSQiBNyPonmRUJiiSkVNJEE6zOycyoM+fdC3WjiX9mnKNmX/jdfPOd 9/2eec98h/P9RhER7AhFUbyaRpeisK2ggNvJJP95+JB24Gexq8haQkRyFuBXVe7W1zM9OIh0dSGN jaR9PiZVlXtOJyeAMjtqZb02G+CK3W5Gw2HSS03p60Pq6khoGnFd5yKw6/8KUNO4EAqRXG1qIoE0 NZH2eHhoGFwG9jz1gE4nx/x+zKmpzC+bmkLCYSyvF9Mw6Ab2PZWAQJWqEh8eXluKmRmkpQWrpATT MLgOHHhqAIE8TWOotRUr1zWkUkh7O+LzETMMBoBDmw7ocBCqrMS088tOp5GODqSsjJhhMAQcBpQN BwQ8LhexaNT2u0lEEMtCOjuR8nJiuk4UqNhQQE2jLRhcfde0o6PNzViaRryoiAiwZd0BgSrDID4+ vr5wCzU2htTUkHC7mcjPpzbb2zYbOEXXGYhEct9Y1qKeHiQQwNR1BoAq2wHz86kNBDAta+Ph5mVZ SCSCZRjENY02wGMLILDF7Waip2fz4BZqfBwJBkm6XMQcDkJAXk6ARUVEampIbDbY44pGkcpKTE1j aLnbNpPuVWga8bGxzQdaTq2tWKpK3OnkWFaAcxtLtLl5czaWbDQ8jPj9mJrGBaA4U8DD5eXE0unN B8hEU1NIKETS7WYU8K8KaBgMdXZuzOJ++QX57jvkp5+Q33/PLVc4TFpVuQt4V+reobIyYuv1WLAs 5NSpPDl0SBev1yXFxars379Tqqu3S2GhQ8rLNfnwQ1UuXVpb/vp6pjWNayt1b6CjY33gbt5E3nrL La+//qqcOXNGbt68KQtjampKent7pampSZ57TpdPP3VKIpFdjcFBRNe5u1z3Dvh86/Pbi0QU8XgK 5eTJE5JKpWS1GBsbk/ff/5ts3+6W69czr9PVhXg8XF2ue9fb2+2Hu3QJ2bbNkBs3bqwK9ni0trbI iy+qEotlVquxkbSqcnqp7u0rKcFMpeyFM03kpZfccu7cuazh5uOjj/4uwWBhRvV8PiaBvUt1r7ul xf7nXl3dM/LBB4fXDCciMj4+LqWlHvnxx5Vr9fUhqso9QHm8e3u8XsyZGXvhRkcRt7tA7t+/nxOg iMjZs2elulpbsV5dHQmnkxMijz0HDYPL4bD93fvhB+TNNwM5w4mImKYpLpdDpqeXrpVIIJpGfP6g OW/+hFtRlF0OBxUff4xi16n5fPT25lFd/Wdbcqmqygsv/IGBgaU//+orLEWhW0SGgUeAus7JhgYK nU5b1rEoenqKqK7ebVu+qqqdXLv25Pj0NHz5JcnJSY7Pj+UBKIpSJsLOTz55BGxn/PorlJaW2pav pORPjIw8eaO1tiKpFFER+ff8WB6A00nNkSMohYW2rWFR7NgxQzQatS1ff/8VAoHFhlUqBQ0NxCcm HnUPIE9RFKWggNraWtYJD6qrE/T2XrItX19fP6+9tnjs66+RqSluiMjPj8/f6/MxaffOuVBXryIv v1xqyy46MjIixcXPLMqfSiElJZgs4XPkqSpHgkFU277eJWLHDnjw4D5XrlzJOdepU//k4EHHorEz Z8A0GRaRi09c4PFwtatr/bo3r2+/RbZvL5VEIrHm7nV3d4vX65LffnuUN52e9TVYxrxB17k7OLj+ gCLIe++55Nixo2uCSyQS4vf/Ub75ZvG5b0cHYhgMLFcUTeNafT3TGwE4NoY8/3yhfPHFcZmens4Y bmRkRA4e3CvvvONelM+yZs0aVnCkALyqyt3lLGi7dfs2sn+/WyoqyqS/v39VuLa2f8nWrUXy+ecF kkwuztXZiRgGQysVnKf0u92MhkIks3Frc9Hp04ps3eqSd9/9izQ2/kPOnz8vDx48kFu3bklHR4cc P/6ZvPFGQF55RZWlDpzT6VkHCji8KuAcZLGmccHvx1yra5ut7txB2tqQo0edsnu3IS6XQ559tlDe fluXhoY8+f57nujavJqbsebstRXNmCcGnE6OqSpxO9zbbJXpEcnY2P/eGFb1DpcehCpNY6iyEnO9 jM5cVFNDoqiISCaTl/8A8hwOQi4XsWCQ5EZ6giuppwdxu5kgQ0N09Qng0TTaDIN4JIK12fZZIICZ n09tphdlnB2o0nUGAgHMzbLRIhGsOQM0Y5c3qwqAkp9PrdvNRE0NiY10nMbHEcMgThbubtaAC0C3 FBUR0TTizc1YG2HOBIMkNY22rNeaS1WgQteJlpcT6+yc/Y2sB1w0irhcxMjAsrYVcA5SAQ4bBkNl ZcQ6OjJ/nmWqykpMh4PQmtZn50qAQ4bBgM9HrL199kU017StrVhzFvWyPvyGAS4APWAYXC8pwWxp wVrrQfLwMKKq2W8s6w64AHSfYdDt9WKGw1jZ/u3S78dcynd/agAXgO4xDC57PDxsaiKdidcXCpHU NC7kXHsjABeA7tJ1Lmoa8bo6En19S08Nh0nP+ezFOdfcSMAFoGVOJydUlXs+H5ONjaS7umZd2fp6 puf8db8dtZS5gpsSiqIowB5V5UhhITtmZvCJcCcW468iMmpHjf8C6MILrTFT1g8AAAAASUVORK5C YII= "
+ id="image6268"
+ x="379.29431"
+ y="-1392.2943"
+ style="display:inline" />
+ <text
+ sodipodi:linespacing="100%"
+ id="text6270"
+ y="-1168.2301"
+ x="244.21739"
+ style="font-size:22px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999997999999997;color:#000000;fill:#b3b3b3;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077561999999999px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Italic"
+ xml:space="preserve"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-1168.2301"
+ x="244.21739"
+ id="tspan6272"
+ sodipodi:role="line">Write here, write now ;)</tspan></text>
+ <text
+ sodipodi:linespacing="100%"
+ id="text6274"
+ y="-1301.1523"
+ x="85.766296"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-1301.1523"
+ x="85.766296"
+ id="tspan6276"
+ sodipodi:role="line">New chatroom</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="85.766296"
+ y="-1265.1523"
+ id="text6278"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan6280"
+ x="85.766296"
+ y="-1265.1523">Start chat</tspan></text>
+ <text
+ sodipodi:linespacing="100%"
+ id="text6282"
+ y="-1376.2822"
+ x="698.0177"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ style="fill:#ffffff"
+ y="-1376.2822"
+ x="698.0177"
+ id="tspan6284"
+ sodipodi:role="line">Chat</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:28px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:100%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:#ffffff;stroke-width:0.5;display:inline;font-family:'festus!';-inkscape-font-specification:'festus! Bold'"
+ x="343.20746"
+ y="-1333.6051"
+ id="text6294"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ transform="matrix(1.0176358,-0.00753392,0.00727468,0.98261598,0,0)"><tspan
+ style="stroke-width:0.5"
+ id="tspan6296"
+ sodipodi:role="line"
+ x="343.20746"
+ y="-1333.6051">drop here to chat or to make</tspan><tspan
+ id="tspan6298"
+ style="stroke-width:0.5"
+ sodipodi:role="line"
+ x="343.20746"
+ y="-1305.6051">a group chat</tspan></text>
+ <path
+ sodipodi:type="star"
+ style="color:#000000;fill:#000080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="path6322"
+ sodipodi:sides="3"
+ sodipodi:cx="332.36993"
+ sodipodi:cy="-1041.5697"
+ sodipodi:r1="26.309727"
+ sodipodi:r2="13.154863"
+ sodipodi:arg1="0.52359878"
+ sodipodi:arg2="1.5707963"
+ inkscape:flatsided="true"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 355.15483,-1028.4148 -45.56979,0 22.78489,-39.4646 z"
+ inkscape:transform-center-y="6.5773991"
+ transform="matrix(1,0,0,-1,0,-2081.2943)"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ sodipodi:linespacing="100%"
+ id="text6393"
+ y="-916.57721"
+ x="276.27255"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;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/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ y="-916.57721"
+ x="276.27255"
+ id="tspan6395"
+ sodipodi:role="line">family</tspan></text>
+ <rect
+ y="-832.573"
+ x="266.71661"
+ height="21.884439"
+ width="59.859985"
+ id="rect6420"
+ style="color:#000000;fill:#d1b8b8;fill-opacity:0.97255111;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="276.27255"
+ y="-816.57721"
+ id="text6422"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan6424"
+ x="276.27255"
+ y="-816.57721">work</tspan></text>
+ <rect
+ style="color:#000000;fill:#f9f9f9;fill-opacity:1;fill-rule:nonzero;stroke:#cccccc;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6455"
+ width="16"
+ height="218.08206"
+ x="752"
+ y="-925.08209"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6467"
+ width="94.312332"
+ height="29.156178"
+ x="671.39435"
+ y="-386.09869" />
+ <rect
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ y="-386.09869"
+ x="707.39435"
+ height="29.156178"
+ width="58.312355"
+ id="rect6465"
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+ <text
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ sodipodi:linespacing="100%"
+ id="text6469"
+ y="-365.95026"
+ x="676.19073"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ xml:space="preserve"><tspan
+ y="-365.95026"
+ x="676.19073"
+ id="tspan6471"
+ sodipodi:role="line">wave this!</tspan></text>
+ <rect
+ y="-1117.0986"
+ x="671.39435"
+ height="29.156178"
+ width="94.312332"
+ id="rect6475"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <rect
+ style="opacity:0.82999998;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+ id="rect6477"
+ width="58.312355"
+ height="29.156178"
+ x="707.39435"
+ y="-1117.0986"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;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:start;baseline-shift:baseline;opacity:0.82999998;color:#000000;fill:#782121;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.52077562px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Ubuntu;-inkscape-font-specification:Ubuntu Bold"
+ x="676.19073"
+ y="-1096.9503"
+ id="text6479"
+ sodipodi:linespacing="100%"
+ inkscape:export-filename="/home/vjrj/proyectos/dev/kune/trunk/img/webtemplate/chat-revisited.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan6481"
+ x="676.19073"
+ y="-1096.9503">wave this!</tspan></text>
</g>
<g
inkscape:groupmode="layer"
Modified: trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/chat/client/AvatarDecoratorImpl.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -33,7 +33,6 @@
private final ImageResource chatDotBusy;
private final ImageResource chatDotExtendedAway;
private final ImageResource chatDotXA;
- private final HandlerRegistration presenceHandler;
private final PresenceManager presenceManager;
private final XmppRoster roster;
private final HandlerRegistration rosterHandler;
@@ -41,6 +40,7 @@
private final HandlerRegistration sessionStateChangedHandler;
private XmppURI uri;
private final XmppSession xmppSession;
+ private HandlerRegistration presenceHandler;
public AvatarDecoratorImpl(final ChatInstances chatInstances, final ChatClient chatClient,
final ImageResource chatDotBusy, final ImageResource chatDotXA, final ImageResource chatDotAway,
Modified: trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/chat/client/ChatClientDefault.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -36,11 +36,13 @@
import cc.kune.common.client.log.Log;
import cc.kune.common.client.notify.NotifyUser;
import cc.kune.common.client.shortcuts.GlobalShortcutRegister;
+import cc.kune.common.client.utils.SimpleResponseCallback;
import cc.kune.common.client.utils.TextUtils;
import cc.kune.common.client.utils.WindowUtils;
import cc.kune.core.client.events.AvatarChangedEvent;
import cc.kune.core.client.init.AppStartEvent;
import cc.kune.core.client.init.AppStopEvent;
+import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.sitebar.SitebarActions;
import cc.kune.core.client.sitebar.SitebarActionsPresenter;
import cc.kune.core.client.state.Session;
@@ -54,7 +56,11 @@
import com.calclab.emite.core.client.xmpp.session.XmppSession;
import com.calclab.emite.core.client.xmpp.stanzas.XmppURI;
import com.calclab.emite.im.client.chat.ChatManager;
+import com.calclab.emite.im.client.roster.SubscriptionHandler.Behaviour;
+import com.calclab.emite.im.client.roster.SubscriptionManager;
import com.calclab.emite.im.client.roster.XmppRoster;
+import com.calclab.emite.im.client.roster.events.SubscriptionRequestReceivedEvent;
+import com.calclab.emite.im.client.roster.events.SubscriptionRequestReceivedHandler;
import com.calclab.emite.xep.avatar.client.AvatarManager;
import com.calclab.emite.xep.muc.client.Room;
import com.calclab.emite.xep.muc.client.RoomManager;
@@ -81,12 +87,10 @@
public class ChatClientAction extends AbstractExtendedAction {
- private final EventBus eventBus;
private final ChatResources res;
- public ChatClientAction(final EventBus eventBus, final ChatResources res) {
+ public ChatClientAction(final ChatResources res) {
super();
- this.eventBus = eventBus;
this.res = res;
putValue(Action.SMALL_ICON, res.chat());
@@ -94,7 +98,7 @@
@Override
public void actionPerformed(final ActionEvent event) {
- eventBus.fireEvent(new ToggleShowChatDialogEvent());
+ kuneEventBus.fireEvent(new ToggleShowChatDialogEvent());
}
public void setBlink(final boolean blink) {
@@ -106,7 +110,6 @@
}
protected static final String CHAT_CLIENT_ICON_ID = "k-chat-icon-id";
-
private static final String CHAT_TITLE = "Chat ;)";
private final ChatClientAction action;
@@ -117,27 +120,27 @@
private final ChatOptions chatOptions;
private final ChatResources chatResources;
private Dialog dialog;
- private final EventBus eventBus;
private final I18nTranslationService i18n;
+ private final EventBus kuneEventBus;
+ private final CoreResources res;
private final RoomManager roomManager;
private final XmppRoster roster;
private final Session session;
-
private final GlobalShortcutRegister shorcutRegister;
-
private final SitebarActions siteActions;
-
+ private final SubscriptionManager subscriptionManager;
private final XmppSession xmppSession;
@Inject
- public ChatClientDefault(final EventBus eventBus, final I18nTranslationService i18n,
- final SitebarActions siteActions, final Session session,
+ public ChatClientDefault(final EventBus kuneEventBus, final I18nTranslationService i18n,
+ final SitebarActions siteActions, final Session session, final CoreResources res,
final GlobalShortcutRegister shorcutRegister, final ChatOptions chatOptions,
final ChatResources chatResources, final ChatInstances chatInstances) {
- this.eventBus = eventBus;
+ this.kuneEventBus = kuneEventBus;
this.i18n = i18n;
+ this.res = res;
this.chatInstances = chatInstances;
- action = new ChatClientAction(eventBus, chatResources);
+ action = new ChatClientAction(chatResources);
this.siteActions = siteActions;
this.session = session;
this.shorcutRegister = shorcutRegister;
@@ -149,6 +152,8 @@
this.chatManager = chatInstances.chatManager;
this.roomManager = chatInstances.roomManager;
this.avatarManager = chatInstances.avatarManager;
+ this.subscriptionManager = chatInstances.subscriptionManager;
+
// Not necessary, in ChatInstance
// Suco.get(SessionReconnect.class);
@@ -173,29 +178,30 @@
logout();
}
});
- eventBus.addHandler(ShowChatDialogEvent.getType(), new ShowChatDialogHandler() {
+ kuneEventBus.addHandler(ShowChatDialogEvent.getType(), new ShowChatDialogHandler() {
@Override
public void onShowChatDialog(final ShowChatDialogEvent event) {
createActionIfNeeded();
showDialog(event.show);
}
});
- eventBus.addHandler(ToggleShowChatDialogEvent.getType(), new ToggleShowChatDialogHandler() {
+ kuneEventBus.addHandler(ToggleShowChatDialogEvent.getType(), new ToggleShowChatDialogHandler() {
@Override
public void onToggleShowChatDialog(final ToggleShowChatDialogEvent event) {
toggleShowDialog();
}
});
- eventBus.addHandler(AvatarChangedEvent.getType(), new AvatarChangedEvent.AvatarChangedHandler() {
+ kuneEventBus.addHandler(AvatarChangedEvent.getType(),
+ new AvatarChangedEvent.AvatarChangedHandler() {
- @Override
- public void onAvatarChanged(final AvatarChangedEvent event) {
- setAvatar(event.getPhotoBinary());
- }
- });
+ @Override
+ public void onAvatarChanged(final AvatarChangedEvent event) {
+ setAvatar(event.getPhotoBinary());
+ }
+ });
}
});
- eventBus.addHandler(AppStopEvent.getType(), new AppStopEvent.AppStopHandler() {
+ kuneEventBus.addHandler(AppStopEvent.getType(), new AppStopEvent.AppStopHandler() {
@Override
public void onAppStop(final AppStopEvent event) {
logout();
@@ -205,7 +211,7 @@
@Override
public void addNewBuddie(final String shortName) {
- roster.requestAddItem(uriFrom(shortName), shortName, "");
+ roster.requestAddItem(uriFrom(shortName), shortName);
}
@Override
@@ -309,7 +315,7 @@
final KuneHablarWidget widget = new KuneHablarWidget(config.layout, config.tabHeaderSize);
final Hablar hablar = widget.getHablar();
HablarComplete.install(hablar, config);
- new KuneHablarSignals(eventBus, xmppSession, hablar, action, chatInstances);
+ new KuneHablarSignals(kuneEventBus, xmppSession, hablar, action, chatInstances);
if (htmlConfig.hasLogger) {
new HablarConsole(hablar);
}
@@ -317,8 +323,29 @@
if (htmlConfig.hasLogin) {
new HablarLogin(hablar, LoginConfig.getFromMeta());
}
- new KuneSoundManager(eventBus, config.soundConfig);
+ new KuneSoundManager(kuneEventBus, config.soundConfig);
createDialog(widget, htmlConfig);
+ chatInstances.subscriptionHandler.setBehaviour(Behaviour.none);
+ subscriptionManager.addSubscriptionRequestReceivedHandler(new SubscriptionRequestReceivedHandler() {
+ @Override
+ public void onSubscriptionRequestReceived(final SubscriptionRequestReceivedEvent event) {
+ final XmppURI uri = event.getFrom();
+ final String nick = event.getNick();
+ NotifyUser.askConfirmation(res.question32(), i18n.t("Confirm new buddie"), i18n.t(
+ "[%s] had added you as a buddy. Do you want to add him/her also?", uri.getJID().toString()),
+ new SimpleResponseCallback() {
+ @Override
+ public void onCancel() {
+ subscriptionManager.refuseSubscriptionRequest(uri.getJID());
+ }
+
+ @Override
+ public void onSuccess() {
+ subscriptionManager.approveSubscriptionRequest(uri.getJID(), nick);
+ }
+ });
+ }
+ });
}
@Override
Modified: trunk/src/main/java/cc/kune/chat/client/ChatInstances.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatInstances.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/chat/client/ChatInstances.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -3,6 +3,8 @@
import com.calclab.emite.core.client.xmpp.session.XmppSession;
import com.calclab.emite.im.client.chat.ChatManager;
import com.calclab.emite.im.client.presence.PresenceManager;
+import com.calclab.emite.im.client.roster.SubscriptionHandler;
+import com.calclab.emite.im.client.roster.SubscriptionManager;
import com.calclab.emite.im.client.roster.XmppRoster;
import com.calclab.emite.reconnect.client.SessionReconnect;
import com.calclab.emite.xep.avatar.client.AvatarManager;
@@ -12,14 +14,16 @@
public class ChatInstances {
- public AvatarManager avatarManager;
- public ChatManager chatManager;
- public PresenceManager presenceManager;
- public PrivateStorageManager privateStorageManager;
- public RoomManager roomManager;
- public XmppRoster roster;
- public SessionReconnect sessionReconnect;
- public XmppSession xmppSession;
+ public final AvatarManager avatarManager;
+ public final ChatManager chatManager;
+ public final PresenceManager presenceManager;
+ public final PrivateStorageManager privateStorageManager;
+ public final RoomManager roomManager;
+ public final XmppRoster roster;
+ public final SessionReconnect sessionReconnect;
+ public final SubscriptionHandler subscriptionHandler;
+ public final SubscriptionManager subscriptionManager;
+ public final XmppSession xmppSession;
public ChatInstances() {
this.xmppSession = Suco.get(XmppSession.class);
@@ -30,5 +34,7 @@
this.avatarManager = Suco.get(AvatarManager.class);
this.presenceManager = Suco.get(PresenceManager.class);
this.privateStorageManager = Suco.get(PrivateStorageManager.class);
+ this.subscriptionManager = Suco.get(SubscriptionManager.class);
+ this.subscriptionHandler = Suco.get(SubscriptionHandler.class);
}
}
Modified: trunk/src/main/java/cc/kune/chat/client/ChatParts.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/ChatParts.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/chat/client/ChatParts.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -19,8 +19,8 @@
*/
package cc.kune.chat.client;
+import cc.kune.chat.client.actions.AddAsBuddieAction;
import cc.kune.chat.client.actions.AddAsBuddieHeaderButton;
-import cc.kune.chat.client.actions.AddAsBuddieHeaderButton.AddAsBuddieAction;
import cc.kune.chat.client.actions.ChatClientActions;
import cc.kune.chat.client.actions.ChatSitebarActions;
import cc.kune.chat.client.actions.OpenGroupPublicChatRoomAction;
@@ -93,8 +93,8 @@
public MenuItemDescriptor get() {
final MenuItemDescriptor item = new MenuItemDescriptor(startChatWithMemberAction.get());
item.add(isNotMe);
+ item.add(isNotBuddieCondition);
item.add(isPersonCondition);
- item.add(isNotBuddieCondition);
item.add(isLogged);
return item;
}
@@ -116,8 +116,8 @@
final MenuItemDescriptor item = new MenuItemDescriptor(action);
item.add(isNotMe);
item.add(isNotBuddieCondition);
+ item.add(isPersonCondition);
item.add(isLogged);
- item.add(isPersonCondition);
/**
* FIXME Buggy & duplicate code with {@link AddAsBuddieHeaderButton}
*/
Added: trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieAction.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieAction.java (rev 0)
+++ trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieAction.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -0,0 +1,43 @@
+package cc.kune.chat.client.actions;
+
+import cc.kune.chat.client.ChatClient;
+import cc.kune.chat.client.ChatInstances;
+import cc.kune.common.client.actions.AbstractExtendedAction;
+import cc.kune.common.client.actions.Action;
+import cc.kune.common.client.actions.ActionEvent;
+import cc.kune.core.client.resources.CoreMessages;
+import cc.kune.core.client.resources.CoreResources;
+import cc.kune.core.client.state.StateManager;
+import cc.kune.core.shared.dto.GroupDTO;
+import cc.kune.core.shared.dto.UserSimpleDTO;
+import cc.kune.core.shared.i18n.I18nTranslationService;
+
+import com.google.inject.Inject;
+
+public class AddAsBuddieAction extends AbstractExtendedAction {
+ private final ChatClient chatEngine;
+
+ @Inject
+ public AddAsBuddieAction(final ChatClient chatEngine, final ChatInstances chatInstances,
+ final StateManager stateManager, final I18nTranslationService i18n, final CoreResources img) {
+ super();
+ this.chatEngine = chatEngine;
+ putValue(Action.NAME, i18n.t(CoreMessages.ADD_AS_A_BUDDIE));
+ putValue(Action.SMALL_ICON, img.addGreen());
+ }
+
+ @Override
+ public void actionPerformed(final ActionEvent event) {
+ String username = null;
+ if (event.getTarget() instanceof GroupDTO) {
+ username = ((GroupDTO) event.getTarget()).getShortName();
+ } else if (event.getTarget() instanceof UserSimpleDTO) {
+ username = ((UserSimpleDTO) event.getTarget()).getShortName();
+ }
+ if (username != null) {
+ chatEngine.addNewBuddie(username);
+ // NotifyUser.info("Added as buddie. Waiting buddie response");
+ setEnabled(false);
+ }
+ }
+}
Modified: trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java
===================================================================
--- trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/chat/client/actions/AddAsBuddieHeaderButton.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -28,7 +28,6 @@
import cc.kune.common.client.actions.PropertyChangeEvent;
import cc.kune.common.client.actions.PropertyChangeListener;
import cc.kune.common.client.actions.ui.descrip.ButtonDescriptor;
-import cc.kune.common.client.notify.NotifyUser;
import cc.kune.core.client.resources.CoreMessages;
import cc.kune.core.client.resources.CoreResources;
import cc.kune.core.client.state.Session;
@@ -39,18 +38,20 @@
import cc.kune.core.shared.dto.StateAbstractDTO;
import cc.kune.core.shared.i18n.I18nTranslationService;
-import com.calclab.emite.im.client.roster.events.RosterGroupChangedEvent;
-import com.calclab.emite.im.client.roster.events.RosterGroupChangedHandler;
+import com.calclab.emite.im.client.roster.events.RosterItemChangedEvent;
+import com.calclab.emite.im.client.roster.events.RosterItemChangedHandler;
+import com.calclab.emite.im.client.roster.events.RosterRetrievedEvent;
+import com.calclab.emite.im.client.roster.events.RosterRetrievedHandler;
import com.google.inject.Inject;
public class AddAsBuddieHeaderButton {
- public static class AddAsBuddieAction extends AbstractExtendedAction {
+ public static class AddAsBuddieHeaderAction extends AbstractExtendedAction {
private final ChatClient chatEngine;
private final Session session;
@Inject
- public AddAsBuddieAction(final ChatClient chatEngine, final Session session,
+ public AddAsBuddieHeaderAction(final ChatClient chatEngine, final Session session,
final ChatInstances chatInstances, final StateManager stateManager,
final I18nTranslationService i18n, final CoreResources img) {
super();
@@ -62,16 +63,18 @@
setState(event.getState());
}
});
- chatInstances.roster.addRosterGroupChangedHandler(new RosterGroupChangedHandler() {
-
+ chatInstances.roster.addRosterItemChangedHandler(new RosterItemChangedHandler() {
@Override
- public void onGroupChanged(final RosterGroupChangedEvent event) {
- final StateAbstractDTO currentState = session.getCurrentState();
- if (currentState != null) {
- setState(currentState);
- }
+ public void onRosterItemChanged(final RosterItemChangedEvent event) {
+ setState();
}
});
+ chatInstances.roster.addRosterRetrievedHandler(new RosterRetrievedHandler() {
+ @Override
+ public void onRosterRetrieved(final RosterRetrievedEvent event) {
+ setState();
+ }
+ });
putValue(Action.NAME, i18n.t(CoreMessages.ADD_AS_A_BUDDIE));
putValue(Action.SMALL_ICON, img.addGreen());
}
@@ -79,7 +82,7 @@
@Override
public void actionPerformed(final ActionEvent event) {
chatEngine.addNewBuddie(session.getCurrentState().getGroup().getShortName());
- NotifyUser.info("Added as buddie. Waiting buddie response");
+ // NotifyUser.info("Added as buddie. Waiting buddie response");
setEnabled(false);
}
@@ -91,6 +94,13 @@
return !session.getCurrentUser().getShortName().equals(groupName);
}
+ private void setState() {
+ final StateAbstractDTO currentState = session.getCurrentState();
+ if (currentState != null) {
+ setState(currentState);
+ }
+ }
+
private void setState(final StateAbstractDTO state) {
final String groupName = state.getGroup().getShortName();
final boolean imLogged = session.isLogged();
@@ -104,7 +114,8 @@
}
@Inject
- public AddAsBuddieHeaderButton(final AddAsBuddieAction buddieAction, final EntityHeader entityHeader) {
+ public AddAsBuddieHeaderButton(final AddAsBuddieHeaderAction buddieAction,
+ final EntityHeader entityHeader) {
final ButtonDescriptor button = new ButtonDescriptor(buddieAction);
button.setVisible(false);
button.setStyles("k-chat-add-as-buddie");
Modified: trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/common/client/tooltip/Tooltip.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -118,6 +118,12 @@
}
@Override
+ public void hide() {
+ super.hide();
+ timers.cancel();
+ }
+
+ @Override
public boolean isVisible() {
return super.isShowing();
}
Modified: trunk/src/main/java/cc/kune/common/client/tooltip/TooltipTimers.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/tooltip/TooltipTimers.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/common/client/tooltip/TooltipTimers.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -34,6 +34,12 @@
this.securityTimer = securityTimer;
}
+ public void cancel() {
+ showTimer.cancel();
+ hideTimer.cancel();
+ securityTimer.cancel();
+ }
+
public void onOut() {
if (showTimer.isScheduled()) {
showTimer.cancel();
Modified: trunk/src/main/java/cc/kune/common/client/ui/BasicThumb.java
===================================================================
--- trunk/src/main/java/cc/kune/common/client/ui/BasicThumb.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/common/client/ui/BasicThumb.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -41,133 +41,143 @@
* BasicThumb.java
*/
public class BasicThumb extends Composite {
- private static final int NOSIZE = -1;
- private final Image image;
- private final Label label;
- private boolean onOverLabel;
- private final VerticalPanel panel;
+ private static final int NOSIZE = -1;
+ private final Image image;
+ private Tooltip imageTooltip;
+ private final Label label;
+ private Tooltip labelTooltip;
+ private boolean onOverLabel;
+ private final VerticalPanel panel;
- public BasicThumb(final Object imageRef, final int imgSize, final String text, final int textMaxLenght,
- final boolean crop) {
- this(imageRef, imgSize, text, textMaxLenght, crop, null);
- }
+ public BasicThumb(final Object imageRef, final int imgSize, final String text,
+ final int textMaxLenght, final boolean crop) {
+ this(imageRef, imgSize, text, textMaxLenght, crop, null);
+ }
- /**
- *
- * @param imageRef
- * This can be a ImageResource or a String Url
- * @param imgSize
- * @param text
- * @param textMaxLenght
- * @param crop
- * @param clickHandler
- */
- public BasicThumb(final Object imageRef, final int imgSize, final String text, final int textMaxLenght,
- final boolean crop, final ClickHandler clickHandler) {
- super();
- onOverLabel = false;
- panel = new VerticalPanel();
- if (imageRef instanceof String) {
- final String imageUrl = (String) imageRef;
- if (imgSize == NOSIZE) {
- image = new Image(imageUrl);
- } else {
- if (crop) {
- image = new Image(imageUrl, 0, 0, imgSize, imgSize);
- } else {
- image = new Image(imageUrl);
- image.setPixelSize(imgSize, imgSize);
- }
- }
- } else if (imageRef instanceof ImageResource) {
- image = new Image((ImageResource) imageRef);
- image.setPixelSize(imgSize, imgSize);
+ /**
+ *
+ * @param imageRef
+ * This can be a ImageResource or a String Url
+ * @param imgSize
+ * @param text
+ * @param textMaxLenght
+ * @param crop
+ * @param clickHandler
+ */
+ public BasicThumb(final Object imageRef, final int imgSize, final String text,
+ final int textMaxLenght, final boolean crop, final ClickHandler clickHandler) {
+ super();
+ onOverLabel = false;
+ panel = new VerticalPanel();
+ if (imageRef instanceof String) {
+ final String imageUrl = (String) imageRef;
+ if (imgSize == NOSIZE) {
+ image = new Image(imageUrl);
+ } else {
+ if (crop) {
+ image = new Image(imageUrl, 0, 0, imgSize, imgSize);
} else {
- // This should not happen
- image = new Image();
- image.setPixelSize(imgSize, imgSize);
- Log.info("Unrecognized icon of BasicThumb: " + imageRef);
+ image = new Image(imageUrl);
+ image.setPixelSize(imgSize, imgSize);
}
- final String title = textMaxLenght == NOSIZE ? text : TextUtils.ellipsis(text, textMaxLenght);
- label = new Label(title);
- panel.add(image);
- panel.add(label);
- panel.addStyleName("k-basic-thumb");
- panel.addStyleName("kune-Margin-Mini-trbl");
- panel.addStyleName("k-pointer");
- panel.addStyleName("k-floatleft");
- panel.setCellHorizontalAlignment(label, VerticalPanel.ALIGN_CENTER);
- if (clickHandler != null) {
- addClickHandlerImpl(clickHandler);
+ }
+ } else if (imageRef instanceof ImageResource) {
+ image = new Image((ImageResource) imageRef);
+ image.setPixelSize(imgSize, imgSize);
+ } else {
+ // This should not happen
+ image = new Image();
+ image.setPixelSize(imgSize, imgSize);
+ Log.info("Unrecognized icon of BasicThumb: " + imageRef);
+ }
+ final String title = textMaxLenght == NOSIZE ? text : TextUtils.ellipsis(text, textMaxLenght);
+ label = new Label(title);
+ panel.add(image);
+ panel.add(label);
+ panel.addStyleName("k-basic-thumb");
+ panel.addStyleName("kune-Margin-Mini-trbl");
+ panel.addStyleName("k-pointer");
+ panel.addStyleName("k-floatleft");
+ panel.setCellHorizontalAlignment(label, VerticalPanel.ALIGN_CENTER);
+ if (clickHandler != null) {
+ addClickHandlerImpl(clickHandler);
+ }
+ image.addMouseOverHandler(new MouseOverHandler() {
+
+ @Override
+ public void onMouseOver(final MouseOverEvent event) {
+ if (onOverLabel) {
+ label.setVisible(true);
}
- image.addMouseOverHandler(new MouseOverHandler() {
+ }
+ });
+ image.addMouseOutHandler(new MouseOutHandler() {
- @Override
- public void onMouseOver(final MouseOverEvent event) {
- if (onOverLabel) {
- label.setVisible(true);
- }
- }
- });
- image.addMouseOutHandler(new MouseOutHandler() {
+ @Override
+ public void onMouseOut(final MouseOutEvent event) {
+ if (onOverLabel) {
+ label.setVisible(false);
+ }
+ }
+ });
+ initWidget(panel);
+ }
- @Override
- public void onMouseOut(final MouseOutEvent event) {
- if (onOverLabel) {
- label.setVisible(false);
- }
- }
- });
- initWidget(panel);
- }
+ public BasicThumb(final Object imageRef, final String thumText, final ClickHandler clickHandler) {
+ this(imageRef, NOSIZE, thumText, NOSIZE, false, clickHandler);
+ }
- public BasicThumb(final Object imageRef, final String thumText, final ClickHandler clickHandler) {
- this(imageRef, NOSIZE, thumText, NOSIZE, false, clickHandler);
- }
+ public BasicThumb(final Object imageRef, final String text, final int textMaxLenght,
+ final ClickHandler clickHandler) {
+ this(imageRef, NOSIZE, text, textMaxLenght, false, clickHandler);
+ }
- public BasicThumb(final Object imageRef, final String text, final int textMaxLenght, final ClickHandler clickHandler) {
- this(imageRef, NOSIZE, text, textMaxLenght, false, clickHandler);
- }
+ public void addClickHandler(final ClickHandler clickHandler) {
+ addClickHandlerImpl(clickHandler);
+ }
- public void addClickHandler(final ClickHandler clickHandler) {
- addClickHandlerImpl(clickHandler);
- }
+ private void addClickHandlerImpl(final ClickHandler clickHandler) {
+ panel.addDomHandler(clickHandler, ClickEvent.getType());
+ }
- private void addClickHandlerImpl(final ClickHandler clickHandler) {
- panel.addDomHandler(clickHandler, ClickEvent.getType());
- }
+ public void addDoubleClickHandler(final DoubleClickHandler clickHandler) {
+ addDoubleClickHandlerImpl(clickHandler);
+ }
- public void addDoubleClickHandler(final DoubleClickHandler clickHandler) {
- addDoubleClickHandlerImpl(clickHandler);
- }
+ private void addDoubleClickHandlerImpl(final DoubleClickHandler clickHandler) {
+ panel.addDomHandler(clickHandler, DoubleClickEvent.getType());
+ }
- private void addDoubleClickHandlerImpl(final DoubleClickHandler clickHandler) {
- panel.addDomHandler(clickHandler, DoubleClickEvent.getType());
+ public void hideTooltip() {
+ if (imageTooltip != null) {
+ imageTooltip.hide();
+ labelTooltip.hide();
}
+ }
- public void setLabelVisible(final boolean visible) {
- label.setVisible(visible);
- }
+ public void setLabelVisible(final boolean visible) {
+ label.setVisible(visible);
+ }
- public void setOnOverLabel(final boolean onOverLabel) {
- this.onOverLabel = onOverLabel;
- }
+ public void setOnOverLabel(final boolean onOverLabel) {
+ this.onOverLabel = onOverLabel;
+ }
- public void setText(final String text) {
- label.setText(text);
- }
+ public void setText(final String text) {
+ label.setText(text);
+ }
- public void setThumbUrl(final String url) {
- image.setUrl(url);
- }
+ public void setThumbUrl(final String url) {
+ image.setUrl(url);
+ }
- public void setTooltip(final String tip) {
- Tooltip.to(image, tip);
- Tooltip.to(label, tip);
- }
+ public void setTooltip(final String tip) {
+ imageTooltip = Tooltip.to(image, tip);
+ labelTooltip = Tooltip.to(label, tip);
+ }
- public void setTooltip(final String tipTitle, final String tip) {
- Tooltip.to(image, tip);
- Tooltip.to(label, tip);
- }
+ public void setTooltip(final String tipTitle, final String tip) {
+ imageTooltip = Tooltip.to(image, tip);
+ labelTooltip = Tooltip.to(label, tip);
+ }
}
Modified: trunk/src/main/java/cc/kune/core/client/actions/xml/XMLWaveExtension.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/actions/xml/XMLWaveExtension.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/core/client/actions/xml/XMLWaveExtension.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -14,19 +14,19 @@
}
public String getGadgetUrl() {
- return getFirstChild("gadgetUrl").getText();
+ return getFirstChild("gadgetUrl").getText().trim();
}
public String getIconCss() {
- return getFirstChild("iconCss").getText();
+ return getFirstChild("iconCss").getText().trim();
}
public String getIconUrl() {
- return getFirstChild("iconUrl").getText();
+ return getFirstChild("iconUrl").getText().trim();
}
public String getInstallerUrl() {
- return getFirstChild("installerUrl").getText();
+ return getFirstChild("installerUrl").getText().trim();
}
}
Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/core/client/resources/CoreResources.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -457,6 +457,9 @@
@Source("prefs.png")
ImageResource prefs();
+ @Source("question32.png")
+ ImageResource question32();
+
@Source("radiochecked.png")
ImageResource radiochecked();
Added: trunk/src/main/java/cc/kune/core/client/resources/question32.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/cc/kune/core/client/resources/question32.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java
===================================================================
--- trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2011-07-10 20:58:52 UTC (rev 1447)
+++ trunk/src/main/java/cc/kune/core/client/sn/AbstractSNPanel.java 2011-07-12 17:32:54 UTC (rev 1448)
@@ -127,21 +127,27 @@
public BasicThumb createThumb(final String text, final String avatarUrl, final String tooltip,
final String tooltipTitle, final GuiActionDescCollection menuitems) {
final BasicThumb thumb = new BasicThumb(avatarUrl, AVATARSIZE, text, AVATARLABELMAXSIZE, false);
- final MenuDescriptor menu = new MenuDescriptor();
- menu.setStandalone(true);
- menu.putValue(AbstractGxtMenuGui.MENU_POSITION, AbstractGxtMenuGui.MenuPosition.bl);
- for (final GuiActionDescrip item : menuitems) {
- item.setParent(menu);
- }
+
final ClickHandler clickHand = new ClickHandler() {
+ MenuDescriptor menu;
+
@Override
public void onClick(final ClickEvent event) {
+ if (menu == null) {
+ menu = new MenuDescriptor();
+ menu.setStandalone(true);
+ menu.putValue(AbstractGxtMenuGui.MENU_POSITION, AbstractGxtMenuGui.MenuPosition.bl);
+ for (final GuiActionDescrip item : menuitems) {
+ item.setParent(menu);
+ }
+ actions.add(menu);
+ actions.add(menuitems);
+ }
+ thumb.hideTooltip();
menu.show(thumb);
}
};
thumb.addClickHandler(clickHand);
- actions.add(menu);
- actions.add(menuitems);
thumb.setTooltip(tooltipTitle, tooltip);
thumb.setLabelVisible(false);
return thumb;
1
0