From c2b3d71207c7198605c7d19471859fcd04490074 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 31 Dec 2008 10:01:50 -0800 Subject: [PATCH] Fix the link another identity button Signed-off-by: Shawn O. Pearce --- .../google/gerrit/client/GerritConstants.java | 1 + .../gerrit/client/GerritConstants.properties | 1 + .../google/gerrit/client/SignInDialog.java | 27 ++++++++++++++----- .../client/account/ExternalIdPanel.java | 13 ++++----- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/appjar/src/main/java/com/google/gerrit/client/GerritConstants.java b/appjar/src/main/java/com/google/gerrit/client/GerritConstants.java index 6183319db5..c8e0e721db 100644 --- a/appjar/src/main/java/com/google/gerrit/client/GerritConstants.java +++ b/appjar/src/main/java/com/google/gerrit/client/GerritConstants.java @@ -21,6 +21,7 @@ public interface GerritConstants extends Constants { String menuSignOut(); String menuSettings(); String signInDialogTitle(); + String linkIdentityDialogTitle(); String errorDialogTitle(); String errorDialogClose(); diff --git a/appjar/src/main/java/com/google/gerrit/client/GerritConstants.properties b/appjar/src/main/java/com/google/gerrit/client/GerritConstants.properties index f824227e79..4c4f563633 100644 --- a/appjar/src/main/java/com/google/gerrit/client/GerritConstants.properties +++ b/appjar/src/main/java/com/google/gerrit/client/GerritConstants.properties @@ -2,6 +2,7 @@ menuSignIn = Sign In menuSignOut = Sign Out menuSettings = Settings signInDialogTitle = Code Review - Sign In +linkIdentityDialogTitle = Code Review - Link Identity errorDialogTitle = Code Review - Unexpected Error errorDialogClose = Close diff --git a/appjar/src/main/java/com/google/gerrit/client/SignInDialog.java b/appjar/src/main/java/com/google/gerrit/client/SignInDialog.java index 2c5f9e6aff..1c96ebe56d 100644 --- a/appjar/src/main/java/com/google/gerrit/client/SignInDialog.java +++ b/appjar/src/main/java/com/google/gerrit/client/SignInDialog.java @@ -54,7 +54,7 @@ public class SignInDialog extends AutoCenterDialogBox { private static SignInDialog current; - private Mode mode = Mode.SIGN_IN; + private final Mode mode; private final CallbackHandle signInCallback; private final AsyncCallback appCallback; private final Frame loginFrame; @@ -66,8 +66,20 @@ public class SignInDialog extends AutoCenterDialogBox { * This can be used to trigger sending an RPC or some other action. */ public SignInDialog(final AsyncCallback callback) { + this(Mode.SIGN_IN, callback); + } + + /** + * Create a new dialog to handle user sign in. + * + * @param signInMode type of mode the login will perform. + * @param callback optional; onSuccess will be called if sign is completed. + * This can be used to trigger sending an RPC or some other action. + */ + public SignInDialog(final Mode signInMode, final AsyncCallback callback) { super(/* auto hide */true, /* modal */true); + mode = signInMode; signInCallback = com.google.gerrit.client.account.Util.LOGIN_SVC .signIn(new GerritCallback() { @@ -80,11 +92,14 @@ public class SignInDialog extends AutoCenterDialogBox { loginFrame = new Frame(); onResize(Window.getClientWidth(), Window.getClientHeight()); add(loginFrame); - setText(Gerrit.C.signInDialogTitle()); - } - - public void setMode(final Mode m) { - mode = m; + switch (mode) { + case LINK_IDENTIY: + setText(Gerrit.C.linkIdentityDialogTitle()); + break; + default: + setText(Gerrit.C.signInDialogTitle()); + break; + } } @Override diff --git a/appjar/src/main/java/com/google/gerrit/client/account/ExternalIdPanel.java b/appjar/src/main/java/com/google/gerrit/client/account/ExternalIdPanel.java index f7814826d1..a3fdadc745 100644 --- a/appjar/src/main/java/com/google/gerrit/client/account/ExternalIdPanel.java +++ b/appjar/src/main/java/com/google/gerrit/client/account/ExternalIdPanel.java @@ -53,12 +53,13 @@ class ExternalIdPanel extends Composite { } void doLinkIdentity() { - final SignInDialog d = new SignInDialog(new GerritCallback() { - public void onSuccess(final Object result) { - refresh(); - } - }); - d.setMode(SignInDialog.Mode.LINK_IDENTIY); + final SignInDialog d = + new SignInDialog(SignInDialog.Mode.LINK_IDENTIY, + new GerritCallback() { + public void onSuccess(final Object result) { + refresh(); + } + }); d.center(); }