From fd50c0c10e62c32d21b40e840c9e3ace9984954a Mon Sep 17 00:00:00 2001 From: Kirill Kalishev Date: Mon, 18 Jan 2010 16:07:04 +0300 Subject: [PATCH] popups: invokeLater at onChosen is substitured with doFinalStep --- .../ui/configuration/ClasspathPanel.java | 5 ++-- .../find/impl/ShowRecentFindUsagesAction.java | 12 ++++------ .../ide/navigationToolbar/NavBarPanel.java | 23 +++++++++---------- .../ui/classpath/SimpleClasspathPanel.java | 5 ++-- .../copyright/ui/CopyrightProfilesPanel.java | 3 +-- .../config/ui/ManagedLibrariesEditor.java | 6 ++--- .../idea/svn/actions/SelectBranchPopup.java | 6 ++--- .../quickFixes/QuickFixManager.java | 3 +-- 8 files changed, 27 insertions(+), 36 deletions(-) diff --git a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ClasspathPanel.java b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ClasspathPanel.java index 45e052fe2d02..3fde8a35aae9 100644 --- a/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ClasspathPanel.java +++ b/java/idea-ui/src/com/intellij/openapi/roots/ui/configuration/ClasspathPanel.java @@ -303,12 +303,11 @@ public class ClasspathPanel extends JPanel { return value.isSelectable(); } public PopupStep onChosen(final PopupAction selectedValue, final boolean finalChoice) { - ApplicationManager.getApplication().invokeLater(new Runnable() { + return doFinalStep(new Runnable() { public void run() { selectedValue.execute(); } - }, ModalityState.stateForComponent(ClasspathPanel.this)); - return FINAL_CHOICE; + }); } @NotNull public String getTextFor(PopupAction value) { diff --git a/platform/lang-impl/src/com/intellij/find/impl/ShowRecentFindUsagesAction.java b/platform/lang-impl/src/com/intellij/find/impl/ShowRecentFindUsagesAction.java index 4a08001292ee..c629df97427f 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/ShowRecentFindUsagesAction.java +++ b/platform/lang-impl/src/com/intellij/find/impl/ShowRecentFindUsagesAction.java @@ -93,15 +93,13 @@ public class ShowRecentFindUsagesAction extends AnAction { } public PopupStep onChosen(final FindUsagesManager.SearchData selectedValue, final boolean finalChoice) { - if (selectedValue.myElements != null) { - // later here is for closing the popup first, then rerunning the search - SwingUtilities.invokeLater(new Runnable() { - public void run() { + return doFinalStep(new Runnable() { + public void run() { + if (selectedValue.myElements != null) { findUsagesManager.rerunAndRecallFromHistory(selectedValue); } - }); - } - return FINAL_CHOICE; + } + }); } }; RelativePoint point; diff --git a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java index f6543b068f60..9c7a34efb5da 100644 --- a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java +++ b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarPanel.java @@ -500,8 +500,11 @@ public class NavBarPanel extends JPanel implements DataProvider, PopupOwner { @NotNull public String getTextFor(final Object value) { return NavBarModel.getPresentableText(value, null);} public boolean isSelectable(Object value) { return true; } public PopupStep onChosen(final Object selectedValue, final boolean finalChoice) { - navigateInsideBar(optimizeTarget(selectedValue)); - return FINAL_CHOICE; + return doFinalStep(new Runnable() { + public void run() { + navigateInsideBar(optimizeTarget(selectedValue)); + } + }); } /* @@ -574,16 +577,12 @@ public class NavBarPanel extends JPanel implements DataProvider, PopupOwner { myHint.setBounds(bounds.x, bounds.y, dimension.width, dimension.height); } - SwingUtilities.invokeLater(new Runnable() { - public void run() { - if (myModel.hasChildren(object)) { - restorePopup(); - } - else { - doubleClick(object); - } - } - }); + if (myModel.hasChildren(object)) { + restorePopup(); + } + else { + doubleClick(object); + } } private void rightClick(final int index) { diff --git a/platform/lang-impl/src/com/intellij/util/ui/classpath/SimpleClasspathPanel.java b/platform/lang-impl/src/com/intellij/util/ui/classpath/SimpleClasspathPanel.java index 0b8f2bb915b7..7482b0df89f7 100644 --- a/platform/lang-impl/src/com/intellij/util/ui/classpath/SimpleClasspathPanel.java +++ b/platform/lang-impl/src/com/intellij/util/ui/classpath/SimpleClasspathPanel.java @@ -253,12 +253,11 @@ public class SimpleClasspathPanel extends JPanel { } public PopupStep onChosen(final PopupAction selectedValue, final boolean finalChoice) { - ApplicationManager.getApplication().invokeLater(new Runnable() { + return doFinalStep(new Runnable() { public void run() { selectedValue.execute(); } - }, ModalityState.stateForComponent(e.getInputEvent().getComponent())); - return FINAL_CHOICE; + }); } @NotNull diff --git a/plugins/copyright/src/com/maddyhome/idea/copyright/ui/CopyrightProfilesPanel.java b/plugins/copyright/src/com/maddyhome/idea/copyright/ui/CopyrightProfilesPanel.java index 28a3bb56a604..87ca0212464f 100644 --- a/plugins/copyright/src/com/maddyhome/idea/copyright/ui/CopyrightProfilesPanel.java +++ b/plugins/copyright/src/com/maddyhome/idea/copyright/ui/CopyrightProfilesPanel.java @@ -198,12 +198,11 @@ public class CopyrightProfilesPanel extends MasterDetailsComponent { JBPopupFactory.getInstance().createListPopup(new BaseListPopupStep("Choose profile to import", copyrightProfiles) { @Override public PopupStep onChosen(final CopyrightProfile selectedValue, boolean finalChoice) { - SwingUtilities.invokeLater(new Runnable(){ + return doFinalStep(new Runnable(){ public void run() { importProfile(selectedValue); } }); - return FINAL_CHOICE; } @NotNull diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/config/ui/ManagedLibrariesEditor.java b/plugins/groovy/src/org/jetbrains/plugins/groovy/config/ui/ManagedLibrariesEditor.java index 4c4b745b019b..a26d728fa19f 100644 --- a/plugins/groovy/src/org/jetbrains/plugins/groovy/config/ui/ManagedLibrariesEditor.java +++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/config/ui/ManagedLibrariesEditor.java @@ -401,7 +401,7 @@ public class ManagedLibrariesEditor { @Override public PopupStep onChosen(final Object selectedValue, boolean finalChoice) { - ApplicationManager.getApplication().invokeLater(new Runnable() { + return doFinalStep(new Runnable() { public void run() { if (selectedValue instanceof ManagedLibrary) { final ManagedLibrary managedLibrary = (ManagedLibrary)selectedValue; @@ -417,9 +417,7 @@ public class ManagedLibrariesEditor { updateLibraryList(); } - }, ModalityState.stateForComponent(myComponent)); - - return FINAL_CHOICE; + }); } private void addLibraryCheckingExistings(LibraryManager manager, Library library) { diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/SelectBranchPopup.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/SelectBranchPopup.java index aabd3d78d6ce..6ad2fd6f0468 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/SelectBranchPopup.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/SelectBranchPopup.java @@ -152,14 +152,14 @@ public class SelectBranchPopup { @Override public PopupStep onChosen(final String selectedValue, final boolean finalChoice) { if (CONFIGURE_MESSAGE.equals(selectedValue)) { - ApplicationManager.getApplication().invokeLater(new Runnable() { + return doFinalStep(new Runnable() { public void run() { BranchConfigurationDialog.configureBranches(myProject, myVcsRoot, true); } }); } else if (!myTopLevel || selectedValue.equals(myConfiguration.getTrunkUrl())) { - ApplicationManager.getApplication().invokeLater(new Runnable() { + return doFinalStep(new Runnable() { public void run() { myCallback.branchSelected(myProject, myConfiguration, selectedValue, -1); } @@ -168,7 +168,7 @@ public class SelectBranchPopup { else { showBranchPopup(selectedValue, true); } - return null; + return FINAL_CHOICE; } @Nullable diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/quickFixes/QuickFixManager.java b/plugins/ui-designer/src/com/intellij/uiDesigner/quickFixes/QuickFixManager.java index 82788b401418..5127e86dba9a 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/quickFixes/QuickFixManager.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/quickFixes/QuickFixManager.java @@ -277,7 +277,7 @@ public abstract class QuickFixManager { public PopupStep onChosen(final ErrorWithFix selectedValue, final boolean finalChoice) { if (finalChoice || !myShowSuppresses) { - SwingUtilities.invokeLater(new Runnable() { + return doFinalStep(new Runnable() { public void run() { CommandProcessor.getInstance().executeCommand(myEditor.getProject(), new Runnable() { public void run() { @@ -286,7 +286,6 @@ public abstract class QuickFixManager { }, selectedValue.second.getName(), null); } }); - return FINAL_CHOICE; } if (selectedValue.first.getInspectionId() != null && selectedValue.second.getComponent() != null && !(selectedValue.second instanceof SuppressFix)) {