From d14cc80149e304da5ee1bfc8ea609f51c16a4ee1 Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 7 Oct 2011 10:16:54 +0400 Subject: [PATCH] project structure error highlighting: fixed position of quickfixes popup --- .../ui/configuration/ConfigurationError.java | 3 +- .../ConfigurationErrorsComponent.java | 21 +++++----- .../daemon/ProjectConfigurationProblem.java | 38 +++++++++---------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ConfigurationError.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ConfigurationError.java index c0ffe7a36a11..565687d5c2e5 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ConfigurationError.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ConfigurationError.java @@ -15,6 +15,7 @@ */ package com.intellij.openapi.roots.ui.configuration; +import com.intellij.ui.awt.RelativePoint; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -67,7 +68,7 @@ public abstract class ConfigurationError implements Comparable fixes = myDescription.getFixes(); - if (fixes.size() == 1) { - fixes.get(0).performFix(); - } - else { - JBPopupFactory.getInstance().createListPopup(new BaseListPopupStep(null, fixes) { - @NotNull - @Override - public String getTextFor(ConfigurationErrorQuickFix value) { - return value.getActionName(); - } + public void fix(final JComponent contextComponent, RelativePoint relativePoint) { + JBPopupFactory.getInstance().createListPopup(new BaseListPopupStep(null, myDescription.getFixes()) { + @NotNull + @Override + public String getTextFor(ConfigurationErrorQuickFix value) { + return value.getActionName(); + } - @Override - public PopupStep onChosen(ConfigurationErrorQuickFix selectedValue, boolean finalChoice) { - selectedValue.performFix(); - return FINAL_CHOICE; - } - }).showUnderneathOf(contextComponent); - } + @Override + public PopupStep onChosen(final ConfigurationErrorQuickFix selectedValue, boolean finalChoice) { + return doFinalStep(new Runnable() { + @Override + public void run() { + selectedValue.performFix(); + } + }); + } + }).show(relativePoint); } }