From 0cfb8664dfc785c5d7c2def66ca9b1dfb9f05f96 Mon Sep 17 00:00:00 2001 From: Carl-Robert Linnupuu Date: Wed, 11 Sep 2024 14:47:22 +0300 Subject: [PATCH] fix: prompt input focusing when opening chat toolwindow (fixes #691) --- .../ee/carlrobert/codegpt/ui/textarea/UserInputPanel.kt | 6 ++++-- .../ui/textarea/suggestion/SuggestionsPopupManager.kt | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/UserInputPanel.kt b/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/UserInputPanel.kt index 96d6b89e..2c01259f 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/UserInputPanel.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/UserInputPanel.kt @@ -4,6 +4,7 @@ import com.intellij.icons.AllIcons import com.intellij.openapi.actionSystem.ActionPlaces import com.intellij.openapi.actionSystem.AnAction import com.intellij.openapi.actionSystem.AnActionEvent +import com.intellij.openapi.application.invokeLater import com.intellij.openapi.components.service import com.intellij.openapi.editor.SelectionModel import com.intellij.openapi.observable.properties.AtomicBooleanProperty @@ -81,8 +82,9 @@ class UserInputPanel( } override fun requestFocus() { - promptTextField.requestFocus() - promptTextField.requestFocusInWindow() + invokeLater { + promptTextField.requestFocusInWindow() + } } override fun paintComponent(g: Graphics) { diff --git a/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/suggestion/SuggestionsPopupManager.kt b/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/suggestion/SuggestionsPopupManager.kt index 48cc45ac..58eb887e 100644 --- a/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/suggestion/SuggestionsPopupManager.kt +++ b/src/main/kotlin/ee/carlrobert/codegpt/ui/textarea/suggestion/SuggestionsPopupManager.kt @@ -85,6 +85,7 @@ class SuggestionsPopupManager( listModel.addAll(suggestions) list.revalidate() list.repaint() + selectNext() } } }