InlineEdit: Fix jumping to specific line in editor

Inline edit token can contain ,edit@42 as panel. Trim line number from
the panel and append it to rest of the token to match existing parsing
code.

The line number starts from 0 in CodeMirror, but is passed as real line
number in the constructor. Subtract 1 to compute the line number used by
CodeMirror.

Change-Id: Ib623a04c95479f5255eed34ec2a178abfdf57aa0
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Dispatcher.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Dispatcher.java
index 8d0b83d..4822343 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/Dispatcher.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/Dispatcher.java
@@ -499,6 +499,11 @@
     if (0 <= c) {
       panel = rest.substring(c + 1);
       rest = rest.substring(0, c);
+      int at = panel.lastIndexOf('@');
+      if (at > 0) {
+        rest += panel.substring(at);
+        panel = panel.substring(0, at);
+      }
     }
 
     Change.Id id;
@@ -609,7 +614,7 @@
       codemirror(token, null, id, side, line, false);
     } else if ("unified".equals(panel)) {
       unified(token, baseId, id);
-    } else if (panel.startsWith("edit")) {
+    } else if ("edit".equals(panel)) {
       codemirror(token, null, id, side, line, true);
     } else {
       Gerrit.display(token, new NotFoundScreen());
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java
index 498301a..a3af57e 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/editor/EditScreen.java
@@ -95,7 +95,7 @@
   public EditScreen(Patch.Key patch, int startLine) {
     this.revision = patch.getParentKey();
     this.path = patch.get();
-    this.startLine = startLine;
+    this.startLine = startLine - 1;
     prefs = DiffPreferences.create(Gerrit.getAccountDiffPreference());
     add(uiBinder.createAndBindUi(this));
     addDomHandler(GlobalKey.STOP_PROPAGATION, KeyPressEvent.getType());