[git] IDEA-126332 Init dialog in EDT

This commit is contained in:
Kirill Likhodedov
2014-06-19 16:54:39 +04:00
parent 2bc97d7fc3
commit 5c9ef946b2
@@ -25,6 +25,7 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Couple;
import com.intellij.openapi.util.Pair;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.AuthData;
import com.intellij.util.UriUtil;
@@ -126,15 +127,8 @@ class GitHttpGuiAuthenticator implements GitHttpAuthenticator {
return login;
}
final AuthDialog dialog = new AuthDialog(myProject, myTitle, "Enter credentials for " + url, login, null, true);
ApplicationManager.getApplication().invokeAndWait(new Runnable() {
@Override
public void run() {
dialog.show();
}
}, myModalityState == null ? ModalityState.defaultModalityState() : myModalityState);
if (!dialog.isOK()) {
AuthDialog dialog = showAuthDialog(url, login);
if (dialog == null || !dialog.isOK()) {
myWasCancelled = true;
return "";
}
@@ -149,6 +143,19 @@ class GitHttpGuiAuthenticator implements GitHttpAuthenticator {
return myLogin;
}
@Nullable
private AuthDialog showAuthDialog(final String url, final String login) {
final Ref<AuthDialog> dialog = Ref.create();
ApplicationManager.getApplication().invokeAndWait(new Runnable() {
@Override
public void run() {
dialog.set(new AuthDialog(myProject, myTitle, "Enter credentials for " + url, login, null, true));
dialog.get().show();
}
}, myModalityState == null ? ModalityState.defaultModalityState() : myModalityState);
return dialog.get();
}
@Override
public void saveAuthData() {
// save login and url