From 6dc753797864be79133b36111967e8b6f0d13f7c Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 19 Jun 2013 13:16:30 +0200 Subject: [PATCH] pass owner component instead of project for showing virtual environment creation errors (EA-47068 - IAE: PackagesNotificationPanel.showError) --- .../com/jetbrains/python/packaging/PyPackageManager.java | 3 +++ .../jetbrains/python/packaging/PyPackageManagerImpl.java | 9 ++++++++- .../com/jetbrains/python/sdk/CreateVirtualEnvDialog.java | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/python/openapi/src/com/jetbrains/python/packaging/PyPackageManager.java b/python/openapi/src/com/jetbrains/python/packaging/PyPackageManager.java index 863b09549d1b..093d8f9b147c 100644 --- a/python/openapi/src/com/jetbrains/python/packaging/PyPackageManager.java +++ b/python/openapi/src/com/jetbrains/python/packaging/PyPackageManager.java @@ -3,6 +3,8 @@ package com.jetbrains.python.packaging; import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.Sdk; +import java.awt.*; + /** * @author yole */ @@ -20,5 +22,6 @@ public abstract class PyPackageManager { public abstract boolean hasPip(); public abstract void install(String requirementString) throws PyExternalProcessException; public abstract void showInstallationError(Project project, String title, String description); + public abstract void showInstallationError(Component owner, String title, String description); public abstract void refresh(); } diff --git a/python/src/com/jetbrains/python/packaging/PyPackageManagerImpl.java b/python/src/com/jetbrains/python/packaging/PyPackageManagerImpl.java index 5a4431fd0ae6..9b61fba9f49a 100644 --- a/python/src/com/jetbrains/python/packaging/PyPackageManagerImpl.java +++ b/python/src/com/jetbrains/python/packaging/PyPackageManagerImpl.java @@ -38,8 +38,8 @@ import com.intellij.util.Function; import com.intellij.util.SystemProperties; import com.intellij.util.messages.MessageBusConnection; import com.intellij.util.net.HttpConfigurable; -import com.jetbrains.python.PythonHelpersLocator; import com.intellij.webcore.packaging.PackagesNotificationPanel; +import com.jetbrains.python.PythonHelpersLocator; import com.jetbrains.python.psi.LanguageLevel; import com.jetbrains.python.psi.PyExpression; import com.jetbrains.python.psi.PyListLiteralExpression; @@ -51,9 +51,11 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.event.HyperlinkEvent; +import java.awt.*; import java.io.File; import java.io.IOException; import java.util.*; +import java.util.List; /** * @author vlan @@ -781,6 +783,11 @@ public class PyPackageManagerImpl extends PyPackageManager { PackagesNotificationPanel.showError(project, title, description); } + @Override + public void showInstallationError(Component owner, String title, String description) { + PackagesNotificationPanel.showError(owner, title, description); + } + private class MySdkRootWatcher extends BulkFileListener.Adapter { @Override public void after(@NotNull List events) { diff --git a/python/src/com/jetbrains/python/sdk/CreateVirtualEnvDialog.java b/python/src/com/jetbrains/python/sdk/CreateVirtualEnvDialog.java index 0a8d49bfa478..e74156979c1b 100644 --- a/python/src/com/jetbrains/python/sdk/CreateVirtualEnvDialog.java +++ b/python/src/com/jetbrains/python/sdk/CreateVirtualEnvDialog.java @@ -298,7 +298,7 @@ public class CreateVirtualEnvDialog extends IdeaDialog { ApplicationManager.getApplication().invokeLater(new Runnable() { @Override public void run() { - packageManager.showInstallationError(myProject, "Failed to Create Virtual Environment", e.toString()); + packageManager.showInstallationError(myMainPanel, "Failed to Create Virtual Environment", e.toString()); } }, ModalityState.any()); }