Show file name in window title

Change-Id: I988858e013e7dc4009b3bec35c581c18b1625259
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocScreen.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocScreen.java
index 07a5f85..9c3439e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocScreen.java
@@ -16,6 +16,7 @@
 
 import com.google.gerrit.plugin.client.Plugin;
 import com.google.gerrit.plugin.client.screen.Screen;
+import com.google.gerrit.reviewdb.client.Patch;
 import com.google.gwt.http.client.Request;
 import com.google.gwt.http.client.RequestBuilder;
 import com.google.gwt.http.client.RequestCallback;
@@ -35,8 +36,9 @@
     public void onLoad(Screen screen) {
       String projectName = URL.decode(screen.getToken(1));
       String revision = URL.decode(screen.getToken(2));
-      String fileName = URL.decode(screen.getToken(3));
-      screen.show(new XDocScreen(projectName, revision, fileName));
+      String path = URL.decode(screen.getToken(3));
+      screen.show(new XDocScreen(projectName, revision, path));
+      screen.setWindowTitle(getFileName(path));
     }
   }
 
@@ -44,23 +46,24 @@
     @Override
     public void onLoad(Screen screen) {
       String projectName = URL.decode(screen.getToken(1));
-      String fileName = URL.decode(screen.getToken(2));
-      screen.show(new XDocScreen(projectName, "HEAD", fileName));
+      String path = URL.decode(screen.getToken(2));
+      screen.show(new XDocScreen(projectName, "HEAD", path));
+      screen.setWindowTitle(getFileName(path));
     }
   }
 
-  XDocScreen(String projectName, String revision, String fileName) {
+  XDocScreen(String projectName, String revision, String path) {
     setStyleName("xdocs-panel");
 
     HorizontalPanel p = new HorizontalPanel();
     p.setStyleName("xdocs-header");
     p.add(new InlineHyperlink(projectName, "/admin/projects/" + projectName));
     p.add(new Label("/"));
-    p.add(new Label(fileName));
+    p.add(new Label(path));
     p.add(new Label("(" + revision + ")"));
     add(p);
 
-    final String url = getUrl(projectName, revision, fileName);
+    final String url = getUrl(projectName, revision, path);
     RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
     try {
       builder.sendRequest(null, new RequestCallback() {
@@ -92,6 +95,14 @@
     add(l);
   }
 
+  public static String getFileName(String path) {
+    String fileName = Patch.COMMIT_MSG.equals(path)
+        ? "Commit Message"
+        : path;
+    int s = fileName.lastIndexOf('/');
+    return s >= 0 ? fileName.substring(s + 1) : fileName;
+  }
+
   public static String getUrl(String projectName, String revision, String fileName) {
     StringBuilder url = new StringBuilder();
     url.append("plugins/");
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocSideBySideDiffScreen.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocSideBySideDiffScreen.java
index 767ff9c..f46344e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocSideBySideDiffScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocSideBySideDiffScreen.java
@@ -27,6 +27,7 @@
       String patchSet = URL.decode(screen.getToken(2));
       String path = URL.decode(screen.getToken(4));
       screen.show(new XDocSideBySideDiffScreen(change, patchSet, path));
+      screen.setWindowTitle(XDocScreen.getFileName(path));
     }
   }
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocUnifiedDiffScreen.java b/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocUnifiedDiffScreen.java
index 64258d1..57d6dcb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocUnifiedDiffScreen.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/xdocs/client/XDocUnifiedDiffScreen.java
@@ -26,6 +26,7 @@
       String patchSet = URL.decode(screen.getToken(2));
       String path = URL.decode(screen.getToken(4));
       screen.show(new XDocUnifiedDiffScreen(change, patchSet, path));
+      screen.setWindowTitle(XDocScreen.getFileName(path));
     }
   }