Skip to content

Commit 9fd2c1f

Browse files
committed
feat(settings): example OpenAI token value
1 parent 62d7da8 commit 9fd2c1f

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## [Unreleased]
44

5+
### Added
6+
- Show example OpenAI token value when field is empty.
7+
58
## [1.3.0] - 2023-11-11
69

710
### Changed

src/main/kotlin/com/github/blarc/ai/commits/intellij/plugin/AICommitsExtensions.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ package com.github.blarc.ai.commits.intellij.plugin
22

33
import com.github.blarc.ai.commits.intellij.plugin.AICommitsBundle.message
44
import com.intellij.openapi.ui.ValidationInfo
5+
import com.intellij.ui.dsl.builder.Cell
56
import com.intellij.ui.layout.ValidationInfoBuilder
67
import com.intellij.util.ui.ColumnInfo
8+
import com.intellij.util.ui.ComponentWithEmptyText
9+
import javax.swing.JComponent
710

811
fun <T> createColumn(name: String, formatter: (T) -> String) : ColumnInfo<T, String> {
912
return object : ColumnInfo<T, String>(name) {
@@ -44,3 +47,9 @@ fun ValidationInfoBuilder.isLong(value: String): ValidationInfo? {
4447
}
4548
}
4649
}
50+
51+
// Adds emptyText method to all cells that contain a component that implements ComponentWithEmptyText class
52+
fun <T>Cell<T>.emptyText(emptyText: String) : Cell<T> where T : JComponent, T : ComponentWithEmptyText {
53+
this.component.emptyText.text = emptyText
54+
return this
55+
}

src/main/kotlin/com/github/blarc/ai/commits/intellij/plugin/settings/AppSettingsConfigurable.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.aallam.openai.api.exception.OpenAIAPIException
44
import com.github.blarc.ai.commits.intellij.plugin.AICommitsBundle
55
import com.github.blarc.ai.commits.intellij.plugin.AICommitsBundle.message
66
import com.github.blarc.ai.commits.intellij.plugin.OpenAIService
7+
import com.github.blarc.ai.commits.intellij.plugin.emptyText
78
import com.github.blarc.ai.commits.intellij.plugin.settings.prompt.Prompt
89
import com.github.blarc.ai.commits.intellij.plugin.settings.prompt.PromptTable
910
import com.github.blarc.ai.commits.intellij.plugin.temperatureValid
@@ -15,18 +16,18 @@ import com.intellij.openapi.ui.naturalSorted
1516
import com.intellij.ui.CommonActionsPanel
1617
import com.intellij.ui.ToolbarDecorator
1718
import com.intellij.ui.components.JBLabel
19+
import com.intellij.ui.components.JBPasswordField
1820
import com.intellij.ui.components.JBTextField
1921
import com.intellij.ui.dsl.builder.*
2022
import com.intellij.ui.util.minimumWidth
2123
import kotlinx.coroutines.*
2224
import java.util.*
2325
import javax.swing.DefaultComboBoxModel
24-
import javax.swing.JPasswordField
2526

2627
class AppSettingsConfigurable : BoundConfigurable(message("settings.general.group.title")) {
2728

2829
private val hostComboBox = ComboBox<String>()
29-
private val tokenPasswordField = JPasswordField()
30+
private val tokenPasswordField = JBPasswordField()
3031
private val verifyLabel = JBLabel()
3132
private val proxyTextField = JBTextField()
3233
private var modelComboBox = ComboBox<String>()
@@ -71,6 +72,7 @@ class AppSettingsConfigurable : BoundConfigurable(message("settings.general.grou
7172
{ AppSettings.instance.getOpenAIToken().orEmpty() },
7273
{ AppSettings.instance.saveOpenAIToken(it) }
7374
)
75+
.emptyText(message("settings.openAITokenExample"))
7476
.align(Align.FILL)
7577
.resizableColumn()
7678
.focused()
@@ -231,4 +233,4 @@ class AppSettingsConfigurable : BoundConfigurable(message("settings.general.grou
231233
}
232234

233235
}
234-
}
236+
}

src/main/resources/messages/MyBundle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name=AI Commits
33
settings.title=Settings
44
settings.general.group.title=AI Commits
55
settings.openAIToken=OpenAI token
6+
settings.openAITokenExample=sk-ABCdefgHIjKlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
67
settings.locale=Locale
78
settings.prompt=Prompt
89
settings.openAIModel=OpenAI model

0 commit comments

Comments
 (0)