mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-09-21 05:52:35 +08:00
feat(jetbrains): badge agent manager as beta
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@kilocode/kilo-jetbrains": patch
|
||||
---
|
||||
|
||||
Show a Beta badge on the Agent Manager tool window tab.
|
||||
+11
@@ -13,6 +13,7 @@ import ai.kilocode.client.agentManager.worktree.WorktreeController
|
||||
import ai.kilocode.client.agentManager.AgentManagerPanel
|
||||
import ai.kilocode.client.plugin.KiloBundle
|
||||
import ai.kilocode.log.KiloLog
|
||||
import com.intellij.icons.AllIcons
|
||||
import com.intellij.openapi.actionSystem.ActionGroup
|
||||
import com.intellij.openapi.actionSystem.ActionManager
|
||||
import com.intellij.openapi.actionSystem.DataProvider
|
||||
@@ -25,6 +26,7 @@ import com.intellij.openapi.wm.ToolWindow
|
||||
import com.intellij.openapi.wm.ToolWindowFactory
|
||||
import com.intellij.platform.project.projectIdOrNull
|
||||
import com.intellij.openapi.wm.impl.content.ToolWindowContentUi
|
||||
import com.intellij.ui.content.Content
|
||||
import com.intellij.ui.content.ContentManagerEvent
|
||||
import com.intellij.ui.content.ContentManagerListener
|
||||
import com.intellij.ui.content.ContentFactory
|
||||
@@ -33,6 +35,7 @@ import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.withContext
|
||||
import java.awt.BorderLayout
|
||||
import java.awt.ComponentOrientation
|
||||
import javax.swing.JPanel
|
||||
|
||||
/**
|
||||
@@ -126,6 +129,7 @@ internal class KiloToolWindowSetupService(
|
||||
chatContent.setDisposer(manager)
|
||||
chatContent.setPreferredFocusedComponent { manager.defaultFocusedComponent }
|
||||
val agentContent = factory.createContent(agent, KiloBundle.message("sidePanel.mode.agentManager"), false)
|
||||
agentContent.applyAgentManagerBetaBadge()
|
||||
agentContent.setPreferredFocusedComponent { agentManagerPanel.component }
|
||||
toolWindow.contentManager.addContent(chatContent)
|
||||
toolWindow.contentManager.addContent(agentContent)
|
||||
@@ -158,3 +162,10 @@ internal class KiloToolWindowSetupService(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal fun Content.applyAgentManagerBetaBadge() {
|
||||
icon = AllIcons.General.Beta
|
||||
description = KiloBundle.message("sidePanel.mode.agentManager.beta.description")
|
||||
putUserData(ToolWindow.SHOW_CONTENT_ICON, true)
|
||||
putUserData(Content.TAB_LABEL_ORIENTATION_KEY, ComponentOrientation.RIGHT_TO_LEFT)
|
||||
}
|
||||
|
||||
@@ -338,6 +338,7 @@ history.error.cloud.delete=Cloud sessions cannot be deleted yet
|
||||
|
||||
sidePanel.mode.branch=AI Chat
|
||||
sidePanel.mode.agentManager=Agent Manager
|
||||
sidePanel.mode.agentManager.beta.description=Agent Manager (Beta)
|
||||
worktree.empty=No worktrees
|
||||
worktree.delete.action=Delete worktree
|
||||
worktree.delete.confirm.message=Delete worktree "{0}"?
|
||||
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package ai.kilocode.client
|
||||
|
||||
import ai.kilocode.client.util.edtWait
|
||||
import com.intellij.icons.AllIcons
|
||||
import com.intellij.openapi.wm.ToolWindow
|
||||
import com.intellij.testFramework.fixtures.BasePlatformTestCase
|
||||
import com.intellij.ui.content.Content
|
||||
import com.intellij.ui.content.ContentFactory
|
||||
import java.awt.ComponentOrientation
|
||||
import javax.swing.JPanel
|
||||
|
||||
class KiloToolWindowFactoryTest : BasePlatformTestCase() {
|
||||
fun `test agent manager content uses beta badge metadata`() = edtWait {
|
||||
val content = ContentFactory.getInstance().createContent(JPanel(), "Agent Manager", false)
|
||||
|
||||
content.applyAgentManagerBetaBadge()
|
||||
|
||||
assertSame(AllIcons.General.Beta, content.icon)
|
||||
assertEquals("Agent Manager (Beta)", content.description)
|
||||
assertEquals(true, content.getUserData(ToolWindow.SHOW_CONTENT_ICON))
|
||||
assertEquals(ComponentOrientation.RIGHT_TO_LEFT, content.getUserData(Content.TAB_LABEL_ORIENTATION_KEY))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user