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.ClickEvent;
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
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.DOM;
|
||||||
import com.google.gwt.user.client.History;
|
import com.google.gwt.user.client.History;
|
||||||
import com.google.gwt.user.client.ui.Button;
|
import com.google.gwt.user.client.ui.Button;
|
||||||
import com.google.gwt.user.client.ui.FlowPanel;
|
import com.google.gwt.user.client.ui.FlowPanel;
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
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;
|
import com.google.gwtexpui.user.client.AutoCenterDialogBox;
|
||||||
|
|
||||||
/** A dialog box telling the user they are not signed in. */
|
/** 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() {
|
public NotSignedInDialog() {
|
||||||
super(/* auto hide */false, /* modal */true);
|
super(/* auto hide */false, /* modal */true);
|
||||||
setGlassEnabled(true);
|
setGlassEnabled(true);
|
||||||
setText(Gerrit.C.notSignedInTitle());
|
setText(Gerrit.C.notSignedInTitle());
|
||||||
|
|
||||||
final FlowPanel buttons = new FlowPanel();
|
final FlowPanel buttons = new FlowPanel();
|
||||||
final Button signin = new Button();
|
signin = new Button();
|
||||||
signin.setText(Gerrit.C.menuSignIn());
|
signin.setText(Gerrit.C.menuSignIn());
|
||||||
signin.addClickHandler(new ClickHandler() {
|
signin.addClickHandler(new ClickHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
|
buttonClicked = true;
|
||||||
hide();
|
hide();
|
||||||
Gerrit.doSignIn(History.getToken());
|
Gerrit.doSignIn(History.getToken());
|
||||||
}
|
}
|
||||||
@@ -48,6 +57,7 @@ public class NotSignedInDialog extends AutoCenterDialogBox {
|
|||||||
close.addClickHandler(new ClickHandler() {
|
close.addClickHandler(new ClickHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
|
buttonClicked = true;
|
||||||
Gerrit.deleteSessionCookie();
|
Gerrit.deleteSessionCookie();
|
||||||
hide();
|
hide();
|
||||||
}
|
}
|
||||||
@@ -60,5 +70,23 @@ public class NotSignedInDialog extends AutoCenterDialogBox {
|
|||||||
add(center);
|
add(center);
|
||||||
|
|
||||||
center.setWidth("400px");
|
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