From 2f79eca4938ee1a9f033d41442094b760b3ac4f1 Mon Sep 17 00:00:00 2001 From: Alex Eng Date: Thu, 15 Dec 2011 13:36:28 +1000 Subject: [PATCH] Work in progress: Moved 'Options' menu to right side panel --- .../editor/table/InlineTargetCellEditor.java | 45 +++---- .../table/TableEditorTableDefinition.java | 1 - .../client/gin/WebTransClientModule.java | 6 +- .../client/presenter/AppPresenter.java | 19 --- .../client/presenter/SidePanelPresenter.java | 19 ++- .../presenter/TranslationPresenter.java | 44 +++---- ...r.java => ValidationOptionsPresenter.java} | 4 +- .../webtrans/client/resources/Resources.java | 3 - .../client/resources/WebTransMessages.java | 7 +- ...stants.java => EditorConfigConstants.java} | 5 +- ...ionsPanel.java => EditorOptionsPanel.java} | 119 ++++++------------ .../client/ui/EditorOptionsPanel.ui.xml | 33 +++++ .../client/ui/ShortcutConfigPanel.java | 30 ++--- .../zanata/webtrans/client/ui/SidePanel.java | 36 +++--- .../webtrans/client/ui/SidePanel.ui.xml | 24 ++-- .../zanata/webtrans/client/view/AppView.java | 22 ++-- .../webtrans/client/view/AppView.ui.xml | 78 +++++++----- .../client/view/TransUnitNavigationView.java | 8 +- .../webtrans/client/view/TranslationView.java | 43 +++---- .../client/view/TranslationView.ui.xml | 9 +- .../client/view/ValidationDetailsView.ui.xml | 18 --- ...lsView.java => ValidationOptionsView.java} | 36 ++---- .../client/view/ValidationOptionsView.ui.xml | 29 +++++ .../zanata/webtrans/public/Application.css | 16 --- 24 files changed, 300 insertions(+), 354 deletions(-) rename server/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/{ValidationDetailsPresenter.java => ValidationOptionsPresenter.java} (94%) rename server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/{UserConfigConstants.java => EditorConfigConstants.java} (91%) rename server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/{UserOptionsPanel.java => EditorOptionsPanel.java} (52%) create mode 100644 server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/EditorOptionsPanel.ui.xml delete mode 100644 server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationDetailsView.ui.xml rename server/zanata-war/src/main/java/org/zanata/webtrans/client/view/{ValidationDetailsView.java => ValidationOptionsView.java} (59%) create mode 100644 server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationOptionsView.ui.xml diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/InlineTargetCellEditor.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/InlineTargetCellEditor.java index 566dd193ad..b4204aa963 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/InlineTargetCellEditor.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/InlineTargetCellEditor.java @@ -32,7 +32,7 @@ import org.zanata.webtrans.client.events.RunValidationEvent; import org.zanata.webtrans.client.events.UpdateValidationErrorEvent; import org.zanata.webtrans.client.resources.NavigationMessages; -import org.zanata.webtrans.client.ui.UserConfigConstants; +import org.zanata.webtrans.client.ui.EditorConfigConstants; import org.zanata.webtrans.client.ui.ValidationMessagePanel; import org.zanata.webtrans.shared.model.TransUnit; @@ -176,6 +176,19 @@ public InlineTargetCellEditor(final NavigationMessages messages, CancelCallback< final CheckKey checkKey = new CheckKeyImpl(CheckKeyImpl.Context.Edit); // Wrap contents in a table + final int REFRESH_INTERVAL = 1000; // ms + final Timer runValidationTimer = new Timer() + { + @Override + public void run() + { + if (isEditing() && isOpened()) + { + eventBus.fireEvent(new RunValidationEvent(cellValue.getId(), cellValue.getSource(), textArea.getText(), false)); + } + } + }; + verticalPanel = new VerticalPanel(); verticalPanel.setWidth("100%"); verticalPanel.setHeight("100%"); @@ -194,6 +207,7 @@ public InlineTargetCellEditor(final NavigationMessages messages, CancelCallback< public void onValueChange(ValueChangeEvent event) { autoSize(); + runValidationTimer.schedule(REFRESH_INTERVAL); } }); @@ -214,18 +228,7 @@ public void onFocus(FocusEvent event) } }); - final int DELAY_INTERVAL = 1000; // ms - final Timer runValidationTimer = new Timer() - { - @Override - public void run() - { - if (isEditing() && isOpened() && isFocused()) - { - eventBus.fireEvent(new RunValidationEvent(cellValue.getId(), cellValue.getSource(), textArea.getText(), false)); - } - } - }; + textArea.addKeyUpHandler(new KeyUpHandler() { @@ -235,7 +238,7 @@ public void onKeyUp(KeyUpEvent event) checkKey.init(event.getNativeEvent()); if (checkKey.isUserTyping()) { - runValidationTimer.schedule(DELAY_INTERVAL); + runValidationTimer.schedule(REFRESH_INTERVAL); } } }); @@ -679,15 +682,15 @@ public void setShowOperationButtons(boolean showButtons) public void updateKeyBehaviour(Map configMap) { - if (configMap.containsKey(UserConfigConstants.BUTTON_FUZZY) && configMap.containsKey(UserConfigConstants.BUTTON_UNTRANSLATED)) + if (configMap.containsKey(EditorConfigConstants.BUTTON_FUZZY) && configMap.containsKey(EditorConfigConstants.BUTTON_UNTRANSLATED)) { - untranslatedMode = configMap.get(UserConfigConstants.BUTTON_UNTRANSLATED); - fuzzyMode = configMap.get(UserConfigConstants.BUTTON_FUZZY); + untranslatedMode = configMap.get(EditorConfigConstants.BUTTON_UNTRANSLATED); + fuzzyMode = configMap.get(EditorConfigConstants.BUTTON_FUZZY); } - if (configMap.containsKey(UserConfigConstants.BUTTON_ENTER)) + if (configMap.containsKey(EditorConfigConstants.BUTTON_ENTER)) { - isEnterKeySavesEnabled = configMap.get(UserConfigConstants.BUTTON_ENTER); + isEnterKeySavesEnabled = configMap.get(EditorConfigConstants.BUTTON_ENTER); if (isEnterKeySavesEnabled) { saveButton.setTitle(saveButtonwithEnterShortcuts); @@ -698,9 +701,9 @@ public void updateKeyBehaviour(Map configMap) } } - if (configMap.containsKey(UserConfigConstants.BUTTON_ESC)) + if (configMap.containsKey(EditorConfigConstants.BUTTON_ESC)) { - isEscKeyCloseEditor = configMap.get(UserConfigConstants.BUTTON_ESC); + isEscKeyCloseEditor = configMap.get(EditorConfigConstants.BUTTON_ESC); } } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TableEditorTableDefinition.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TableEditorTableDefinition.java index 8c17722a45..fea7d1a32e 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TableEditorTableDefinition.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/editor/table/TableEditorTableDefinition.java @@ -45,7 +45,6 @@ import com.google.gwt.gen2.table.client.DefaultTableDefinition; import com.google.gwt.gen2.table.client.RowRenderer; import com.google.gwt.user.client.Event; -import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.HasVerticalAlignment; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Label; diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/gin/WebTransClientModule.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/gin/WebTransClientModule.java index 6d6d4e71c9..0edf7de236 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/gin/WebTransClientModule.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/gin/WebTransClientModule.java @@ -45,7 +45,7 @@ import org.zanata.webtrans.client.presenter.TranslationEditorPresenter; import org.zanata.webtrans.client.presenter.TranslationPresenter; import org.zanata.webtrans.client.presenter.UndoRedoPresenter; -import org.zanata.webtrans.client.presenter.ValidationDetailsPresenter; +import org.zanata.webtrans.client.presenter.ValidationOptionsPresenter; import org.zanata.webtrans.client.presenter.WorkspaceUsersPresenter; import org.zanata.webtrans.client.resources.Resources; import org.zanata.webtrans.client.resources.WebTransMessages; @@ -62,7 +62,7 @@ import org.zanata.webtrans.client.view.TranslationEditorView; import org.zanata.webtrans.client.view.TranslationView; import org.zanata.webtrans.client.view.UndoRedoView; -import org.zanata.webtrans.client.view.ValidationDetailsView; +import org.zanata.webtrans.client.view.ValidationOptionsView; import org.zanata.webtrans.client.view.WorkspaceUsersView; import org.zanata.webtrans.shared.auth.Identity; import org.zanata.webtrans.shared.model.WorkspaceContext; @@ -97,7 +97,7 @@ protected void configure() bindPresenter(TransUnitNavigationPresenter.class, TransUnitNavigationPresenter.Display.class, TransUnitNavigationView.class); bindPresenter(SidePanelPresenter.class, SidePanelPresenter.Display.class, SidePanel.class); bindPresenter(TranslationEditorPresenter.class, TranslationEditorPresenter.Display.class, TranslationEditorView.class); - bindPresenter(ValidationDetailsPresenter.class, ValidationDetailsPresenter.Display.class, ValidationDetailsView.class); + bindPresenter(ValidationOptionsPresenter.class, ValidationOptionsPresenter.Display.class, ValidationOptionsView.class); bindPresenter(UndoRedoPresenter.class, UndoRedoPresenter.Display.class, UndoRedoView.class); bind(HasPageNavigation.class).to(TableEditorView.class).in(Singleton.class); diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/AppPresenter.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/AppPresenter.java index f606221a2f..580f554c98 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/AppPresenter.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/AppPresenter.java @@ -28,7 +28,6 @@ import org.zanata.common.TransUnitWords; import org.zanata.common.TranslationStats; import org.zanata.webtrans.client.Application; -import org.zanata.webtrans.client.events.ButtonDisplayChangeEvent; import org.zanata.webtrans.client.events.DocumentSelectionEvent; import org.zanata.webtrans.client.events.DocumentSelectionHandler; import org.zanata.webtrans.client.events.NotificationEvent; @@ -42,8 +41,6 @@ import org.zanata.webtrans.client.presenter.AppPresenter.Display.StatsType; import org.zanata.webtrans.client.resources.WebTransMessages; import org.zanata.webtrans.client.rpc.CachingDispatchAsync; -import org.zanata.webtrans.client.ui.ShortcutConfigPanel; -import org.zanata.webtrans.client.ui.UserOptionsPanel; import org.zanata.webtrans.shared.auth.Identity; import org.zanata.webtrans.shared.model.DocumentId; import org.zanata.webtrans.shared.model.DocumentInfo; @@ -61,7 +58,6 @@ import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Anchor; -import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; @@ -97,10 +93,6 @@ enum StatsType HasClickHandlers getDocumentsLink(); - HasClickHandlers getOptionsLink(); - - Widget getOptionsLinkObject(); - void setUserLabel(String userLabel); void setWorkspaceNameLabel(String workspaceNameLabel, String workspaceTitle); @@ -149,8 +141,6 @@ enum StatsType private static final String WORKSPACE_TITLE_QUERY_PARAMETER_KEY = "title"; - private final UserOptionsPanel userOptionsPanel = new UserOptionsPanel(true, eventBus); - @Inject public AppPresenter(Display display, EventBus eventBus, CachingDispatchAsync dispatcher, final TranslationPresenter translationPresenter, final DocumentListPresenter documentListPresenter, final Identity identity, final WorkspaceContext workspaceContext, final WebTransMessages messages) { @@ -249,15 +239,6 @@ public void onClick(ClickEvent event) } })); - registerHandler(display.getOptionsLink().addClickHandler(new ClickHandler() - { - @Override - public void onClick(ClickEvent event) - { - userOptionsPanel.toggleDisplay(display.getOptionsLinkObject()); - } - })); - display.setUserLabel(identity.getPerson().getName()); String workspaceTitle = Window.Location.getParameter(WORKSPACE_TITLE_QUERY_PARAMETER_KEY); diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/SidePanelPresenter.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/SidePanelPresenter.java index d7667936fb..9b3eeece0f 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/SidePanelPresenter.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/presenter/SidePanelPresenter.java @@ -27,6 +27,7 @@ import org.zanata.webtrans.client.editor.filter.TransFilterPresenter; import org.zanata.webtrans.client.rpc.CachingDispatchAsync; +import org.zanata.webtrans.client.ui.EditorOptionsPanel; import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; @@ -35,25 +36,31 @@ public class SidePanelPresenter extends WidgetPresenteraeng@redhat.com * **/ -public class ValidationDetailsPresenter extends WidgetPresenter +public class ValidationOptionsPresenter extends WidgetPresenter { public interface Display extends WidgetDisplay { @@ -49,7 +49,7 @@ public interface Display extends WidgetDisplay } @Inject - public ValidationDetailsPresenter(Display display, EventBus eventBus) + public ValidationOptionsPresenter(Display display, EventBus eventBus) { super(display, eventBus); } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/resources/Resources.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/resources/Resources.java index 349bb1bf68..4e39567bdd 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/resources/Resources.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/resources/Resources.java @@ -39,9 +39,6 @@ public interface Resources extends ClientBundle @Source("org/zanata/webtrans/images/crystal_project/_16x16/actions/downArrow.png") ImageResource downArrowButton(); - @Source("org/zanata/webtrans/images/crystal_project/_16x16/actions/leftArrow.png") - ImageResource leftArrowButton(); - @Source("org/zanata/webtrans/images/crystal_project/_16x16/actions/rightArrow.png") ImageResource rightArrowButton(); diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java index eca2807ee0..2c09d7df34 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/resources/WebTransMessages.java @@ -59,8 +59,11 @@ public interface WebTransMessages extends Messages @DefaultMessage("Show Translation Suggestions") String showTranslationMemoryPanel(); - @DefaultMessage("Show Translation Details") - String showTranslationDetailsPanel(); + @DefaultMessage("Show Editor Options") + String showEditorOptions(); + + @DefaultMessage("Hide Editor Options") + String hideEditorOptions(); @DefaultMessage("Find") String findButton(); diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/UserConfigConstants.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/EditorConfigConstants.java similarity index 91% rename from server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/UserConfigConstants.java rename to server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/EditorConfigConstants.java index 0e791d0b3a..923e87b41e 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/UserConfigConstants.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/EditorConfigConstants.java @@ -25,7 +25,7 @@ * @author Alex Eng aeng@redhat.com * **/ -public class UserConfigConstants +public class EditorConfigConstants { public static final String BUTTON_FUZZY = "Fuzzy"; public static final String BUTTON_UNTRANSLATED = "Untranslated"; @@ -36,8 +36,7 @@ public class UserConfigConstants public static final String LABEL_ESC_KEY_CLOSE = "'Esc' key closes editor"; public static final String LABEL_NAV_OPTION = "Navigation key/button options:"; public static final String LABEL_EDITOR_BUTTONS = "Editor Buttons"; - public static final String LABEL_USER_OPTIONS = "User Options"; - public static final String LABEL_LIVE_VALIDATION = "Live Validation"; + public static final String LABEL_EDITOR_OPTIONS = "Editor Options"; public static final String OPTION_FUZZY_UNTRANSLATED = "Next Fuzzy/Untranslated"; public static final String OPTION_FUZZY = "Next Fuzzy"; diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/UserOptionsPanel.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/EditorOptionsPanel.java similarity index 52% rename from server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/UserOptionsPanel.java rename to server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/EditorOptionsPanel.java index 777a75175f..45c1e68fca 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/UserOptionsPanel.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/EditorOptionsPanel.java @@ -29,77 +29,65 @@ import org.zanata.webtrans.client.events.UserConfigChangeEvent; import com.allen_sauer.gwt.log.client.Log; +import com.google.gwt.core.client.GWT; import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; +import com.google.gwt.uibinder.client.UiBinder; +import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.CheckBox; -import com.google.gwt.user.client.ui.DecoratedPopupPanel; -import com.google.gwt.user.client.ui.FlowPanel; -import com.google.gwt.user.client.ui.HorizontalPanel; +import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.UIObject; +import com.google.gwt.user.client.ui.VerticalPanel; +import com.google.gwt.user.client.ui.Widget; +import com.google.inject.Inject; /** * * @author Alex Eng aeng@redhat.com * **/ -public class UserOptionsPanel extends DecoratedPopupPanel +public class EditorOptionsPanel extends Composite { - private final CheckBox enterChk = new CheckBox(UserConfigConstants.LABEL_ENTER_BUTTON_SAVE); - private final CheckBox escChk = new CheckBox(UserConfigConstants.LABEL_ESC_KEY_CLOSE); - private final CheckBox editorButtonsChk = new CheckBox(UserConfigConstants.LABEL_EDITOR_BUTTONS); - private final CheckBox liveValidationChk = new CheckBox(UserConfigConstants.LABEL_LIVE_VALIDATION); + private static EditorOptionsUiBinder uiBinder = GWT.create(EditorOptionsUiBinder.class); - private Map configMap = new HashMap(); - - private EventBus eventBus; - - public UserOptionsPanel(boolean autoHide, EventBus eventBus) + interface EditorOptionsUiBinder extends UiBinder { - super(autoHide); - this.eventBus = eventBus; - init(); - bindEvent(); - setDefaultValue(); } - private void init() - { - FlowPanel mainPanel = new FlowPanel(); - mainPanel.add(new Label(UserConfigConstants.LABEL_USER_OPTIONS)); - - HorizontalPanel editorButtonsHP = new HorizontalPanel(); - editorButtonsHP.setSpacing(5); - editorButtonsHP.add(editorButtonsChk); - mainPanel.add(editorButtonsHP); - - HorizontalPanel liveValidationButtonsHP = new HorizontalPanel(); - liveValidationButtonsHP.setSpacing(5); - liveValidationButtonsHP.add(liveValidationChk); - // mainPanel.add(liveValidationButtonsHP); - - HorizontalPanel enteroptHP = new HorizontalPanel(); - enteroptHP.setSpacing(5); - enteroptHP.add(enterChk); - mainPanel.add(enteroptHP); - - HorizontalPanel escoptHP = new HorizontalPanel(); - escoptHP.setSpacing(5); - escoptHP.add(escChk); - mainPanel.add(escoptHP); - - this.add(mainPanel); - } + @UiField + VerticalPanel contentPanel; + + @UiField + Label header; + + @UiField + CheckBox enterChk, escChk, editorButtonsChk; + + private Map configMap = new HashMap(); - private void bindEvent() + public EditorOptionsPanel(final EventBus eventBus) { + initWidget(uiBinder.createAndBindUi(this)); + + header.setText(EditorConfigConstants.LABEL_EDITOR_OPTIONS); + enterChk.setText(EditorConfigConstants.LABEL_ENTER_BUTTON_SAVE); + escChk.setText(EditorConfigConstants.LABEL_ESC_KEY_CLOSE); + editorButtonsChk.setText(EditorConfigConstants.LABEL_EDITOR_BUTTONS); + + enterChk.setValue(false); + escChk.setValue(false); + editorButtonsChk.setValue(true); + + configMap.put(EditorConfigConstants.BUTTON_ENTER, false); + configMap.put(EditorConfigConstants.BUTTON_ESC, false); + enterChk.addValueChangeHandler(new ValueChangeHandler() { @Override public void onValueChange(ValueChangeEvent event) { Log.info("Enable 'Enter' Key to save and move to next string: " + event.getValue()); - configMap.put(UserConfigConstants.BUTTON_ENTER, event.getValue()); + configMap.put(EditorConfigConstants.BUTTON_ENTER, event.getValue()); eventBus.fireEvent(new UserConfigChangeEvent(configMap)); } }); @@ -120,43 +108,16 @@ public void onValueChange(ValueChangeEvent event) public void onValueChange(ValueChangeEvent event) { Log.info("Enable 'Esc' Key to close editor: " + event.getValue()); - configMap.put(UserConfigConstants.BUTTON_ESC, event.getValue()); + configMap.put(EditorConfigConstants.BUTTON_ESC, event.getValue()); eventBus.fireEvent(new UserConfigChangeEvent(configMap)); } }); - - liveValidationChk.addValueChangeHandler(new ValueChangeHandler() - { - @Override - public void onValueChange(ValueChangeEvent event) - { - Log.info("Enable live validation: " + event.getValue()); - } - }); - } - private void setDefaultValue() + @Override + public Widget asWidget() { - enterChk.setValue(false); - escChk.setValue(false); - editorButtonsChk.setValue(true); - liveValidationChk.setValue(false); - - configMap.put(UserConfigConstants.BUTTON_ENTER, false); - configMap.put(UserConfigConstants.BUTTON_ESC, false); - } - - public void toggleDisplay(final UIObject target) - { - if (!isShowing()) - { - showRelativeTo(target); - } - else if (isShowing()) - { - hide(); - } + return this; } } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/EditorOptionsPanel.ui.xml b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/EditorOptionsPanel.ui.xml new file mode 100644 index 0000000000..8c8485309a --- /dev/null +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/EditorOptionsPanel.ui.xml @@ -0,0 +1,33 @@ + + + + + + + .header { + font-weight:bold; + font-size:13px; + background:#4a75b5; + text-align:center; + color:#FFFFFF; + width:100%; + border-radius:3px; + height:17px; + } + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ShortcutConfigPanel.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ShortcutConfigPanel.java index 0773f8db6e..d0d2a98ff0 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ShortcutConfigPanel.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/ShortcutConfigPanel.java @@ -60,12 +60,12 @@ public ShortcutConfigPanel(boolean autoHide, EventBus eventBus) private void init() { FlowPanel mainPanel = new FlowPanel(); - mainPanel.add(new Label(UserConfigConstants.LABEL_NAV_OPTION)); + mainPanel.add(new Label(EditorConfigConstants.LABEL_NAV_OPTION)); optionsList.clear(); - optionsList.addItem(UserConfigConstants.OPTION_FUZZY_UNTRANSLATED); - optionsList.addItem(UserConfigConstants.OPTION_FUZZY); - optionsList.addItem(UserConfigConstants.OPTION_UNTRANSLATED); + optionsList.addItem(EditorConfigConstants.OPTION_FUZZY_UNTRANSLATED); + optionsList.addItem(EditorConfigConstants.OPTION_FUZZY); + optionsList.addItem(EditorConfigConstants.OPTION_UNTRANSLATED); mainPanel.add(optionsList); this.add(mainPanel); @@ -79,20 +79,20 @@ private void bindEvent() public void onChange(ChangeEvent event) { String selectedOption = optionsList.getItemText(optionsList.getSelectedIndex()); - if (selectedOption.equals(UserConfigConstants.OPTION_FUZZY_UNTRANSLATED)) + if (selectedOption.equals(EditorConfigConstants.OPTION_FUZZY_UNTRANSLATED)) { - configMap.put(UserConfigConstants.BUTTON_UNTRANSLATED, true); - configMap.put(UserConfigConstants.BUTTON_FUZZY, true); + configMap.put(EditorConfigConstants.BUTTON_UNTRANSLATED, true); + configMap.put(EditorConfigConstants.BUTTON_FUZZY, true); } - else if (selectedOption.equals(UserConfigConstants.OPTION_FUZZY)) + else if (selectedOption.equals(EditorConfigConstants.OPTION_FUZZY)) { - configMap.put(UserConfigConstants.BUTTON_FUZZY, true); - configMap.put(UserConfigConstants.BUTTON_UNTRANSLATED, false); + configMap.put(EditorConfigConstants.BUTTON_FUZZY, true); + configMap.put(EditorConfigConstants.BUTTON_UNTRANSLATED, false); } - else if (selectedOption.equals(UserConfigConstants.OPTION_UNTRANSLATED)) + else if (selectedOption.equals(EditorConfigConstants.OPTION_UNTRANSLATED)) { - configMap.put(UserConfigConstants.BUTTON_FUZZY, false); - configMap.put(UserConfigConstants.BUTTON_UNTRANSLATED, true); + configMap.put(EditorConfigConstants.BUTTON_FUZZY, false); + configMap.put(EditorConfigConstants.BUTTON_UNTRANSLATED, true); } eventBus.fireEvent(new UserConfigChangeEvent(configMap)); } @@ -103,8 +103,8 @@ private void setDefaultValue() { optionsList.setSelectedIndex(0); - configMap.put(UserConfigConstants.BUTTON_FUZZY, true); - configMap.put(UserConfigConstants.BUTTON_UNTRANSLATED, true); + configMap.put(EditorConfigConstants.BUTTON_FUZZY, true); + configMap.put(EditorConfigConstants.BUTTON_UNTRANSLATED, true); } public void toggleDisplay(final UIObject target) diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/SidePanel.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/SidePanel.java index 876fe40570..c5be3f52da 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/SidePanel.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/SidePanel.java @@ -28,7 +28,7 @@ import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.LayoutPanel; -import com.google.gwt.user.client.ui.StackLayoutPanel; +import com.google.gwt.user.client.ui.SplitLayoutPanel; import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; @@ -37,38 +37,39 @@ public class SidePanel extends Composite implements SidePanelPresenter.Display private static SidePanelUiBinder uiBinder = GWT.create(SidePanelUiBinder.class); - interface SidePanelUiBinder extends UiBinder + interface SidePanelUiBinder extends UiBinder { } - private final LayoutPanel validationDetailContainer; + @UiField + SplitLayoutPanel mainPanel; + @UiField + LayoutPanel validationOptionsContainer; @UiField - StackLayoutPanel mainPanel; + LayoutPanel editorOptionsContainer; - private final LayoutPanel rootPanel; - private final WebTransMessages messages; @Inject public SidePanel(WebTransMessages messages) { - validationDetailContainer = new LayoutPanel(); - - this.messages = messages; - - rootPanel = uiBinder.createAndBindUi(this); - initWidget(rootPanel); + initWidget(uiBinder.createAndBindUi(this)); + } - mainPanel.add(validationDetailContainer, messages.validationDetailsHeading(), 20); + @Override + public void setValidationOptionsView(Widget widget) + { + validationOptionsContainer.clear(); + validationOptionsContainer.add(widget); } @Override - public void setValidationDetailView(Widget widget) + public void setEditorOptionsPanel(Widget widget) { - validationDetailContainer.clear(); - validationDetailContainer.add(widget); + editorOptionsContainer.clear(); + editorOptionsContainer.add(widget); } @Override @@ -77,4 +78,7 @@ public Widget asWidget() return this; } + + + } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/SidePanel.ui.xml b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/SidePanel.ui.xml index c6829e3715..9813461023 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/SidePanel.ui.xml +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/ui/SidePanel.ui.xml @@ -11,19 +11,17 @@ border-radius: 5px; } - .mainPanel { - font-size:13px; - font-weight:bold; - text-align:center; - cursor:pointer; - padding:3px; - } - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/AppView.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/AppView.java index 0ab7ee8816..60c574e3c1 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/AppView.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/AppView.java @@ -55,7 +55,7 @@ interface AppViewUiBinder extends UiBinder private final int NOTIFICATION_TIME = 2500; @UiField - Anchor signOutLink, leaveLink, helpLink, documentsLink, optionsLink; + Anchor signOutLink, leaveLink, helpLink, documentsLink; @UiField(provided = true) TransUnitCountBar translationStatsBar; @@ -67,7 +67,10 @@ interface AppViewUiBinder extends UiBinder Label notificationMessage; @UiField - SpanElement user, selectedDocumentSpan, selectedDocumentPathSpan; + SpanElement selectedDocumentSpan, selectedDocumentPathSpan; + + @UiField + Label user; @UiField LayoutPanel container, topPanel; @@ -175,16 +178,11 @@ public HasClickHandlers getDocumentsLink() return documentsLink; } - @Override - public HasClickHandlers getOptionsLink() - { - return optionsLink; - } - @Override public void setUserLabel(String userLabel) { - user.setInnerText(userLabel); + user.setText(userLabel); + user.setTitle("Username"); } @Override @@ -286,10 +284,4 @@ private void updateStatsDisplay() break; } } - - @Override - public Widget getOptionsLinkObject() - { - return optionsLink; - } } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/AppView.ui.xml b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/AppView.ui.xml index 58af9c613a..ea045eae4e 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/AppView.ui.xml +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/AppView.ui.xml @@ -10,17 +10,20 @@ - .header { - background-color: #ffffff; - } - + .topPanel-Navigation { - float: right; - color: #0203ad; + } + .topPanel-Navigation a { text-decoration: none; } + + .topPanel-Navigation td { + border-right:1px solid #e0e0e0; + padding-right:10px; + padding-left:10px; + } .topPanel-Workspace { font-size: 1.2em; @@ -54,35 +57,46 @@ .divider { color: #e0e0e0; + padding-left:3px; + padding-right:3px; } + .logo { + margin-left:6px; + } + + .topPanel-right-menu { + margin-right:6px; + } + - - - - - - - - - - User Name - | - Help - | - Options - | - Leave Workspace - | - Sign Out - - - - - + + + + + + + + + + + + + Help + + + Leave Workspace + + + Sign Out + + + + + - + @@ -102,8 +116,8 @@ - - + + diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TransUnitNavigationView.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TransUnitNavigationView.java index fe1ca984f3..7d99a6f2a7 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TransUnitNavigationView.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TransUnitNavigationView.java @@ -25,7 +25,7 @@ import org.zanata.webtrans.client.presenter.TransUnitNavigationPresenter; import org.zanata.webtrans.client.resources.NavigationMessages; import org.zanata.webtrans.client.resources.Resources; -import org.zanata.webtrans.client.ui.UserConfigConstants; +import org.zanata.webtrans.client.ui.EditorConfigConstants; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.HasClickHandlers; @@ -70,10 +70,10 @@ public TransUnitNavigationView(final NavigationMessages messages, final Resource public void setNavModeTooltip(Map configMap) { - if (configMap.containsKey(UserConfigConstants.BUTTON_FUZZY) && configMap.containsKey(UserConfigConstants.BUTTON_UNTRANSLATED)) + if (configMap.containsKey(EditorConfigConstants.BUTTON_FUZZY) && configMap.containsKey(EditorConfigConstants.BUTTON_UNTRANSLATED)) { - boolean fuzzyMode = configMap.get(UserConfigConstants.BUTTON_FUZZY); - boolean untranslatedMode = configMap.get(UserConfigConstants.BUTTON_UNTRANSLATED); + boolean fuzzyMode = configMap.get(EditorConfigConstants.BUTTON_FUZZY); + boolean untranslatedMode = configMap.get(EditorConfigConstants.BUTTON_UNTRANSLATED); if (fuzzyMode && !untranslatedMode) { diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TranslationView.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TranslationView.java index e68134bac4..8f8e191085 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TranslationView.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TranslationView.java @@ -35,6 +35,7 @@ import com.google.gwt.user.client.ui.LayoutPanel; import com.google.gwt.user.client.ui.SplitLayoutPanel; import com.google.gwt.user.client.ui.TabLayoutPanel; +import com.google.gwt.user.client.ui.ToggleButton; import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; @@ -58,6 +59,9 @@ interface TranslationViewUiBinder extends UiBinder @UiField LayoutPanel editorContainer, sidePanelContainer; + @UiField + ToggleButton toogleOptionsButton; + LayoutPanel tmPanel, userPanel; /* @@ -69,11 +73,11 @@ interface TranslationViewUiBinder extends UiBinder @UiField SplitLayoutPanel mainSplitPanel; - @UiField - Image sidePanelCollapse; + // @UiField + // Image sidePanelCollapse; - @UiField - Image sidePanelExpend; + // @UiField + // Image sidePanelExpend; @UiField Image southPanelMinimize; @@ -103,11 +107,13 @@ public TranslationView(Resources resources, WebTransMessages messages) initWidget(uiBinder.createAndBindUi(this)); southPanelMinimize.setVisible(true); - sidePanelCollapse.setVisible(true); + // sidePanelCollapse.setVisible(true); mainSplitPanel.setWidgetMinSize(sidePanelOuterContainer, (int) panelWidth); mainSplitPanel.setWidgetMinSize(southPanelContainer, (int) southHeight); - sidePanelExpend.setTitle(messages.showTranslationDetailsPanel()); + toogleOptionsButton.setText("Options"); + toogleOptionsButton.setTitle(messages.showEditorOptions()); + toogleOptionsButton.setDown(true); southPanelTab.add(tmPanel, "Translation Memory"); if (!disableGlossary) @@ -146,25 +152,6 @@ public void setGlossaryView(Widget glossaryView) } } - @Override - public HasClickHandlers getHideSidePanelViewButton() - { - return sidePanelCollapse; - } - - @Override - public HasClickHandlers getShowSidePanelViewButton() - { - return sidePanelExpend; - } - - @Override - public void setShowSidePanelViewButtonVisible(boolean visible) - { - sidePanelExpend.setVisible(visible); - sidePanelCollapse.setVisible(!visible); - } - @Override public Widget asWidget() { @@ -222,6 +209,12 @@ public void setSouthPanelViewVisible(boolean visible) } + @Override + public ToggleButton getToogleOptionsButton() + { + return toogleOptionsButton; + } + @Override public HasClickHandlers getHideSouthPanelButton() { diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TranslationView.ui.xml b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TranslationView.ui.xml index 1f3f9d847d..33d6c4a442 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TranslationView.ui.xml +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/TranslationView.ui.xml @@ -34,10 +34,9 @@ - + - + @@ -47,10 +46,6 @@ - - - diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationDetailsView.ui.xml b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationDetailsView.ui.xml deleted file mode 100644 index 527ff4d893..0000000000 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationDetailsView.ui.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationDetailsView.java b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationOptionsView.java similarity index 59% rename from server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationDetailsView.java rename to server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationOptionsView.java index 2fa7ed6e4f..d9cdb0072b 100644 --- a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationDetailsView.java +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationOptionsView.java @@ -1,59 +1,40 @@ package org.zanata.webtrans.client.view; -import java.util.HashMap; -import java.util.Map; - -import org.zanata.webtrans.client.presenter.ValidationDetailsPresenter; -import org.zanata.webtrans.client.resources.NavigationMessages; -import org.zanata.webtrans.client.resources.Resources; +import org.zanata.webtrans.client.presenter.ValidationOptionsPresenter; import org.zanata.webtrans.client.validation.ValidationService; import org.zanata.webtrans.shared.model.TransUnitId; import org.zanata.webtrans.shared.validation.ValidationObject; import com.google.gwt.core.client.GWT; -import com.google.gwt.event.dom.client.ClickEvent; -import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.CheckBox; import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.HorizontalPanel; -import com.google.gwt.user.client.ui.Image; -import com.google.gwt.user.client.ui.LayoutPanel; -import com.google.gwt.user.client.ui.PushButton; import com.google.gwt.user.client.ui.VerticalPanel; import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; -public class ValidationDetailsView extends Composite implements ValidationDetailsPresenter.Display +public class ValidationOptionsView extends Composite implements ValidationOptionsPresenter.Display { private final ValidationService validationService; - private static ValidationDetailsViewUiBinder uiBinder = GWT.create(ValidationDetailsViewUiBinder.class); - - private final Resources resources; - private final NavigationMessages messages; + private static ValidationOptionsViewUiBinder uiBinder = GWT.create(ValidationOptionsViewUiBinder.class); - interface ValidationDetailsViewUiBinder extends UiBinder + interface ValidationOptionsViewUiBinder extends UiBinder { } - @UiField - LayoutPanel rootPanel; - @UiField VerticalPanel contentPanel; @Inject - public ValidationDetailsView(NavigationMessages messages, Resources resources, final ValidationService validationService) + public ValidationOptionsView(final ValidationService validationService) { initWidget(uiBinder.createAndBindUi(this)); this.validationService = validationService; - this.resources = resources; - this.messages = messages; + initValidationList(); } @@ -62,8 +43,6 @@ private void initValidationList() { for (final ValidationObject action : validationService.getValidationList()) { - HorizontalPanel hp = new HorizontalPanel(); - hp.setSpacing(5); CheckBox chk = new CheckBox(action.getId()); chk.setValue(action.isEnabled()); @@ -77,8 +56,7 @@ public void onValueChange(ValueChangeEvent event) }); chk.setTitle(action.getDescription()); - hp.add(chk); - contentPanel.add(hp); + contentPanel.add(chk); } } diff --git a/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationOptionsView.ui.xml b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationOptionsView.ui.xml new file mode 100644 index 0000000000..ac2b1099f9 --- /dev/null +++ b/server/zanata-war/src/main/java/org/zanata/webtrans/client/view/ValidationOptionsView.ui.xml @@ -0,0 +1,29 @@ + + + + + + .header { + font-weight:bold; + font-size:13px; + background:#4a75b5; + text-align:center; + color:#FFFFFF; + width:100%; + border-radius:3px; + height:17px; + } + + + + + Validation Options + + + + + \ No newline at end of file diff --git a/server/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css b/server/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css index 436de2265e..ff0467ddc2 100644 --- a/server/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css +++ b/server/zanata-war/src/main/resources/org/zanata/webtrans/public/Application.css @@ -154,22 +154,6 @@ Removes some of the styling on the page-level splitters color: white; } -.gwt-StackLayoutPanel .gwt-StackLayoutPanelHeader { - cursor:pointer; - font-weight:bold; - font-size:13px; - padding:2px; - background:#4a75b5; - text-align:center; - color:#FFFFFF; -} - -.gwt-StackLayoutPanel .gwt-StackLayoutPanelContent { - margin-left:3px; - margin-right:3px; - border:0px; -} - .gwt-TabLayoutPanel .gwt-TabLayoutPanelTab { cursor:pointer; border-top-left-radius:5px;