mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-10-30 19:32:39 +08:00
fix(jetbrains): avoid unsafe UI initialization
This commit is contained in:
+7
-3
@@ -4,7 +4,6 @@ import ai.kilocode.client.app.KiloWorkspaceService
|
||||
import ai.kilocode.client.app.Workspace
|
||||
import ai.kilocode.client.session.SessionSidePanelManager
|
||||
import ai.kilocode.log.KiloLog
|
||||
import com.intellij.openapi.actionSystem.ActionGroup
|
||||
import com.intellij.openapi.actionSystem.ActionManager
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.project.DumbAware
|
||||
@@ -64,8 +63,13 @@ class KiloToolWindowFactory : ToolWindowFactory, DumbAware {
|
||||
toolWindow.contentManager.setSelectedContent(content)
|
||||
manager.newSession()
|
||||
|
||||
val toolbar = ActionManager.getInstance().getAction("Kilo.ToolWindowToolbar")
|
||||
if (toolbar is ActionGroup) toolWindow.setTitleActions(toolbar.getChildren(null).toList())
|
||||
val actions = listOfNotNull(
|
||||
ActionManager.getInstance().getAction("Kilo.NewSession"),
|
||||
ActionManager.getInstance().getAction("Kilo.History"),
|
||||
ActionManager.getInstance().getAction("Kilo.ShowProfile"),
|
||||
ActionManager.getInstance().getAction("Kilo.Settings"),
|
||||
)
|
||||
toolWindow.setTitleActions(actions)
|
||||
} catch (e: Exception) {
|
||||
LOG.error("Failed to set up Kilo tool window content", e)
|
||||
}
|
||||
|
||||
+8
-5
@@ -40,6 +40,7 @@ import com.intellij.ide.BrowserUtil
|
||||
import com.intellij.ide.ui.LafManagerListener
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.application.ReadAction
|
||||
import com.intellij.openapi.components.service
|
||||
import com.intellij.openapi.editor.colors.EditorColorsListener
|
||||
import com.intellij.openapi.editor.colors.EditorColorsManager
|
||||
@@ -256,11 +257,13 @@ class SessionUi(
|
||||
scroll = SessionScroll(root, sessionContent, messageBody, blankBody)
|
||||
connection = ConnectionPanel(this, controller)
|
||||
|
||||
prompt = PromptPanel(
|
||||
project = project,
|
||||
onSend = { text -> sendPrompt(text) },
|
||||
onAbort = { controller.abort() },
|
||||
)
|
||||
prompt = ReadAction.computeBlocking<PromptPanel, RuntimeException> {
|
||||
PromptPanel(
|
||||
project = project,
|
||||
onSend = { text -> sendPrompt(text) },
|
||||
onAbort = { controller.abort() },
|
||||
)
|
||||
}
|
||||
|
||||
sessionContent.add(header, BorderLayout.NORTH)
|
||||
sessionContent.add(scroll.component, BorderLayout.CENTER)
|
||||
|
||||
Reference in New Issue
Block a user