diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java index 22fdb18f9b7e..9eb33fb76c29 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerMain.java @@ -26,10 +26,7 @@ import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.PathManager; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.progress.ProcessCanceledException; -import com.intellij.openapi.progress.ProgressIndicator; -import com.intellij.openapi.progress.ProgressManager; -import com.intellij.openapi.progress.Task; +import com.intellij.openapi.progress.*; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.updateSettings.impl.PluginDownloader; @@ -300,7 +297,7 @@ public abstract class PluginManagerMain implements Disposable { final Runnable cleanup) throws IOException { final boolean[] result = new boolean[1]; try { - ProgressManager.getInstance().run(new Task.Backgroundable(null, IdeBundle.message("progress.download.plugins"), true) { + ProgressManager.getInstance().run(new Task.Backgroundable(null, IdeBundle.message("progress.download.plugins"), true, PluginManagerUISettings.getInstance()) { @Override public void run(@NotNull ProgressIndicator indicator) { try { diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerUISettings.java b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerUISettings.java index b6d4e72686ae..299a5c1d450b 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerUISettings.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerUISettings.java @@ -18,6 +18,7 @@ package com.intellij.ide.plugins; import com.intellij.ide.ui.SplitterProportionsDataImpl; import com.intellij.openapi.components.*; import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.progress.PerformInBackgroundOption; import com.intellij.openapi.ui.SplitterProportionsData; import com.intellij.openapi.util.DefaultJDOMExternalizer; import com.intellij.openapi.util.InvalidDataException; @@ -38,7 +39,7 @@ import javax.swing.*; file = StoragePathMacros.APP_CONFIG + "/plugin_ui.xml") } ) -public class PluginManagerUISettings implements PersistentStateComponent { +public class PluginManagerUISettings implements PersistentStateComponent, PerformInBackgroundOption { private static final Logger LOG = Logger.getInstance("#com.intellij.ide.plugins.PluginManagerUISettings"); public int AVAILABLE_SORT_COLUMN_ORDER = SortOrder.ASCENDING.ordinal(); @@ -46,6 +47,7 @@ public class PluginManagerUISettings implements PersistentStateComponent