fixup! IJPL-159244 Integrate JBR TextInput API into IDEA for speed search fields

GitOrigin-RevId: ff2e7491134104838682b469dd24c3eec83038ee
This commit is contained in:
Nikita Tsarev
2024-09-04 09:26:35 +02:00
committed by intellij-monorepo-bot
parent 9e5df60fa1
commit 1bd85895e0
3 changed files with 9 additions and 1 deletions

View File

@@ -15,6 +15,7 @@ import com.intellij.ide.actions.MaximizeActiveDialogAction
import com.intellij.ide.dnd.DnDManager
import com.intellij.ide.dnd.DnDManagerImpl
import com.intellij.ide.ui.UISettings
import com.intellij.idea.AppMode
import com.intellij.openapi.Disposable
import com.intellij.openapi.application.*
import com.intellij.openapi.application.ex.ApplicationManagerEx
@@ -923,7 +924,7 @@ class IdeEventQueue private constructor() : EventQueue() {
}
private fun addTextInputListener() {
if (SystemInfoRt.isMac && !GraphicsEnvironment.isHeadless()) {
if (StartupUiUtil.isLWCToolkit()) {
JBR.getTextInput()?.setGlobalEventListener(object : TextInput.EventListener {
override fun handleSelectTextRangeEvent(event: TextInput.SelectTextRangeEvent) {
val source = event.source

View File

@@ -4949,6 +4949,7 @@ f:com.intellij.util.ui.StartupUiUtil
- sf:isJreHiDPI():Z
- f:isJreHiDPI(com.intellij.ui.scale.ScaleContext):Z
- sf:isJreHiDPI(java.awt.Component):Z
- sf:isLWCToolkit():Z
- sf:isUnderDarcula():Z
- sf:isUnderIntelliJLaF():Z
- sf:isWaylandToolkit():Z

View File

@@ -188,6 +188,12 @@ object StartupUiUtil {
&& "sun.awt.X11.XToolkit" == Toolkit.getDefaultToolkit().javaClass.name
}
@JvmStatic
fun isLWCToolkit(): Boolean {
return SystemInfoRt.isMac
&& "sun.lwawt.macosx.LWCToolkit" == Toolkit.getDefaultToolkit().javaClass.name
}
/**
* Waits for the EDT to dispatch all its invocation events.
* Must be called outside EDT.