From 8777666e66c760e7881b4a3a8fc47c9725a515c7 Mon Sep 17 00:00:00 2001 From: kateliu20 Date: Wed, 25 Sep 2024 12:20:07 -0400 Subject: [PATCH] Add ai bot to settings and allow it to be enabled/disabled --- .../com/slack/sgp/intellij/SkatePluginSettings.kt | 7 +++++++ .../slack/sgp/intellij/aibot/ChatBotToolWindow.kt | 10 ++++++++++ .../com/slack/sgp/intellij/ui/SkateConfigUI.kt | 13 +++++++++++++ .../main/resources/messages/skateBundle.properties | 5 ++++- 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkatePluginSettings.kt b/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkatePluginSettings.kt index 188acdc49..a94021448 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkatePluginSettings.kt +++ b/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/SkatePluginSettings.kt @@ -122,6 +122,12 @@ class SkatePluginSettings : SimplePersistentStateComponent() + if (!settings.isAiBotEnabled) { + toolWindow.hide() + return + } + val contentFactory = ContentFactory.getInstance() val content = contentFactory.createContent(createComposePanel(), "", false) toolWindow.contentManager.addContent(content) diff --git a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/SkateConfigUI.kt b/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/SkateConfigUI.kt index c30471b67..4566742e2 100644 --- a/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/SkateConfigUI.kt +++ b/skate-plugin/src/main/kotlin/com/slack/sgp/intellij/ui/SkateConfigUI.kt @@ -41,6 +41,7 @@ internal class SkateConfigUI( featureFlagSettings() tracingSettings() codeOwnerSettings() + aiBotSettings() } private fun Panel.whatsNewPanelSettings() { @@ -192,4 +193,16 @@ internal class SkateConfigUI( .apply { enabledCondition?.let { enabledIf(it) } } } } + + private fun Panel.aiBotSettings() { + group(SkateBundle.message("skate.configuration.aiBot.title")) { + row { + checkBox(SkateBundle.message("skate.configuration.enableAiBot.description")) + .bindSelected( + getter = { settings.isAiBotEnabled }, + setter = { settings.isAiBotEnabled = it }, + ) + } + } + } } diff --git a/skate-plugin/src/main/resources/messages/skateBundle.properties b/skate-plugin/src/main/resources/messages/skateBundle.properties index 94fea1484..9a7448846 100644 --- a/skate-plugin/src/main/resources/messages/skateBundle.properties +++ b/skate-plugin/src/main/resources/messages/skateBundle.properties @@ -19,4 +19,7 @@ skate.configuration.tracingEndpoint.error=API endpoint can't be empty skate.configuration.codeOwner.title=Code Owner skate.configuration.codeOwner.enabledDescription=Enable plugin to see team code ownership in status widget skate.configuration.codeOwnerFile.title=File path -skate.configuration.codeOwnerFile.error=File path can't be empty \ No newline at end of file +skate.configuration.codeOwnerFile.error=File path can't be empty +skate.configuration.aiBot.title=AI Chat Bot +skate.configuration.enableAiBot.description=Enable AI chatbot within the IDE +