diff options
Diffstat (limited to 'plugins/github/src/org')
10 files changed, 36 insertions, 28 deletions
diff --git a/plugins/github/src/org/jetbrains/plugins/github/GithubRebaseAction.java b/plugins/github/src/org/jetbrains/plugins/github/GithubRebaseAction.java index a733674f220e..714191d06b98 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/GithubRebaseAction.java +++ b/plugins/github/src/org/jetbrains/plugins/github/GithubRebaseAction.java @@ -43,7 +43,6 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.github.api.GithubApiUtil; import org.jetbrains.plugins.github.api.GithubFullPath; import org.jetbrains.plugins.github.api.GithubRepoDetailed; -import org.jetbrains.plugins.github.exceptions.GithubOperationCanceledException; import org.jetbrains.plugins.github.util.*; import java.io.IOException; @@ -196,7 +195,7 @@ public class GithubRebaseAction extends DumbAwareAction { } try { - return GithubUtil.runTask(project, GithubAuthDataHolder.createFromSettings(), indicator, + return GithubUtil.runTask(project, GithubAuthDataHolder.createFromSettings(indicator.getModalityState()), indicator, new ThrowableConvertor<GithubAuthData, GithubRepoDetailed, IOException>() { @NotNull @Override @@ -227,6 +226,7 @@ public class GithubRebaseAction extends DumbAwareAction { @NotNull final ProgressIndicator indicator) { final Git git = ServiceManager.getService(project, Git.class); final GitPlatformFacade facade = ServiceManager.getService(project, GitPlatformFacade.class); + GitUtil.workingTreeChangeStarted(project); GitPreservingProcess process = new GitPreservingProcess(project, facade, git, Collections.singletonList(gitRepository), "Rebasing", "upstream/master", indicator, new Runnable() { @@ -237,6 +237,7 @@ public class GithubRebaseAction extends DumbAwareAction { } ); process.execute(); + GitUtil.workingTreeChangeFinished(project); } private static void doRebaseCurrentBranch(@NotNull final Project project, diff --git a/plugins/github/src/org/jetbrains/plugins/github/GithubShareAction.java b/plugins/github/src/org/jetbrains/plugins/github/GithubShareAction.java index 9431b91f3b2f..7c18b3bf7ffc 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/GithubShareAction.java +++ b/plugins/github/src/org/jetbrains/plugins/github/GithubShareAction.java @@ -125,7 +125,7 @@ public class GithubShareAction extends DumbAwareAction { externalRemoteDetected = !gitRepository.getRemotes().isEmpty(); } - final GithubAuthDataHolder authHolder = GithubAuthDataHolder.createFromSettings(); + final GithubAuthDataHolder authHolder = GithubAuthDataHolder.createFromSettings(null); // get available GitHub repos with modal progress final GithubInfo githubInfo = loadGithubInfoWithModal(authHolder, project); diff --git a/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubCheckoutProvider.java b/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubCheckoutProvider.java index 6b3f73f5f8be..115258d9bee2 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubCheckoutProvider.java +++ b/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubCheckoutProvider.java @@ -61,7 +61,7 @@ public class GithubCheckoutProvider implements CheckoutProvider { @NotNull @Override public List<GithubRepo> convert(ProgressIndicator indicator) throws IOException { - return GithubUtil.runTask(project, GithubAuthDataHolder.createFromSettings(), indicator, + return GithubUtil.runTask(project, GithubAuthDataHolder.createFromSettings(indicator.getModalityState()), indicator, new ThrowableConvertor<GithubAuthData, List<GithubRepo>, IOException>() { @NotNull @Override diff --git a/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.java b/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.java index 5a7daf94a9fd..47d3edcb3de5 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.java +++ b/plugins/github/src/org/jetbrains/plugins/github/extensions/GithubHttpAuthDataProvider.java @@ -15,6 +15,7 @@ */ package org.jetbrains.plugins.github.extensions; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.AuthData; import git4idea.remote.GitHttpAuthDataProvider; @@ -31,7 +32,7 @@ public class GithubHttpAuthDataProvider implements GitHttpAuthDataProvider { @Nullable @Override - public AuthData getAuthData(@NotNull String url) { + public AuthData getAuthData(@NotNull String url, @Nullable ModalityState modalityState) { if (!GithubUrlUtil.isGithubUrl(url)) { return null; } @@ -47,7 +48,7 @@ public class GithubHttpAuthDataProvider implements GitHttpAuthDataProvider { return null; } - GithubAuthData auth = settings.getAuthData(); + GithubAuthData auth = settings.getAuthData(modalityState); switch (auth.getAuthType()) { case BASIC: GithubAuthData.BasicAuth basicAuth = auth.getBasicAuth(); diff --git a/plugins/github/src/org/jetbrains/plugins/github/tasks/GithubRepositoryEditor.java b/plugins/github/src/org/jetbrains/plugins/github/tasks/GithubRepositoryEditor.java index 5333d82e3baf..9cf3cdf4b4fe 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/tasks/GithubRepositoryEditor.java +++ b/plugins/github/src/org/jetbrains/plugins/github/tasks/GithubRepositoryEditor.java @@ -125,7 +125,8 @@ public class GithubRepositoryEditor extends BaseRepositoryEditor<GithubRepositor @Override public String convert(ProgressIndicator indicator) throws IOException { return GithubUtil - .runTaskWithBasicAuthForHost(myProject, GithubAuthDataHolder.createFromSettings(), indicator, getHost(), + .runTaskWithBasicAuthForHost(myProject, GithubAuthDataHolder.createFromSettings(indicator.getModalityState()), + indicator, getHost(), new ThrowableConvertor<GithubAuthData, String, IOException>() { @NotNull @Override diff --git a/plugins/github/src/org/jetbrains/plugins/github/ui/GithubSettingsPanel.java b/plugins/github/src/org/jetbrains/plugins/github/ui/GithubSettingsPanel.java index 7de0dae30d69..229170e29ead 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/ui/GithubSettingsPanel.java +++ b/plugins/github/src/org/jetbrains/plugins/github/ui/GithubSettingsPanel.java @@ -130,7 +130,8 @@ public class GithubSettingsPanel { @NotNull @Override public String convert(ProgressIndicator indicator) throws IOException { - return GithubUtil.runTaskWithBasicAuthForHost(project, GithubAuthDataHolder.createFromSettings(), indicator, getHost(), + return GithubUtil.runTaskWithBasicAuthForHost(project, GithubAuthDataHolder.createFromSettings(indicator.getModalityState()), + indicator, getHost(), new ThrowableConvertor<GithubAuthData, String, IOException>() { @NotNull @Override @@ -262,7 +263,7 @@ public class GithubSettingsPanel { @NotNull public GithubAuthData getAuthData() { if (!myCredentialsModified) { - return mySettings.getAuthData(); + return mySettings.getAuthData(null); } Object selected = myAuthTypeComboBox.getSelectedItem(); if (AUTH_PASSWORD.equals(selected)) return GithubAuthData.createBasicAuth(getHost(), getLogin(), getPassword()); @@ -290,7 +291,7 @@ public class GithubSettingsPanel { public void apply() { if (myCredentialsModified) { - mySettings.setAuthData(getAuthData(), true); + mySettings.setAuthData(getAuthData(), true, null); } mySettings.setConnectionTimeout(getConnectionTimeout()); resetCredentialsModification(); diff --git a/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthData.java b/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthData.java index f11044422154..d7981b261d7c 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthData.java +++ b/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthData.java @@ -15,6 +15,7 @@ */ package org.jetbrains.plugins.github.util; +import com.intellij.openapi.application.ModalityState; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.github.api.GithubApiUtil; @@ -52,8 +53,8 @@ public class GithubAuthData { myUseProxy = useProxy; } - public static GithubAuthData createFromSettings() { - return GithubSettings.getInstance().getAuthData(); + public static GithubAuthData createFromSettings(@Nullable ModalityState state) { + return GithubSettings.getInstance().getAuthData(state); } public static GithubAuthData createAnonymous() { diff --git a/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthDataHolder.java b/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthDataHolder.java index 695dfe734c34..24303a34d240 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthDataHolder.java +++ b/plugins/github/src/org/jetbrains/plugins/github/util/GithubAuthDataHolder.java @@ -15,8 +15,10 @@ */ package org.jetbrains.plugins.github.util; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.util.ThrowableComputable; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; public class GithubAuthDataHolder { @@ -40,7 +42,7 @@ public class GithubAuthDataHolder { myAuthData = task.compute(); } - public static GithubAuthDataHolder createFromSettings() { - return new GithubAuthDataHolder(GithubSettings.getInstance().getAuthData()); + public static GithubAuthDataHolder createFromSettings(@Nullable ModalityState state) { + return new GithubAuthDataHolder(GithubSettings.getInstance().getAuthData(state)); } } diff --git a/plugins/github/src/org/jetbrains/plugins/github/util/GithubSettings.java b/plugins/github/src/org/jetbrains/plugins/github/util/GithubSettings.java index 3523e412a95e..a2bdca59bbe4 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/util/GithubSettings.java +++ b/plugins/github/src/org/jetbrains/plugins/github/util/GithubSettings.java @@ -19,6 +19,7 @@ import com.intellij.ide.passwordSafe.PasswordSafe; import com.intellij.ide.passwordSafe.PasswordSafeException; import com.intellij.ide.passwordSafe.config.PasswordSafeSettings; import com.intellij.ide.passwordSafe.impl.PasswordSafeImpl; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.components.*; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.text.StringUtil; @@ -151,10 +152,10 @@ public class GithubSettings implements PersistentStateComponent<GithubSettings.S } @NotNull - private String getPassword() { + private String getPassword(@Nullable ModalityState state) { String password; try { - password = PasswordSafe.getInstance().getPassword(null, GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY); + password = PasswordSafe.getInstance().getPassword(null, GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY, state); } catch (PasswordSafeException e) { LOG.info("Couldn't get password for key [" + GITHUB_SETTINGS_PASSWORD_KEY + "]", e); @@ -164,10 +165,10 @@ public class GithubSettings implements PersistentStateComponent<GithubSettings.S return StringUtil.notNullize(password); } - private void setPassword(@NotNull String password, boolean rememberPassword) { + private void setPassword(@NotNull String password, boolean rememberPassword, @Nullable ModalityState state) { try { if (rememberPassword) { - PasswordSafe.getInstance().storePassword(null, GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY, password); + PasswordSafe.getInstance().storePassword(null, GithubSettings.class, GITHUB_SETTINGS_PASSWORD_KEY, password, state); } else { final PasswordSafeImpl passwordSafe = (PasswordSafeImpl)PasswordSafe.getInstance(); @@ -196,13 +197,13 @@ public class GithubSettings implements PersistentStateComponent<GithubSettings.S } @NotNull - public GithubAuthData getAuthData() { + public GithubAuthData getAuthData(@Nullable ModalityState state) { switch (getAuthType()) { case BASIC: //noinspection ConstantConditions - return GithubAuthData.createBasicAuth(getHost(), getLogin(), getPassword()); + return GithubAuthData.createBasicAuth(getHost(), getLogin(), getPassword(state)); case TOKEN: - return GithubAuthData.createTokenAuth(getHost(), getPassword()); + return GithubAuthData.createTokenAuth(getHost(), getPassword(state)); case ANONYMOUS: return GithubAuthData.createAnonymous(); default: @@ -210,7 +211,7 @@ public class GithubSettings implements PersistentStateComponent<GithubSettings.S } } - public void setAuthData(@NotNull GithubAuthData auth, boolean rememberPassword) { + public void setAuthData(@NotNull GithubAuthData auth, boolean rememberPassword, @Nullable ModalityState state) { setValidGitAuth(isValidGitAuth(auth)); setAuthType(auth.getAuthType()); @@ -220,16 +221,16 @@ public class GithubSettings implements PersistentStateComponent<GithubSettings.S case BASIC: assert auth.getBasicAuth() != null; setLogin(auth.getBasicAuth().getLogin()); - setPassword(auth.getBasicAuth().getPassword(), rememberPassword); + setPassword(auth.getBasicAuth().getPassword(), rememberPassword, state); break; case TOKEN: assert auth.getTokenAuth() != null; setLogin(null); - setPassword(auth.getTokenAuth().getToken(), rememberPassword); + setPassword(auth.getTokenAuth().getToken(), rememberPassword, state); break; case ANONYMOUS: setLogin(null); - setPassword("", rememberPassword); + setPassword("", rememberPassword, state); break; default: throw new IllegalStateException("GithubSettings: setAuthData - wrong AuthType: " + auth.getAuthType()); diff --git a/plugins/github/src/org/jetbrains/plugins/github/util/GithubUtil.java b/plugins/github/src/org/jetbrains/plugins/github/util/GithubUtil.java index edd12ab85ab6..e4af54f84639 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/util/GithubUtil.java +++ b/plugins/github/src/org/jetbrains/plugins/github/util/GithubUtil.java @@ -161,7 +161,7 @@ public class GithubUtil { if (ok[0]) { authData[0] = dialog.getAuthData(); - GithubSettings.getInstance().setAuthData(authData[0], dialog.isSavePasswordSelected()); + GithubSettings.getInstance().setAuthData(authData[0], dialog.isSavePasswordSelected(), indicator.getModalityState()); } } }, indicator.getModalityState()); @@ -195,7 +195,7 @@ public class GithubUtil { final GithubSettings settings = GithubSettings.getInstance(); if (settings.getAuthType() != GithubAuthData.AuthType.TOKEN) { - GithubSettings.getInstance().setAuthData(authData[0], dialog.isSavePasswordSelected()); + GithubSettings.getInstance().setAuthData(authData[0], dialog.isSavePasswordSelected(), indicator.getModalityState()); } } } @@ -247,7 +247,7 @@ public class GithubUtil { @NotNull public static GithubAuthDataHolder getValidAuthDataHolderFromConfig(@NotNull Project project, @NotNull ProgressIndicator indicator) throws IOException { - GithubAuthData auth = GithubAuthData.createFromSettings(); + GithubAuthData auth = GithubAuthData.createFromSettings(indicator.getModalityState()); GithubAuthDataHolder authHolder = new GithubAuthDataHolder(auth); try { checkAuthData(project, authHolder, indicator); |