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