From 71ee8fb213e32ac2b06702a08dacc38a63575be3 Mon Sep 17 00:00:00 2001 From: Martin Fick Date: Tue, 13 Nov 2012 00:10:02 -0700 Subject: [PATCH] Initialize common KeyCodes in NavigationTable Refactor common KeyCode initialization into NavigationTable. This reduces some of the KeyCode initialization proliferation, and ensures that similar things are done using similar keys. It also drastically reduces the constants needed. Change-Id: I0c88b3dcbe332e02b415a9ef222744588ea0a7b2 --- .../gerrit/client/admin/AdminConstants.java | 4 +-- .../client/admin/AdminConstants.properties | 4 +-- .../gerrit/client/admin/GroupTable.java | 8 +----- .../client/changes/ChangeConstants.java | 4 +-- .../client/changes/ChangeConstants.properties | 4 +-- .../gerrit/client/changes/ChangeTable.java | 8 +----- .../gerrit/client/changes/ChangeTable2.java | 8 +----- .../gerrit/client/ui/NavigationTable.java | 10 ++++++++ .../gerrit/client/ui/ProjectsTable.java | 7 +----- .../google/gerrit/client/ui/UIConstants.java | 4 +-- .../gerrit/client/ui/UIConstants.properties | 4 +-- .../google/gerrit/client/ui/UIMessages.java | 25 +++++++++++++++++++ .../gerrit/client/ui/UIMessages.properties | 3 +++ .../com/google/gerrit/client/ui/Util.java | 1 + 14 files changed, 49 insertions(+), 45 deletions(-) create mode 100644 gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIMessages.java create mode 100644 gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIMessages.properties diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.java index 4bd6874be8..277d7545ae 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.java @@ -94,9 +94,7 @@ public interface AdminConstants extends Constants { String buttonDeleteBranch(); String branchDeletionOpenChanges(); - String groupListPrev(); - String groupListNext(); - String groupListOpen(); + String groupItemHelp(); String groupListTitle(); String createGroupTitle(); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties index 0ab7950e28..720e1dcce4 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AdminConstants.properties @@ -74,9 +74,7 @@ buttonDeleteBranch = Delete branchDeletionOpenChanges = The following branches were not deleted \ because they have open changes: -groupListPrev = Previous group -groupListNext = Next group -groupListOpen = Open group +groupItemHelp = group groupListTitle = Groups createGroupTitle = Create Group diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupTable.java index 68188413ab..311691601a 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupTable.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupTable.java @@ -21,7 +21,6 @@ import com.google.gerrit.client.ui.NavigationTable; import com.google.gerrit.reviewdb.client.AccountGroup; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; -import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.user.client.History; import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter; import com.google.gwt.user.client.ui.HTMLTable.Cell; @@ -40,14 +39,9 @@ public class GroupTable extends NavigationTable { } public GroupTable(final boolean enableLink, final String pointerId) { + super(Util.C.groupItemHelp()); this.enableLink = enableLink; - setSavePointerId(pointerId); - keysNavigation.add(new PrevKeyCommand(0, 'k', Util.C.groupListPrev())); - keysNavigation.add(new NextKeyCommand(0, 'j', Util.C.groupListNext())); - keysNavigation.add(new OpenKeyCommand(0, 'o', Util.C.groupListOpen())); - keysNavigation.add(new OpenKeyCommand(0, KeyCodes.KEY_ENTER, Util.C - .groupListOpen())); table.setText(0, 1, Util.C.columnGroupName()); table.setText(0, 2, Util.C.columnGroupDescription()); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.java index 20d3feabc1..42785e5376 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.java @@ -45,9 +45,7 @@ public interface ChangeConstants extends Constants { String changeTableColumnLastUpdate(); String changeTableNone(); - String changeTablePrev(); - String changeTableNext(); - String changeTableOpen(); + String changeItemHelp(); String changeTableStar(); String changeTablePagePrev(); String changeTablePageNext(); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.properties b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.properties index 56f621925d..283e3091b7 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.properties +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeConstants.properties @@ -25,9 +25,7 @@ changeTableColumnBranch = Branch changeTableColumnLastUpdate = Updated changeTableNone = (None) -changeTablePrev = Previous change -changeTableNext = Next change -changeTableOpen = Open change +changeItemHelp = change changeTableStar = Star (or unstar) change changeTablePagePrev = Previous page of changes changeTablePageNext = Next page of changes diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable.java index 288c5a3ea7..b7256c24c2 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable.java @@ -42,7 +42,6 @@ import com.google.gerrit.reviewdb.client.PatchSetApproval; import com.google.gwt.dom.client.Element; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; -import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.event.dom.client.KeyPressEvent; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter; @@ -79,6 +78,7 @@ public class ChangeTable extends NavigationTable { } public ChangeTable(boolean showApprovals) { + super(Util.C.changeItemHelp()); approvalTypes = Gerrit.getConfig().getApprovalTypes().getApprovalTypes(); if (showApprovals) { columns = BASE_COLUMNS + approvalTypes.size(); @@ -86,12 +86,6 @@ public class ChangeTable extends NavigationTable { columns = BASE_COLUMNS; } - keysNavigation.add(new PrevKeyCommand(0, 'k', Util.C.changeTablePrev())); - keysNavigation.add(new NextKeyCommand(0, 'j', Util.C.changeTableNext())); - keysNavigation.add(new OpenKeyCommand(0, 'o', Util.C.changeTableOpen())); - keysNavigation.add(new OpenKeyCommand(0, KeyCodes.KEY_ENTER, Util.C - .changeTableOpen())); - if (Gerrit.isSignedIn()) { keysAction.add(new StarKeyCommand(0, 's', Util.C.changeTableStar())); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable2.java index 8835148ecd..88be392d3a 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable2.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ChangeTable2.java @@ -29,7 +29,6 @@ import com.google.gerrit.reviewdb.client.Change; import com.google.gwt.dom.client.Element; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; -import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.event.dom.client.KeyPressEvent; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter; @@ -59,15 +58,10 @@ public class ChangeTable2 extends NavigationTable { private List labelNames; public ChangeTable2() { + super(Util.C.changeItemHelp()); columns = BASE_COLUMNS; labelNames = Collections.emptyList(); - keysNavigation.add(new PrevKeyCommand(0, 'k', Util.C.changeTablePrev())); - keysNavigation.add(new NextKeyCommand(0, 'j', Util.C.changeTableNext())); - keysNavigation.add(new OpenKeyCommand(0, 'o', Util.C.changeTableOpen())); - keysNavigation.add( - new OpenKeyCommand(0, KeyCodes.KEY_ENTER, Util.C.changeTableOpen())); - if (Gerrit.isSignedIn()) { keysAction.add(new StarKeyCommand(0, 's', Util.C.changeTableStar())); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/NavigationTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/NavigationTable.java index 3dd9b4519a..633a0c98cf 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/NavigationTable.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/NavigationTable.java @@ -16,6 +16,7 @@ package com.google.gerrit.client.ui; import com.google.gerrit.client.Gerrit; import com.google.gwt.dom.client.Document; +import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.event.dom.client.KeyPressEvent; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.user.client.DOM; @@ -90,6 +91,15 @@ public abstract class NavigationTable extends FancyFlexTable { private boolean computedScrollType; private ScrollPanel parentScrollPanel; + protected NavigationTable(String itemHelpName) { + this(); + keysNavigation.add(new PrevKeyCommand(0, 'k', Util.M.helpListPrev(itemHelpName))); + keysNavigation.add(new NextKeyCommand(0, 'j', Util.M.helpListNext(itemHelpName))); + keysNavigation.add(new OpenKeyCommand(0, 'o', Util.M.helpListOpen(itemHelpName))); + keysNavigation.add(new OpenKeyCommand(0, KeyCodes.KEY_ENTER, + Util.M.helpListOpen(itemHelpName))); + } + protected NavigationTable() { pointer = new Image(Gerrit.RESOURCES.arrowRight()); keysNavigation = new KeyCommandSet(Gerrit.C.sectionNavigation()); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ProjectsTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ProjectsTable.java index 89f3ddc63a..33cbf44bdf 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ProjectsTable.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/ProjectsTable.java @@ -17,7 +17,6 @@ package com.google.gerrit.client.ui; import com.google.gerrit.client.Gerrit; import com.google.gerrit.client.projects.ProjectInfo; import com.google.gerrit.client.projects.ProjectMap; -import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter; import java.util.Collections; @@ -27,11 +26,7 @@ import java.util.List; public class ProjectsTable extends NavigationTable { public ProjectsTable() { - keysNavigation.add(new PrevKeyCommand(0, 'k', Util.C.projectListPrev())); - keysNavigation.add(new NextKeyCommand(0, 'j', Util.C.projectListNext())); - keysNavigation.add(new OpenKeyCommand(0, 'o', Util.C.projectListOpen())); - keysNavigation.add(new OpenKeyCommand(0, KeyCodes.KEY_ENTER, - Util.C.projectListOpen())); + super(Util.C.projectItemHelp()); initColumnHeaders(); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIConstants.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIConstants.java index ebbb0490ca..1919cd3b03 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIConstants.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIConstants.java @@ -22,7 +22,5 @@ public interface UIConstants extends Constants { String projectName(); String projectDescription(); - String projectListOpen(); - String projectListPrev(); - String projectListNext(); + String projectItemHelp(); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIConstants.properties b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIConstants.properties index aa00cee9e1..8a723555d8 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIConstants.properties +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIConstants.properties @@ -3,6 +3,4 @@ commentedActionButtonCancel = Cancel projectName = Project Name projectDescription = Project Description -projectListOpen = Select project -projectListPrev = Previous project -projectListNext = Next project +projectItemHelp = project \ No newline at end of file diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIMessages.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIMessages.java new file mode 100644 index 0000000000..fe9fe3f230 --- /dev/null +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIMessages.java @@ -0,0 +1,25 @@ +// Copyright (C) 2012 The Android Open Source Project +// +// 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 com.google.gerrit.client.ui; + +import com.google.gwt.i18n.client.Messages; + +import java.util.Date; + +public interface UIMessages extends Messages { + String helpListOpen(String item); + String helpListPrev(String item); + String helpListNext(String item); +} diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIMessages.properties b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIMessages.properties new file mode 100644 index 0000000000..1439245259 --- /dev/null +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/UIMessages.properties @@ -0,0 +1,3 @@ +helpListOpen = Select {0} +helpListPrev = Previous {0} +helpListNext = Next {0} diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/Util.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/Util.java index 98f13ef5a6..13d0bd9b44 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/Util.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/Util.java @@ -18,4 +18,5 @@ import com.google.gwt.core.client.GWT; public class Util { public static final UIConstants C = GWT.create(UIConstants.class); + public static final UIMessages M = GWT.create(UIMessages.class); }