diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/TranslationHistoryPresenter.java b/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/TranslationHistoryPresenter.java index 64aa919760..c79873b826 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/TranslationHistoryPresenter.java +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/TranslationHistoryPresenter.java @@ -110,7 +110,7 @@ protected void displayEntries(TransHistoryItem latest, List ot List newTargets = targetContentsPresenter.getNewTargets(); if (!Objects.equal(latest.getContents(), newTargets)) { - all.add(new TransHistoryItem(messages.unsaved(), newTargets, ContentState.New, messages.you(), new Date())); + all.add(new TransHistoryItem(messages.unsaved(), newTargets, null, messages.you(), new Date())); } } all.addAll(otherEntries); diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/resources/EnumMessages.java b/zanata-war/src/main/java/org/zanata/webtrans/client/resources/EnumMessages.java index f61a185c62..2ee4bfb60a 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/client/resources/EnumMessages.java +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/resources/EnumMessages.java @@ -56,4 +56,22 @@ public interface EnumMessages extends com.google.gwt.i18n.client.Messages @DefaultMessage("Next Fuzzy/Rejected/Untranslated") String nextIncomplete(); + + @DefaultMessage("Untranslated") + String contentStateUntranslated(); + + @DefaultMessage("Fuzzy") + String contentStateFuzzy(); + + @DefaultMessage("Translated") + String contentStateTranslated(); + + @DefaultMessage("Approved") + String contentStateApproved(); + + @DefaultMessage("Rejected") + String contentStateRejected(); + + @DefaultMessage("Unsaved") + String contentStateUnsaved(); } diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java b/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java index de3de6c751..0187acc6f5 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java @@ -547,4 +547,10 @@ public interface WebTransMessages extends Messages @DefaultMessage("You") String you(); + + @DefaultMessage("Compare") + String compare(); + + @DefaultMessage("Remove from comparison") + String removeFromComparison(); } diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ContentStateRenderer.java b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ContentStateRenderer.java new file mode 100644 index 0000000000..3f228c9ca9 --- /dev/null +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ContentStateRenderer.java @@ -0,0 +1,66 @@ +/* + * Copyright 2013, Red Hat, Inc. and individual contributors as indicated by the + * @author tags. See the copyright.txt file in the distribution for a full + * listing of individual contributors. + * + * This is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free + * Software Foundation; either version 2.1 of the License, or (at your option) + * any later version. + * + * This software 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 Lesser General Public License for more + * details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this software; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF + * site: http://www.fsf.org. + */ + +package org.zanata.webtrans.client.ui; + +import org.zanata.common.ContentState; +import org.zanata.webtrans.client.resources.EnumMessages; +import com.google.inject.Inject; +import com.google.inject.Singleton; + +/** + * @author Patrick Huang pahuang@redhat.com + */ +@Singleton +public class ContentStateRenderer extends EnumRenderer +{ + private final EnumMessages messages; + + @Inject + public ContentStateRenderer(EnumMessages messages) + { + this.messages = messages; + } + + @Override + public String render(ContentState object) + { + if (object == null) + { + return messages.contentStateUnsaved(); + } + switch (object) + { + case New: + return messages.contentStateUntranslated(); + case NeedReview: + return messages.contentStateFuzzy(); + case Translated: + return messages.contentStateTranslated(); + case Approved: + return messages.contentStateApproved(); + case Rejected: + return messages.contentStateRejected(); + default: + return getEmptyValue(); + } + } +} diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ReviewCommentItemLine.ui.xml b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ReviewCommentItemLine.ui.xml index eda4fa546a..fff187045d 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ReviewCommentItemLine.ui.xml +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ReviewCommentItemLine.ui.xml @@ -23,7 +23,7 @@ xmlns:g='urn:import:com.google.gwt.user.client.ui'>
-
+
diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TransHistoryItemLine.java b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TransHistoryItemLine.java index a1e5e6f81f..a2c7dac736 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TransHistoryItemLine.java +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TransHistoryItemLine.java @@ -22,6 +22,7 @@ package org.zanata.webtrans.client.ui; import org.zanata.common.ContentState; +import org.zanata.webtrans.client.resources.WebTransMessages; import org.zanata.webtrans.client.util.DateUtil; import org.zanata.webtrans.shared.model.TransHistoryItem; import com.google.gwt.core.client.GWT; @@ -57,12 +58,16 @@ public class TransHistoryItemLine extends Composite Anchor compare; @UiField Anchor copyIntoEditor; + @UiField + WebTransMessages messages; - public TransHistoryItemLine(TransHistoryItem item, TranslationHistoryDisplay.Listener listener) + public TransHistoryItemLine(TransHistoryItem item, TranslationHistoryDisplay.Listener listener, ContentStateRenderer stateRenderer) { this.item = item; this.listener = listener; - heading = new InlineHTML(template.heading(item.getModifiedBy(), stateToStyle(item.getStatus()), item.getStatus().name())); + // modified by person can be empty if translation is pushed from client + String person = item.getModifiedBy().isEmpty() ? "(Someone offline)" : item.getModifiedBy(); + heading = new InlineHTML(template.heading(person, stateToStyle(item.getStatus()), stateRenderer.render(item.getStatus()))); targetContents = new InlineHTML(template.targetContent(TextContentsDisplay.asSyntaxHighlight(item.getContents()).toSafeHtml())); revision = new InlineHTML(template.targetRevision(item.getVersionNum(), item.getOptionalTag())); initWidget(ourUiBinder.createAndBindUi(this)); @@ -72,18 +77,22 @@ public TransHistoryItemLine(TransHistoryItem item, TranslationHistoryDisplay.Lis private static String stateToStyle(ContentState status) { + if (status == null) + { + return ""; + } switch (status) { case New: - return "txt--status--new"; + return "txt--state-neutral"; case NeedReview: - return "txt--status--unsure"; + return "txt--state-unsure"; case Translated: - return "txt--status--success"; + return "txt--state-success"; case Approved: - return "txt--status--approved"; + return "txt--state-highlight"; case Rejected: - return "txt--status--warning"; + return "txt--state-danger"; } return ""; } @@ -100,11 +109,11 @@ public void compareClicked(ClickEvent event) listener.compareClicked(item); if (listener.isItemInComparison(item)) { - compare.setText("Remove from comparison"); + compare.setText(messages.removeFromComparison()); } else { - compare.setText("Compare"); + compare.setText(messages.compare()); } } diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TransHistoryItemLine.ui.xml b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TransHistoryItemLine.ui.xml index 9f25707165..8847ed9e09 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TransHistoryItemLine.ui.xml +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TransHistoryItemLine.ui.xml @@ -21,10 +21,12 @@ + +
- +
diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TranslationHistoryView.java b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TranslationHistoryView.java index fbdba217ec..211b2bd0a5 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TranslationHistoryView.java +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TranslationHistoryView.java @@ -38,6 +38,7 @@ public class TranslationHistoryView extends DialogBox implements TranslationHist { private static final int COMPARISON_TAB_INDEX = 1; private static TranslationHistoryViewUiBinder uiBinder = GWT.create(TranslationHistoryViewUiBinder.class); + private final ContentStateRenderer stateRenderer; @UiField WebTransMessages messages; @UiField @@ -62,9 +63,11 @@ public class TranslationHistoryView extends DialogBox implements TranslationHist private Listener listener; private List items = Lists.newArrayList(); - public TranslationHistoryView() + @Inject + public TranslationHistoryView(ContentStateRenderer stateRenderer) { super(true, true); + this.stateRenderer = stateRenderer; closeButton = new DialogBoxCloseButton(this); HTMLPanel container = uiBinder.createAndBindUi(this); ensureDebugId("transHistory"); @@ -93,7 +96,7 @@ private void redrawList() { if (item instanceof TransHistoryItem) { - itemList.add(new TransHistoryItemLine((TransHistoryItem) item, listener)); + itemList.add(new TransHistoryItemLine((TransHistoryItem) item, listener, stateRenderer)); } if (item instanceof ReviewComment) { diff --git a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TranslationHistoryView.ui.xml b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TranslationHistoryView.ui.xml index 175fe6cdb7..94fab29ee4 100644 --- a/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TranslationHistoryView.ui.xml +++ b/zanata-war/src/main/java/org/zanata/webtrans/client/ui/TranslationHistoryView.ui.xml @@ -14,7 +14,7 @@ - + @@ -25,8 +25,8 @@
-
-
+
+