From f3b8e76a1356880bdf49a2624e6eeab7244da8a8 Mon Sep 17 00:00:00 2001 From: Mikhail Sokolov Date: Thu, 26 Jul 2018 16:08:09 +0300 Subject: [PATCH] IDEA-193300 New SE size is too large when no results are found --- .../SearchEverywhereManagerImpl.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereManagerImpl.java b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereManagerImpl.java index 60177087d9dd..ce8ff076616f 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/searcheverywhere/SearchEverywhereManagerImpl.java @@ -11,6 +11,7 @@ import com.intellij.openapi.ui.popup.JBPopupFactory; import com.intellij.openapi.util.DimensionService; import com.intellij.openapi.util.Disposer; import com.intellij.ui.SearchTextField; +import com.intellij.util.ui.JBInsets; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -109,7 +110,8 @@ public class SearchEverywhereManagerImpl implements SearchEverywhereManager { } Dimension size = mySearchEverywhereUI.getMinimumSize(); - myBalloon.setMinimumSize(withInsets(size)); + JBInsets.addTo(size, myBalloon.getContent().getInsets()); + myBalloon.setMinimumSize(size); myProject.putUserData(SEARCH_EVERYWHERE_POPUP, myBalloon); Disposer.register(myBalloon, () -> { @@ -144,14 +146,6 @@ public class SearchEverywhereManagerImpl implements SearchEverywhereManager { } } - private Dimension withInsets(Dimension size) { - Insets insets = myBalloon.getContent().getInsets(); - return new Dimension( - size.width + insets.left + insets.right, - size.height + insets.top + insets.bottom - ); - } - @Override public boolean isShown() { return mySearchEverywhereUI != null && myBalloon != null && !myBalloon.isDisposed(); @@ -202,10 +196,12 @@ public class SearchEverywhereManagerImpl implements SearchEverywhereManager { if (viewType == SearchEverywhereUI.ViewType.SHORT) { myBalloonFullSize = myBalloon.getSize(); + JBInsets.removeFrom(myBalloonFullSize, myBalloon.getContent().getInsets()); myBalloon.pack(false, true); } else { if (myBalloonFullSize == null) { - myBalloonFullSize = withInsets(mySearchEverywhereUI.getPreferredSize()); + myBalloonFullSize = mySearchEverywhereUI.getPreferredSize(); + JBInsets.addTo(myBalloonFullSize, myBalloon.getContent().getInsets()); } myBalloon.setSize(myBalloonFullSize); }