From 4146b787f8a8d7b1493288f8a254aaba4d79891b Mon Sep 17 00:00:00 2001 From: Sergei Tachenov Date: Tue, 17 Jun 2025 14:44:53 +0300 Subject: [PATCH] IJPL-192020 Convert SUPPRESS_FAST_TRACK to Key (cherry picked from commit 53b58350772385740e682c36e7b9c11040fe73d9) IJ-CR-165957 GitOrigin-RevId: 850614c188a05dd33ad89841692f95f4f3878aa0 --- grid/impl/src/run/ui/table/TableFloatingToolbar.kt | 3 ++- .../intellij/openapi/actionSystem/impl/ActionToolbarImpl.kt | 6 +++--- .../com/intellij/openapi/actionSystem/impl/ToolbarUtils.kt | 3 ++- .../intellij/openapi/editor/impl/EditorMarkupModelImpl.kt | 2 +- .../toolbar/floating/AbstractFloatingToolbarComponent.kt | 3 ++- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/grid/impl/src/run/ui/table/TableFloatingToolbar.kt b/grid/impl/src/run/ui/table/TableFloatingToolbar.kt index a233638e2e7d..a3993b906596 100644 --- a/grid/impl/src/run/ui/table/TableFloatingToolbar.kt +++ b/grid/impl/src/run/ui/table/TableFloatingToolbar.kt @@ -17,6 +17,7 @@ import com.intellij.openapi.actionSystem.toolbarLayout.ToolbarLayoutStrategy import com.intellij.openapi.application.EDT import com.intellij.openapi.observable.util.whenDisposed import com.intellij.openapi.progress.checkCanceled +import com.intellij.ui.ClientProperty import com.intellij.ui.ComponentUtil import com.intellij.ui.HintHint import com.intellij.ui.JBColor @@ -66,7 +67,7 @@ class TableFloatingToolbar(private val tableResultView: TableResultView, private component.border = JBUI.Borders.empty() targetComponent = tableResultView isReservePlaceAutoPopupIcon = false - putClientProperty(ActionToolbarImpl.SUPPRESS_FAST_TRACK, true) + ClientProperty.put(this, ActionToolbarImpl.SUPPRESS_FAST_TRACK, true) } private val panel = BorderLayoutPanel().addToCenter(actionToolbar.component).apply { diff --git a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionToolbarImpl.kt b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionToolbarImpl.kt index 90688703214b..dd2b81c83fb6 100644 --- a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionToolbarImpl.kt +++ b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionToolbarImpl.kt @@ -937,8 +937,8 @@ open class ActionToolbarImpl @JvmOverloads constructor( cancelCurrentUpdate() - val firstTimeFastTrack = !hasVisibleActions() && componentCount == 1 && getClientProperty(SUPPRESS_FAST_TRACK) == null - if (firstTimeFastTrack) putClientProperty(SUPPRESS_FAST_TRACK, true) + val firstTimeFastTrack = !hasVisibleActions() && componentCount == 1 && !ClientProperty.isTrue(this, SUPPRESS_FAST_TRACK) + if (firstTimeFastTrack) ClientProperty.put(this, SUPPRESS_FAST_TRACK, true) val cs = service().coroutineScope val job = cs.launch( @@ -1596,7 +1596,7 @@ open class ActionToolbarImpl @JvmOverloads constructor( companion object { const val DO_NOT_ADD_CUSTOMIZATION_HANDLER: String = "ActionToolbarImpl.suppressTargetComponentWarning" - const val SUPPRESS_FAST_TRACK: String = "ActionToolbarImpl.suppressFastTrack" + val SUPPRESS_FAST_TRACK: Key = Key.create("ActionToolbarImpl.suppressFastTrack") /** * Put `TRUE` into [.putClientProperty] to mark that toolbar diff --git a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ToolbarUtils.kt b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ToolbarUtils.kt index b76faba6f7ef..32ed4757f386 100644 --- a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ToolbarUtils.kt +++ b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ToolbarUtils.kt @@ -3,6 +3,7 @@ package com.intellij.openapi.actionSystem.impl import com.intellij.openapi.actionSystem.* import com.intellij.openapi.editor.Editor +import com.intellij.ui.ClientProperty import com.intellij.ui.ComponentUtil import org.jetbrains.annotations.ApiStatus import java.awt.Container @@ -30,7 +31,7 @@ object ToolbarUtils { init { this.targetComponent = targetComponent - putClientProperty(SUPPRESS_FAST_TRACK, true) + ClientProperty.put(this, ActionToolbarImpl.SUPPRESS_FAST_TRACK, true) isReservePlaceAutoPopupIcon = false ComponentUtil.markAsShowing(this, true) updateActionsImmediately(true) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.kt b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.kt index c2800ed3ecdf..9f683ab4553e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.kt +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.kt @@ -1812,7 +1812,7 @@ open class EditorInspectionsActionToolbar( private val prevErrorAction: AnAction? ) : ActionToolbarImpl(ActionPlaces.EDITOR_INSPECTIONS_TOOLBAR, actions, true) { init { - putClientProperty(SUPPRESS_FAST_TRACK, true) + ClientProperty.put(this, ActionToolbarImpl.SUPPRESS_FAST_TRACK, true) } override fun addNotify() { diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/toolbar/floating/AbstractFloatingToolbarComponent.kt b/platform/platform-impl/src/com/intellij/openapi/editor/toolbar/floating/AbstractFloatingToolbarComponent.kt index 285d18c81d16..0be57f726e0c 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/toolbar/floating/AbstractFloatingToolbarComponent.kt +++ b/platform/platform-impl/src/com/intellij/openapi/editor/toolbar/floating/AbstractFloatingToolbarComponent.kt @@ -8,6 +8,7 @@ import com.intellij.openapi.actionSystem.ActionPlaces import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.impl.ActionToolbarImpl import com.intellij.openapi.actionSystem.toolbarLayout.ToolbarLayoutStrategy +import com.intellij.ui.ClientProperty import com.intellij.ui.JBColor import org.jetbrains.annotations.ApiStatus import java.awt.* @@ -102,7 +103,7 @@ abstract class AbstractFloatingToolbarComponent( private var opacity: Float = 0.0f init { - toolbar.putClientProperty(SUPPRESS_FAST_TRACK, true) + ClientProperty.put(toolbar, ActionToolbarImpl.SUPPRESS_FAST_TRACK, true) } fun getOpacity(): Float = opacity