r1513 - in trunk: script src/main/java/cc/kune/core/client/resources src/main/java/cc/kune/core/client/rpcservices src/main/java/cc/kune/core/server/manager src/main/java/cc/kune/core/server/manager/impl src/main/java/cc/kune/core/server/rpc src/main/java/cc/kune/gspace/client src/main/java/cc/kune/gspace/client/i18n
Author: vjrj_ Date: 2011-09-07 23:37:23 +0200 (Wed, 07 Sep 2011) New Revision: 1513 Added: trunk/script/findMsg.sh trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java Removed: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java Log: NEW - # 79: I18n refactorization http://kune.ourproject.org/issues/ticket/79 Added: trunk/script/findMsg.sh =================================================================== --- trunk/script/findMsg.sh (rev 0) +++ trunk/script/findMsg.sh 2011-09-07 21:37:23 UTC (rev 1513) @@ -0,0 +1,3 @@ +#!/bin/bash +STR=`echo $1 | sed 's/ /\\[\\\"\\\+\\\n \\]\*/g'` +echo egrep -r -m 1 "\"$STR\"" src/main/java/cc \ No newline at end of file Property changes on: trunk/script/findMsg.sh ___________________________________________________________________ Name: svn:executable + * Modified: trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/core/client/resources/CoreMessages.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -32,8 +32,8 @@ public final static String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "The username/password is incorrect"; public final static String MEMBERS_NOT_PUBLIC = "The members of this group are not public"; public final static String NAME_IN_ALREADY_IN_USE = "This name is already in use. Please try with a different name"; + public final static String NAME_IN_USE = "This name in already in use. Please try with a different name"; public final static String NAME_RESTRICTED = "This user name can not be used. Please try with a different name"; - public final static String NAME_IN_USE = "This name in already in use. Please try with a different name"; public final static String PASSWD_MUST_BE_BETWEEN_6_AND_40 = "The password must be between 6 and 40 characters"; public final static String REGISTER_A_NEW_GROUP_TITLE = "Register a new Group"; public final static String REGISTER_TITLE = "Register"; @@ -41,7 +41,7 @@ public final static String SIGN_IN_TITLE = "Sign in"; public final static String USER_DOESN_T_HAVE_A_HOMEPAGE = "This user does not have a homepage"; public final static String USER_OPTIONS_DIALOG_TITLE = "User options"; - public final static String YOUR_HOMEPAGE = "Your homepage"; + public final static String YOUR_HOMEPAGE = "Your " + "homepage"; private CoreMessages() { } Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/core/client/rpcservices/I18nService.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -41,6 +41,6 @@ String getTranslation(String userHash, String language, String text); - String setTranslation(String userHash, String id, String translation) throws DefaultException; + String setTranslation(String userHash, Long id, String translation) throws DefaultException; } Modified: trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/core/client/rpcservices/I18nServiceAsync.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -38,6 +38,6 @@ void getTranslation(String userHash, String language, String text, AsyncCallback<String> callback); - void setTranslation(String userHash, String id, String translation, AsyncCallback<String> asyncCallback); + void setTranslation(String userHash, Long id, String translation, AsyncCallback<String> asyncCallback); } Modified: trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/core/server/manager/I18nTranslationManager.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -46,7 +46,7 @@ SearchResult<I18nTranslation> getUntranslatedLexicon(String language, Integer firstResult, Integer maxResults); - String setTranslation(String id, String translation) throws DefaultException; + String setTranslation(Long id, String translation) throws DefaultException; void setTranslation(String language, String text, String translation); Modified: trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/core/server/manager/impl/I18nTranslationManagerDefault.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -162,8 +162,8 @@ } @Override - public String setTranslation(final String id, final String translation) throws DefaultException { - final I18nTranslation trans = super.find(Long.valueOf(id)); + public String setTranslation(final Long id, final String translation) throws DefaultException { + final I18nTranslation trans = super.find(id); if (trans != null) { final String escapedTranslation = TextUtils.escapeHtmlLight(translation); trans.setText(escapedTranslation); Modified: trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java =================================================================== --- trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/core/server/rpc/I18nRPC.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -139,7 +139,7 @@ @Override @Authenticated @Transactional - public String setTranslation(final String userHash, final String id, final String translation) + public String setTranslation(final String userHash, final Long id, final String translation) throws DefaultException { return i18nTranslationManager.setTranslation(id, translation); } Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/gspace/client/GSpaceGinModule.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -29,7 +29,7 @@ import cc.kune.gspace.client.i18n.I18nTranslatorPresenter; import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView; import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction; -import cc.kune.gspace.client.i18n.TranslatorTabsCollection; +import cc.kune.gspace.client.i18n.I18nTranslatorTabsCollection; import cc.kune.gspace.client.licensewizard.LicenseChangeAction; import cc.kune.gspace.client.licensewizard.LicenseWizard; import cc.kune.gspace.client.licensewizard.LicenseWizardPanel; @@ -153,7 +153,7 @@ s(UserOptionsCollection.class); s(GroupOptionsCollection.class); - s(TranslatorTabsCollection.class); + s(I18nTranslatorTabsCollection.class); s(GroupOptGeneral.class, GroupOptGeneralPresenter.class); s(GroupOptGeneralView.class, GroupOptGeneralPanel.class); Modified: trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/gspace/client/GSpaceParts.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -25,7 +25,7 @@ import cc.kune.core.client.state.Session; import cc.kune.gspace.client.i18n.I18nToTranslateGridPanel; import cc.kune.gspace.client.i18n.SiteOptionsI18nTranslatorAction; -import cc.kune.gspace.client.i18n.TranslatorTabsCollection; +import cc.kune.gspace.client.i18n.I18nTranslatorTabsCollection; import cc.kune.gspace.client.options.GroupOptions; import cc.kune.gspace.client.options.GroupOptionsCollection; import cc.kune.gspace.client.options.UserOptions; @@ -68,7 +68,7 @@ final Provider<UserOptTools> utc, final Provider<SitebarSearchPresenter> siteSearch, final Provider<SiteOptionsI18nTranslatorAction> transAction, final Provider<I18nToTranslateGridPanel> toTrans, - final Provider<TranslatorTabsCollection> gtranslator) { + final Provider<I18nTranslatorTabsCollection> gtranslator) { session.onAppStart(true, new AppStartHandler() { @Override Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nCellList.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -18,13 +18,15 @@ package cc.kune.gspace.client.i18n; import cc.kune.common.client.utils.SimpleCallback; +import cc.kune.core.client.i18n.I18nUITranslationService; import cc.kune.core.shared.dto.I18nLanguageSimpleDTO; import cc.kune.core.shared.dto.I18nTranslationDTO; -import cc.kune.core.shared.i18n.I18nTranslationService; import com.google.gwt.cell.client.AbstractCell; import com.google.gwt.cell.client.ValueUpdater; import com.google.gwt.core.client.GWT; +import com.google.gwt.core.client.Scheduler; +import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.dom.client.Element; import com.google.gwt.dom.client.NativeEvent; import com.google.gwt.safehtml.shared.SafeHtmlBuilder; @@ -101,7 +103,7 @@ */ private final CellList<I18nTranslationDTO> cellList; - private final I18nTranslationProvider data; + private final I18nTranslationDataProvider data; /** * The pager used to change the range of data. @@ -122,8 +124,10 @@ I18nTranslatorForm translatorForm; @Inject - public I18nCellList(final I18nTranslationProvider data, final I18nTranslationService i18n) { + public I18nCellList(final I18nTranslationDataProvider data, final I18nUITranslationService i18n, + final I18nTraslatorSaver saver) { this.data = data; + final TranslationCell cell = new TranslationCell(); // Set a key provider that provides a unique key for each contact. If key is @@ -138,26 +142,31 @@ // Add a selection model so we can select cells. cellList.setSelectionModel(selectionModel); + + // Create the UiBinder. + final Binder uiBinder = GWT.create(Binder.class); + initWidget(uiBinder.createAndBindUi(this)); + translatorForm.init(data, i18n, saver); cellList.setValueUpdater(new ValueUpdater<I18nTranslationDTO>() { + @Override public void update(final I18nTranslationDTO value) { - // TODO Auto-generated method stub + // save(value); } }); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(final SelectionChangeEvent event) { translatorForm.setInfo(selectionModel.getSelectedObject()); - translatorForm.focusToTranslate(); - // cellList.get - // pagerPanel.ensureVisible((UIObject) event.getSource()); + Scheduler.get().scheduleEntry(new ScheduledCommand() { + @Override + public void execute() { + translatorForm.focusToTranslate(); + } + }); } }); - cellList.sinkEvents(com.google.gwt.user.client.Event.KEYEVENTS); - // Create the UiBinder. - final Binder uiBinder = GWT.create(Binder.class); - initWidget(uiBinder.createAndBindUi(this)); - translatorForm.init(data, i18n); + // cellList.sinkEvents(com.google.gwt.user.client.Event.KEYEVENTS); data.addDataDisplay(cellList); data.setSelectionMode(selectionModel); data.setLoadCallback(new SimpleCallback() { @@ -180,4 +189,5 @@ data.setLanguage(language, toTranslate); translatorForm.setToLanguage(language); } + } Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nToTranslateGridPanel.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -27,4 +27,5 @@ public void setLanguage(final I18nLanguageSimpleDTO language) { list.setLanguage(language, true); } + } Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java (from rev 1511, trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java) =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java (rev 0) +++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationDataProvider.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -0,0 +1,97 @@ +/* + * Copyright 2010 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package cc.kune.gspace.client.i18n; + +import java.util.List; + +import cc.kune.common.client.utils.SimpleCallback; +import cc.kune.core.client.rpcservices.AsyncCallbackSimple; +import cc.kune.core.client.rpcservices.I18nServiceAsync; +import cc.kune.core.client.state.Session; +import cc.kune.core.shared.dto.I18nLanguageSimpleDTO; +import cc.kune.core.shared.dto.I18nTranslationDTO; + +import com.google.gwt.user.cellview.client.CellList; +import com.google.gwt.view.client.ListDataProvider; +import com.google.gwt.view.client.SingleSelectionModel; +import com.google.inject.Inject; + +public class I18nTranslationDataProvider { + + private final ListDataProvider<I18nTranslationDTO> dataProvider = new ListDataProvider<I18nTranslationDTO>(); + private final I18nServiceAsync i18n; + private SimpleCallback loadCallback; + private SingleSelectionModel<I18nTranslationDTO> selectionModel; + private final Session session; + + @Inject + private I18nTranslationDataProvider(final Session session, final I18nServiceAsync i18n) { + this.session = session; + this.i18n = i18n; + } + + public void addDataDisplay(final CellList<I18nTranslationDTO> displayList) { + dataProvider.addDataDisplay(displayList); + } + + private void avance(final int increment) { + final I18nTranslationDTO selected = selectionModel.getSelectedObject(); + final List<I18nTranslationDTO> list = dataProvider.getList(); + final int pos = list.indexOf(selected); + final int next = pos + increment; + if (next >= 0 && next < list.size()) { + selectionModel.setSelected(list.get(next), true); + } + } + + public void refreshDisplays() { + dataProvider.refresh(); + } + + public void selectNext() { + avance(1); + } + + public void selectPrevious() { + avance(-1); + } + + public void setLanguage(final I18nLanguageSimpleDTO language, final boolean toTranslate) { + dataProvider.getList().clear(); + dataProvider.refresh(); + i18n.getTranslatedLexicon(session.getUserHash(), language.getCode(), toTranslate, + new AsyncCallbackSimple<List<I18nTranslationDTO>>() { + @Override + public void onSuccess(final List<I18nTranslationDTO> result) { + dataProvider.setList(result); + dataProvider.refresh(); + if (result.size() > 0) { + selectionModel.setSelected(result.get(0), true); + } + loadCallback.onCallback(); + } + }); + } + + public void setLoadCallback(final SimpleCallback loadCallback) { + this.loadCallback = loadCallback; + } + + public void setSelectionMode(final SingleSelectionModel<I18nTranslationDTO> selectionModel) { + this.selectionModel = selectionModel; + } + +} Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslationProvider.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -1,97 +0,0 @@ -/* - * Copyright 2010 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package cc.kune.gspace.client.i18n; - -import java.util.List; - -import cc.kune.common.client.utils.SimpleCallback; -import cc.kune.core.client.rpcservices.AsyncCallbackSimple; -import cc.kune.core.client.rpcservices.I18nServiceAsync; -import cc.kune.core.client.state.Session; -import cc.kune.core.shared.dto.I18nLanguageSimpleDTO; -import cc.kune.core.shared.dto.I18nTranslationDTO; - -import com.google.gwt.user.cellview.client.CellList; -import com.google.gwt.view.client.ListDataProvider; -import com.google.gwt.view.client.SingleSelectionModel; -import com.google.inject.Inject; - -public class I18nTranslationProvider { - - private final ListDataProvider<I18nTranslationDTO> dataProvider = new ListDataProvider<I18nTranslationDTO>(); - private final I18nServiceAsync i18n; - private SimpleCallback loadCallback; - private SingleSelectionModel<I18nTranslationDTO> selectionModel; - private final Session session; - - @Inject - private I18nTranslationProvider(final Session session, final I18nServiceAsync i18n) { - this.session = session; - this.i18n = i18n; - } - - public void addDataDisplay(final CellList<I18nTranslationDTO> displayList) { - dataProvider.addDataDisplay(displayList); - } - - private void avance(final int increment) { - final I18nTranslationDTO selected = selectionModel.getSelectedObject(); - final List<I18nTranslationDTO> list = dataProvider.getList(); - final int pos = list.indexOf(selected); - final int next = pos + increment; - if (next >= 0 && next < list.size()) { - selectionModel.setSelected(list.get(next), true); - } - } - - public void refreshDisplays() { - dataProvider.refresh(); - } - - public void selectNext() { - avance(1); - } - - public void selectPrevious() { - avance(-1); - } - - public void setLanguage(final I18nLanguageSimpleDTO language, final boolean toTranslate) { - dataProvider.getList().clear(); - dataProvider.refresh(); - i18n.getTranslatedLexicon(session.getUserHash(), language.getCode(), toTranslate, - new AsyncCallbackSimple<List<I18nTranslationDTO>>() { - @Override - public void onSuccess(final List<I18nTranslationDTO> result) { - dataProvider.setList(result); - dataProvider.refresh(); - if (result.size() > 0) { - selectionModel.setSelected(result.get(0), true); - } - loadCallback.onCallback(); - } - }); - } - - public void setLoadCallback(final SimpleCallback loadCallback) { - this.loadCallback = loadCallback; - } - - public void setSelectionMode(final SingleSelectionModel<I18nTranslationDTO> selectionModel) { - this.selectionModel = selectionModel; - } - -} Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorForm.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -46,7 +46,7 @@ private static Binder uiBinder = GWT.create(Binder.class); @UiField PushButton copyIcon; - private I18nTranslationProvider dataProvider; + private I18nTranslationDataProvider dataProvider; private I18nTranslationService i18n; private I18nTranslationDTO item; @UiField @@ -58,14 +58,13 @@ Label noteForTranslators; @UiField Label noteForTranslatorsTittle; + private I18nTraslatorSaver saver; @UiField Label toLanguageTitle; @UiField Label toTranslate; - @UiField Label toTranslateTitle; - @UiField TextArea translation; @@ -108,11 +107,11 @@ void handleKeyPress(final KeyPressEvent event) { if (event.isAltKeyDown() && event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEUP) { - // cellList.fireEvent(event); + saveIfNeeded(); dataProvider.selectPrevious(); } else if (event.isAltKeyDown() && event.getNativeEvent().getKeyCode() == com.google.gwt.event.dom.client.KeyCodes.KEY_PAGEDOWN) { - // cellList.fireEvent(event); + saveIfNeeded(); dataProvider.selectNext(); } else if (event.isAltKeyDown() && event.getCharCode() == 'v') { copyTranslation(); @@ -121,9 +120,11 @@ } } - public void init(final I18nTranslationProvider dataProvider, final I18nTranslationService i18n) { + public void init(final I18nTranslationDataProvider dataProvider, final I18nTranslationService i18n, + final I18nTraslatorSaver saver) { this.dataProvider = dataProvider; this.i18n = i18n; + this.saver = saver; Tooltip.to(copyIcon, i18n.t("Copy the text to translate")); toTranslateTitle.setText(i18n.t("translate this:")); noteForTranslatorsTittle.setText(i18n.t("Notes:")); @@ -131,7 +132,16 @@ keyboardRecomendation.setText(i18n.t("Pulse Alt+PageUp or Alt+PageDown to move up/down in the list while translating, and Alt-V to copy the original text. The translations are autosaved")); } + private void saveIfNeeded() { + keyboardTimer.cancel(); + final String newTranslation = translation.getText(); + if (item != null && !item.getText().equals(newTranslation)) { + saver.save(new I18nTranslationDTO(item.getId(), item.getTrKey(), newTranslation)); + } + } + public void setInfo(final I18nTranslationDTO item) { + saveIfNeeded(); this.item = item; final String[] splitted = splitNT(item.getTrKey()); toTranslate.setText(splitted[0]); @@ -160,10 +170,12 @@ } private void update() { + keyboardTimer.cancel(); if (item != null) { item.setText(translation.getText()); item.setDirty(true); dataProvider.refreshDisplays(); + saveIfNeeded(); } } Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPanel.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -24,7 +24,7 @@ @Inject public I18nTranslatorPanel(final I18nTranslationService i18n, final NotifyLevelImages images, - final TranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel, + final I18nTranslatorTabsCollection transGroup, final LanguageSelectorPanel lanSelectorPanel, final I18nToTranslateGridPanel toTranslateGrid, final I18nTranslatedGridPanel translatedGrid, final I18nTranslateRecomendPanel transRecommend, final CoreResources res) { super(TRANSLATOR_PANEL_ID, "", false, false, images, TRANSLATOR_ERROR_ID, i18n.t("Close"), null, Modified: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorPresenter.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -3,18 +3,14 @@ import cc.kune.common.client.notify.NotifyUser; import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialog; import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter; -import cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter.AbstractTabbedDialogView; import cc.kune.core.client.i18n.I18nUITranslationService; -import cc.kune.core.client.rpcservices.I18nServiceAsync; import cc.kune.core.client.state.Session; import cc.kune.core.shared.dto.I18nLanguageDTO; import cc.kune.core.shared.dto.I18nLanguageSimpleDTO; import cc.kune.gspace.client.i18n.I18nTranslatorPresenter.I18nTranslatorView; import com.google.gwt.event.shared.EventBus; -import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.inject.Inject; -import com.google.inject.Provider; import com.gwtplatform.mvp.client.annotations.ProxyCodeSplit; import com.gwtplatform.mvp.client.proxy.Proxy; @@ -26,53 +22,30 @@ public interface I18nTranslatorProxy extends Proxy<I18nTranslatorPresenter> { } - public interface I18nTranslatorView extends AbstractTabbedDialogView { - void hide(); + public interface I18nTranslatorView extends + cc.kune.common.client.ui.dialogs.tabbed.AbstractTabbedDialogPresenter.AbstractTabbedDialogView { void init(); void setLanguage(I18nLanguageSimpleDTO currentLanguage); - void show(); - } private final I18nUITranslationService i18n; - private final Provider<I18nServiceAsync> i18nService; private final Session session; @Inject public I18nTranslatorPresenter(final EventBus eventBus, final I18nTranslatorProxy proxy, - final Session session, final I18nUITranslationService i18n, final I18nTranslatorView view, - final Provider<I18nServiceAsync> i18nService) { + final Session session, final I18nUITranslationService i18n, final I18nTranslatorView view) { super(eventBus, view, proxy); this.session = session; this.i18n = i18n; - this.i18nService = i18nService; } public void doClose() { getView().hide(); } - public void doTranslation(final String id, final String trKey, final String translation) { - NotifyUser.showProgress(i18n.t("Saving")); - i18nService.get().setTranslation(session.getUserHash(), id, translation, - new AsyncCallback<String>() { - @Override - public void onFailure(final Throwable caught) { - NotifyUser.hideProgress(); - NotifyUser.error(i18n.t("Server error saving the translation")); - } - - @Override - public void onSuccess(final String result) { - NotifyUser.hideProgress(); - i18n.setTranslationAfterSave(trKey, result); - } - }); - } - @Override public I18nTranslatorView getView() { return (I18nTranslatorView) super.getView(); Copied: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java (from rev 1511, trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java) =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java (rev 0) +++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTranslatorTabsCollection.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -0,0 +1,29 @@ +/* + * + * 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.i18n; + +import cc.kune.common.client.ProvidersCollection; + +import com.google.inject.Singleton; + +@SuppressWarnings("serial") +@Singleton +public class I18nTranslatorTabsCollection extends ProvidersCollection { +} Added: trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java (rev 0) +++ trunk/src/main/java/cc/kune/gspace/client/i18n/I18nTraslatorSaver.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -0,0 +1,46 @@ +package cc.kune.gspace.client.i18n; + +import cc.kune.common.client.notify.NotifyUser; +import cc.kune.core.client.i18n.I18nUITranslationService; +import cc.kune.core.client.rpcservices.I18nServiceAsync; +import cc.kune.core.client.state.Session; +import cc.kune.core.shared.dto.I18nTranslationDTO; + +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.inject.Inject; +import com.google.inject.Provider; +import com.google.inject.Singleton; + +@Singleton +public class I18nTraslatorSaver { + private final I18nUITranslationService i18n; + private final Provider<I18nServiceAsync> i18nService; + private final Session session; + + @Inject + public I18nTraslatorSaver(final Session session, final Provider<I18nServiceAsync> i18nService, + final I18nUITranslationService i18n) { + this.session = session; + this.i18nService = i18nService; + this.i18n = i18n; + } + + public void save(final I18nTranslationDTO item) { + NotifyUser.showProgress(i18n.t("Saving")); + i18nService.get().setTranslation(session.getUserHash(), item.getId(), item.getText(), + new AsyncCallback<String>() { + @Override + public void onFailure(final Throwable caught) { + NotifyUser.hideProgress(); + NotifyUser.error(i18n.t("Server error saving the translation")); + } + + @Override + public void onSuccess(final String result) { + NotifyUser.hideProgress(); + i18n.setTranslationAfterSave(item.getTrKey(), result); + } + }); + } + +} Deleted: trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java 2011-09-07 13:44:13 UTC (rev 1512) +++ trunk/src/main/java/cc/kune/gspace/client/i18n/TranslatorTabsCollection.java 2011-09-07 21:37:23 UTC (rev 1513) @@ -1,29 +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.gspace.client.i18n; - -import cc.kune.common.client.ProvidersCollection; - -import com.google.inject.Singleton; - -@SuppressWarnings("serial") -@Singleton -public class TranslatorTabsCollection extends ProvidersCollection { -}
participants (1)
-
Vicente J. Ruiz Jurado