Merge "Set focus on SignIn Button in NotSignedInDialog"
This commit is contained in:
@@ -16,26 +16,35 @@ package com.google.gerrit.client;
|
||||
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
import com.google.gwt.event.logical.shared.CloseEvent;
|
||||
import com.google.gwt.event.logical.shared.CloseHandler;
|
||||
import com.google.gwt.user.client.DOM;
|
||||
import com.google.gwt.user.client.History;
|
||||
import com.google.gwt.user.client.ui.Button;
|
||||
import com.google.gwt.user.client.ui.FlowPanel;
|
||||
import com.google.gwt.user.client.ui.HTML;
|
||||
import com.google.gwt.user.client.ui.PopupPanel;
|
||||
import com.google.gwtexpui.globalkey.client.GlobalKey;
|
||||
import com.google.gwtexpui.user.client.AutoCenterDialogBox;
|
||||
|
||||
/** A dialog box telling the user they are not signed in. */
|
||||
public class NotSignedInDialog extends AutoCenterDialogBox {
|
||||
public class NotSignedInDialog extends AutoCenterDialogBox implements CloseHandler<PopupPanel> {
|
||||
|
||||
private Button signin;
|
||||
private boolean buttonClicked = false;
|
||||
|
||||
public NotSignedInDialog() {
|
||||
super(/* auto hide */false, /* modal */true);
|
||||
setGlassEnabled(true);
|
||||
setText(Gerrit.C.notSignedInTitle());
|
||||
|
||||
final FlowPanel buttons = new FlowPanel();
|
||||
final Button signin = new Button();
|
||||
signin = new Button();
|
||||
signin.setText(Gerrit.C.menuSignIn());
|
||||
signin.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
buttonClicked = true;
|
||||
hide();
|
||||
Gerrit.doSignIn(History.getToken());
|
||||
}
|
||||
@@ -48,6 +57,7 @@ public class NotSignedInDialog extends AutoCenterDialogBox {
|
||||
close.addClickHandler(new ClickHandler() {
|
||||
@Override
|
||||
public void onClick(ClickEvent event) {
|
||||
buttonClicked = true;
|
||||
Gerrit.deleteSessionCookie();
|
||||
hide();
|
||||
}
|
||||
@@ -60,5 +70,23 @@ public class NotSignedInDialog extends AutoCenterDialogBox {
|
||||
add(center);
|
||||
|
||||
center.setWidth("400px");
|
||||
|
||||
addCloseHandler(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClose(CloseEvent<PopupPanel> event) {
|
||||
if (!buttonClicked) {
|
||||
// the dialog was closed without one of the buttons being pressed
|
||||
// e.g. the user pressed ESC to close the dialog
|
||||
Gerrit.deleteSessionCookie();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void center() {
|
||||
super.center();
|
||||
GlobalKey.dialog(this);
|
||||
signin.setFocus(true);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user