Add prominent link to repo browser from project listing page.
Change-Id: Iddf61bd56c514c51436c41d8da7f59d1acf0f893
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 a085ce5..9e65836 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
@@ -50,6 +50,7 @@
String buttonBrowseProjects();
String projects();
+ String projectRepoBrowser();
String headingGroupUUID();
String headingOwner();
String headingDescription();
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 406f3d3..0743fbd 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
@@ -19,6 +19,7 @@
checkBoxPermissionsOnly = Only serve as parent for other projects
buttonBrowseProjects = Browse
projects = All projects
+projectRepoBrowser = Repository Browser
useContentMerge = Automatically resolve conflicts
useContributorAgreements = Require a valid contributor agreement to upload
useSignedOffBy = Require <a href="http://gerrit.googlecode.com/svn/documentation/2.0/user-signedoffby.html#Signed-off-by" target="_blank"><code>Signed-off-by</code></a> in commit message
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java
index d911c93..9125622 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java
@@ -15,6 +15,8 @@
package com.google.gerrit.client.admin;
import com.google.gerrit.client.Dispatcher;
+import com.google.gerrit.client.Gerrit;
+import com.google.gerrit.client.GitwebLink;
import com.google.gerrit.client.projects.ProjectInfo;
import com.google.gerrit.client.projects.ProjectMap;
import com.google.gerrit.client.rpc.ScreenLoadCallback;
@@ -23,6 +25,7 @@
import com.google.gerrit.client.ui.Screen;
import com.google.gerrit.common.PageLinks;
import com.google.gwt.user.client.History;
+import com.google.gwt.user.client.ui.Anchor;
public class ProjectListScreen extends Screen {
private ProjectsTable projects;
@@ -46,6 +49,16 @@
projects = new ProjectsTable() {
@Override
+ protected void initColumnHeaders() {
+ super.initColumnHeaders();
+ if (Gerrit.getGitwebLink() != null) {
+ table.setText(0, 3, Util.C.projectRepoBrowser());
+ table.getFlexCellFormatter().
+ addStyleName(0, 3, Gerrit.RESOURCES.css().dataHeader());
+ }
+ }
+
+ @Override
protected void onOpenRow(final int row) {
History.newItem(link(getRowItem(row)));
}
@@ -55,9 +68,23 @@
}
@Override
+ protected void insert(int row, ProjectInfo k) {
+ super.insert(row, k);
+ if (Gerrit.getGitwebLink() != null) {
+ table.getFlexCellFormatter().
+ addStyleName(row, 3, Gerrit.RESOURCES.css().dataCell());
+ }
+ }
+
+ @Override
protected void populate(final int row, final ProjectInfo k) {
table.setWidget(row, 1, new Hyperlink(k.name(), link(k)));
table.setText(row, 2, k.description());
+ GitwebLink l = Gerrit.getGitwebLink();
+ if (l != null) {
+ table.setWidget(row, 3, new Anchor(l.getLinkName(), false, l.toProject(k
+ .name_key())));
+ }
setRowItem(row, k);
}
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 50dab9f..0cbe194 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
@@ -35,7 +35,10 @@
keysNavigation.add(new OpenKeyCommand(0, 'o', Util.C.projectListOpen()));
keysNavigation.add(new OpenKeyCommand(0, KeyCodes.KEY_ENTER,
Util.C.projectListOpen()));
+ initColumnHeaders();
+ }
+ protected void initColumnHeaders() {
table.setText(0, 1, Util.C.projectName());
table.setText(0, 2, Util.C.projectDescription());