From 5db7be5357ef1dfe8aebec07fe6e57e6c7b0b4ee Mon Sep 17 00:00:00 2001 From: Dave Borowitz Date: Mon, 19 Sep 2016 22:01:30 +0200 Subject: [PATCH] Add link to GWT UI footer to switch to PolyGerrit Change-Id: I2377df3c109807fd73880c06e325b1f126546321 --- .../google/gerrit/client/info/GerritInfo.java | 18 ++++++++++++++++++ .../java/com/google/gerrit/client/Gerrit.java | 9 +++++++++ .../google/gerrit/client/GerritConstants.java | 2 ++ .../gerrit/client/GerritConstants.properties | 2 ++ 4 files changed, 31 insertions(+) diff --git a/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/GerritInfo.java b/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/GerritInfo.java index 750412dd0f..23dbc01b79 100644 --- a/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/GerritInfo.java +++ b/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/GerritInfo.java @@ -14,8 +14,13 @@ package com.google.gerrit.client.info; +import com.google.gerrit.extensions.client.UiType; import com.google.gerrit.reviewdb.client.Project; import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.core.client.JsArrayString; + +import java.util.ArrayList; +import java.util.List; public class GerritInfo extends JavaScriptObject { public final Project.NameKey allProjectsNameKey() { @@ -42,6 +47,19 @@ public class GerritInfo extends JavaScriptObject { public final native String reportBugUrl() /*-{ return this.report_bug_url; }-*/; public final native String reportBugText() /*-{ return this.report_bug_text; }-*/; + private final native JsArrayString _webUis() /*-{ return this.web_uis; }-*/; + public final List webUis() { + JsArrayString webUis = _webUis(); + List result = new ArrayList<>(webUis.length()); + for (int i = 0; i < webUis.length(); i++) { + UiType t = UiType.parse(webUis.get(i)); + if (t != null) { + result.add(t); + } + } + return result; + } + protected GerritInfo() { } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java index d280e077d9..93246cb1d8 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Gerrit.java @@ -50,6 +50,7 @@ import com.google.gerrit.common.data.SystemInfoService; import com.google.gerrit.extensions.client.DiffPreferencesInfo; import com.google.gerrit.extensions.client.EditPreferencesInfo; import com.google.gerrit.extensions.client.GerritTopMenu; +import com.google.gerrit.extensions.client.UiType; import com.google.gerrit.reviewdb.client.Project; import com.google.gwt.aria.client.Roles; import com.google.gwt.core.client.EntryPoint; @@ -537,6 +538,14 @@ public class Gerrit implements EntryPoint { btmmenu.add(new InlineHTML(M.poweredBy(vs))); + if (info().gerrit().webUis().contains(UiType.POLYGERRIT)) { + btmmenu.add(new InlineLabel(" | ")); + Anchor a = new Anchor( + C.polyGerrit(), GWT.getHostPageBaseURL() + "?polygerrit=1"); + a.setStyleName(""); + btmmenu.add(a); + } + String reportBugUrl = info().gerrit().reportBugUrl(); if (reportBugUrl != null) { String reportBugText = info().gerrit().reportBugText(); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.java index 4c8c58d72b..53d926024a 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.java @@ -130,4 +130,6 @@ public interface GerritConstants extends Constants { String searchDropdownChanges(); String searchDropdownDoc(); + + String polyGerrit(); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.properties b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.properties index 10d7e1dddc..d50ab34bb1 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.properties +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/GerritConstants.properties @@ -113,3 +113,5 @@ stringListPanelDown = Down searchDropdownChanges = Changes searchDropdownDoc = Docs + +polyGerrit = PolyGerrit