Inline Edit: Respect hideTopMenu user preference

Hide the top menu if the user hides it during SideBySide2.
This offers up more screen space for the editor.

Change-Id: I83cc5f1013fcd1a87d10c96f273a79d2c28ef1e3
This commit is contained in:
Shawn Pearce
2015-01-01 18:43:41 -05:00
parent c0e668913e
commit 2646d407ce

View File

@@ -16,6 +16,7 @@ package com.google.gerrit.client.editor;
import com.google.gerrit.client.Gerrit;
import com.google.gerrit.client.VoidResult;
import com.google.gerrit.client.account.DiffPreferences;
import com.google.gerrit.client.changes.ChangeFileApi;
import com.google.gerrit.client.rpc.CallbackGroup;
import com.google.gerrit.client.rpc.GerritCallback;
@@ -42,12 +43,12 @@ import net.codemirror.lib.Configuration;
import net.codemirror.lib.ModeInjector;
public class EditScreen extends Screen {
interface Binder extends UiBinder<HTMLPanel, EditScreen> {}
private static final Binder uiBinder = GWT.create(Binder.class);
private final PatchSet.Id revision;
private final String path;
private DiffPreferences prefs;
private CodeMirror cm;
private String type;
@@ -59,6 +60,7 @@ public class EditScreen extends Screen {
public EditScreen(Patch.Key patch) {
this.revision = patch.getParentKey();
this.path = patch.get();
prefs = DiffPreferences.create(Gerrit.getAccountDiffPreference());
add(uiBinder.createAndBindUi(this));
addDomHandler(GlobalKey.STOP_PROPAGATION, KeyPressEvent.getType());
}
@@ -103,6 +105,9 @@ public class EditScreen extends Screen {
@Override
public void onShowView() {
super.onShowView();
if (prefs.hideTopMenu()) {
Gerrit.setHeaderVisible(false);
}
int rest = Gerrit.getHeaderFooterHeight()
+ 30; // Estimate
cm.setHeight(Window.getClientHeight() - rest);
@@ -110,6 +115,12 @@ public class EditScreen extends Screen {
cm.focus();
}
@Override
protected void onUnload() {
super.onUnload();
Gerrit.setHeaderVisible(true);
}
@UiHandler("save")
void onSave(@SuppressWarnings("unused") ClickEvent e) {
ChangeFileApi.putContentOrMessage(revision, path, cm.getValue(),