From faee42ea614767370b59ec34177553585b4b73c8 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Sat, 21 Mar 2020 14:04:40 +0100 Subject: [PATCH] Use display capabilities instead of hardcoded constants GitOrigin-RevId: f31c0bff76387b9e402cdbe8bed94e35b16969fb --- .../internal/inspector/ConfigureCustomSizeAction.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/internal/inspector/ConfigureCustomSizeAction.kt b/platform/platform-impl/src/com/intellij/internal/inspector/ConfigureCustomSizeAction.kt index 8af353680be2..c7d46afc1b83 100644 --- a/platform/platform-impl/src/com/intellij/internal/inspector/ConfigureCustomSizeAction.kt +++ b/platform/platform-impl/src/com/intellij/internal/inspector/ConfigureCustomSizeAction.kt @@ -6,6 +6,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.project.DumbAwareAction import com.intellij.ui.components.dialog import com.intellij.ui.layout.* +import java.awt.GraphicsEnvironment /** * @author Konstantin Bulenkov @@ -13,13 +14,18 @@ import com.intellij.ui.layout.* class ConfigureCustomSizeAction: DumbAwareAction() { override fun actionPerformed(e: AnActionEvent) { val centerPanel = panel { - row("Width:") { intTextField(CustomSizeModel::width, 20, 1..1000).focused() } - row("Height:") { intTextField(CustomSizeModel::height, 20, 1..1000) } + row("Width:") { intTextField(CustomSizeModel::width, 20, 1..maxWidth()).focused() } + row("Height:") { intTextField(CustomSizeModel::height, 20, 1..maxHeight()) } } dialog("Default Size", centerPanel, project = e.project).show() } + private fun maxWidth(): Int = maxWindowBounds().width + private fun maxHeight(): Int = maxWindowBounds().height + + private fun maxWindowBounds() = GraphicsEnvironment.getLocalGraphicsEnvironment().maximumWindowBounds + object CustomSizeModel { var width by propComponentProperty(defaultValue = 640) var height by propComponentProperty(defaultValue = 300)