From b67873510ac86648c0eb834c8e8da54ff2f397a2 Mon Sep 17 00:00:00 2001 From: graann Date: Mon, 27 May 2019 13:22:33 +0300 Subject: [PATCH] New tabs UI: There is no border between database console/table editor and Toolbar/Navigation bar when tabs are hidden (#IDEA-214996) GitOrigin-RevId: 960f41f1d983f62312f3c7a710606a11d9e4da1f --- .../editor/impl/EditorHeaderComponent.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorHeaderComponent.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorHeaderComponent.java index 2d9864a1c671..28d130557e54 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorHeaderComponent.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorHeaderComponent.java @@ -43,23 +43,28 @@ public class EditorHeaderComponent extends JPanel implements UISettingsListener @Override public void uiSettingsChanged(UISettings uiSettings) { - if(JBTabsFactory.getUseNewTabs()) { - setBorder(new CustomLineBorder(JBColor.border(), 0, 0, 1, 0)); - } else { - boolean topBorderRequired = uiSettings.getEditorTabPlacement() != SwingConstants.TOP && - (uiSettings.getShowNavigationBar() || uiSettings.getShowMainToolbar()); - setBorder(new CustomLineBorder(JBColor.border(), topBorderRequired ? 1 : 0, 0, 1, 0)); + boolean topBorderRequired = uiSettings.getShowNavigationBar() || uiSettings.getShowMainToolbar(); + + if (JBTabsFactory.getUseNewTabs()) { + topBorderRequired = uiSettings.getEditorTabPlacement() == 0 && topBorderRequired; } + else { + topBorderRequired = uiSettings.getEditorTabPlacement() != SwingConstants.TOP; + } + + setBorder(new CustomLineBorder(JBColor.border(), topBorderRequired ? 1 : 0, 0, 1, 0)); } @Override public Dimension getPreferredSize() { - if(JBTabsFactory.getUseNewTabs()) { + if (JBTabsFactory.getUseNewTabs()) { Dimension size = super.getPreferredSize(); Insets insets = getInsets(); - int tabsHeight = TabsHeightController.getToolWindowHeight() - insets.top - insets.bottom; + int offset = UISettings.getInstance().getEditorTabPlacement() == 0 ? 0 : insets.top + insets.bottom; + int tabsHeight = TabsHeightController.getToolWindowHeight() - offset; return tabsHeight > size.height ? new Dimension(size.width, tabsHeight) : size; - } else { + } + else { return super.getPreferredSize(); } }