From d9bbdb4e37a636a71ac869e4175f4c4b7577dfa8 Mon Sep 17 00:00:00 2001 From: graann Date: Tue, 18 Jun 2019 19:51:07 +0300 Subject: [PATCH] Borderless UI: Do not request Windows ReleaseId for every window (#IDEA-216525) GitOrigin-RevId: 845bd221c7d9afd87f4501a35ccec2346cab949c --- .../impl/customFrameDecorations/header/CustomHeader.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/customFrameDecorations/header/CustomHeader.kt b/platform/platform-impl/src/com/intellij/openapi/wm/impl/customFrameDecorations/header/CustomHeader.kt index 6a1c8c07e1a9..c4a8a4ebdf9f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/customFrameDecorations/header/CustomHeader.kt +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/customFrameDecorations/header/CustomHeader.kt @@ -26,7 +26,8 @@ abstract class CustomHeader(private val window: Window) : JPanel(), Disposable { companion object { const val H_GAP = 7 const val MIN_HEIGHT = 24 - val HIT_TEST_RESIZE_GAP = JBUI.scale(3) + + val WINDOWS_VERSION = WindowsRegistryUtil.readRegistryValue("HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ReleaseId") fun create(window: Window): CustomHeader { return if (window is JFrame) { @@ -223,8 +224,6 @@ abstract class CustomHeader(private val window: Window) : JPanel(), Disposable { private val activeColor = Toolkit.getDefaultToolkit().getDesktopProperty("win.dwm.colorizationColor") as Color? ?: Toolkit.getDefaultToolkit().getDesktopProperty("win.frame.activeBorderColor") as Color? ?: menuBarBorderColor - private val windowsVersion = WindowsRegistryUtil.readRegistryValue("HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ReleaseId") - fun repaintBorder() { val borderInsets = getBorderInsets(this@CustomHeader) @@ -246,9 +245,9 @@ abstract class CustomHeader(private val window: Window) : JPanel(), Disposable { } private fun isAffectsBorder(): Boolean { - if(windowsVersion.isNullOrEmpty()) return true + if(WINDOWS_VERSION.isNullOrEmpty()) return true - val winVersion = windowsVersion.toIntOrNull() ?: return affectsBorders + val winVersion = WINDOWS_VERSION.toIntOrNull() ?: return affectsBorders return if(winVersion >= 1809) affectsBorders else true }