Skip to content

Commit e7c11dc

Browse files
committed
feat(settings): set card layout item border
1 parent 98d39fe commit e7c11dc

File tree

6 files changed

+42
-28
lines changed

6 files changed

+42
-28
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@ import com.intellij.openapi.util.IconLoader
44

55
object Icons {
66
val AI_COMMITS = IconLoader.getIcon("/icons/aiCommits15.svg", javaClass)
7-
}
7+
val OPEN_AI = IconLoader.getIcon("/icons/openai.svg", javaClass)
8+
}

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

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,19 @@ import com.github.blarc.ai.commits.intellij.plugin.settings.AppSettings2
66
import com.intellij.openapi.ui.DialogPanel
77
import com.intellij.openapi.ui.DialogWrapper
88
import com.intellij.openapi.ui.Splitter
9+
import com.intellij.openapi.ui.ValidationInfo
910
import com.intellij.openapi.ui.popup.ListItemDescriptorAdapter
1011
import com.intellij.ui.JBCardLayout
1112
import com.intellij.ui.components.JBList
1213
import com.intellij.ui.popup.list.GroupedItemsListRenderer
1314
import com.intellij.ui.table.TableView
15+
import com.intellij.util.containers.ContainerUtil
1416
import com.intellij.util.ui.JBUI
1517
import com.intellij.util.ui.ListTableModel
1618
import java.awt.event.MouseAdapter
1719
import java.awt.event.MouseEvent
1820
import javax.swing.JComponent
21+
import javax.swing.JList
1922
import javax.swing.JPanel
2023
import javax.swing.ListSelectionModel.SINGLE_SELECTION
2124

@@ -100,12 +103,7 @@ class LLMClientTable {
100103
private val llmClients: List<LLMClient> = getLlmClients(newLlmClient)
101104
var llmClient = newLlmClient ?: llmClients[0]
102105

103-
private val cardLayout = JBCardLayout().apply {
104-
// Register validators of the currently active cards
105-
// (findComponentById(llmClient.displayName) as DialogPanel).registerValidators(myDisposable) {
106-
// isOKActionEnabled = ContainerUtil.and(it.values) { info: ValidationInfo -> info.okEnabled }
107-
// }
108-
}
106+
private val cardLayout = JBCardLayout()
109107

110108
init {
111109
title = newLlmClient?.let { "Edit LLM Client" } ?: "Add LLM Client"
@@ -146,20 +144,26 @@ class LLMClientTable {
146144
}
147145
}
148146

147+
// Register validators of the currently active cards
148+
(cardLayout.findComponentById(llmClient.displayName) as DialogPanel).registerValidators(myDisposable) {
149+
isOKActionEnabled = ContainerUtil.and(it.values) { info: ValidationInfo -> info.okEnabled }
150+
}
151+
149152
val cardsList = JBList(llmClients).apply {
150153
val descriptor = object : ListItemDescriptorAdapter<LLMClient>() {
151154
override fun getTextFor(value: LLMClient) = value.displayName
152155
override fun getIconFor(value: LLMClient) = value.getIcon()
153156
}
154157
cellRenderer = object : GroupedItemsListRenderer<LLMClient>(descriptor) {
155-
override fun createItemComponent() = super.createItemComponent().apply {
156-
border = JBUI.Borders.empty(4, 4, 4, 10)
158+
override fun customizeComponent(list: JList<out LLMClient>?, value: LLMClient?, isSelected: Boolean) {
159+
myTextLabel.border = JBUI.Borders.empty(4)
157160
}
158161
}
159162
addListSelectionListener {
160163
llmClient = selectedValue
161164
cardLayout.show(cardPanel, llmClient.displayName)
162165
}
166+
setSelectedValue(llmClient, true)
163167
}
164168

165169
firstComponent = cardsList

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class OpenAIClient(displayName: String = "OpenAI") : LLMClient(
3333
}
3434

3535
override fun getIcon(): Icon {
36-
return Icons.AI_COMMITS
36+
return Icons.OPEN_AI
3737
}
3838

3939
override fun getHosts(): Set<String> {
Lines changed: 10 additions & 9 deletions
Loading
Lines changed: 10 additions & 9 deletions
Loading
Lines changed: 7 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)