diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/Header.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/Header.java index 2c136def4b..49715a7450 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/Header.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/Header.java @@ -255,12 +255,29 @@ class Header extends Composite { } } - boolean hasPrev() { - return hasPrev; - } - - boolean hasNext() { - return hasNext; + Runnable navigate(Direction dir) { + switch (dir) { + case PREV: + return new Runnable() { + @Override + public void run() { + (hasPrev ? prev : up).go(); + } + }; + case NEXT: + return new Runnable() { + @Override + public void run() { + (hasNext ? next : up).go(); + } + }; + default: + return new Runnable() { + @Override + public void run() { + } + }; + } } String getNextPath() { diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java index 8bf375323a..901ea8a559 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/SideBySide2.java @@ -348,6 +348,8 @@ public class SideBySide2 extends Screen { cm.addKeyMap(KeyMap.create() .on("'a'", upToChange(true)) .on("'u'", upToChange(false)) + .on("[", header.navigate(Direction.PREV)) + .on("]", header.navigate(Direction.NEXT)) .on("'r'", toggleReviewed()) .on("'o'", toggleOpenBox(cm)) .on("Enter", toggleOpenBox(cm)) @@ -369,18 +371,6 @@ public class SideBySide2 extends Screen { } } }) - .on("[", new Runnable() { - @Override - public void run() { - (header.hasPrev() ? header.prev : header.up).go(); - } - }) - .on("]", new Runnable() { - @Override - public void run() { - (header.hasNext() ? header.next : header.up).go(); - } - }) .on("','", new Runnable() { @Override public void run() {