mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-08-28 19:11:03 +08:00
fix(jetbrains): increase todo checklist padding
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"@kilocode/kilo-jetbrains": patch
|
||||
---
|
||||
|
||||
Increase JetBrains todo checklist inner padding.
|
||||
+10
-16
@@ -4,26 +4,25 @@ import ai.kilocode.client.plugin.KiloBundle
|
||||
import ai.kilocode.client.session.ui.style.SessionEditorStyle
|
||||
import ai.kilocode.client.session.ui.style.SessionUiStyle
|
||||
import ai.kilocode.client.ui.UiStyle
|
||||
import ai.kilocode.client.ui.layout.Stack
|
||||
import ai.kilocode.client.ui.layout.StackAxis
|
||||
import ai.kilocode.rpc.dto.TodoDto
|
||||
import com.intellij.ui.components.JBLabel
|
||||
import com.intellij.util.ui.JBUI
|
||||
import com.intellij.xml.util.XmlStringUtil
|
||||
import java.awt.BasicStroke
|
||||
import java.awt.BorderLayout
|
||||
import java.awt.Color
|
||||
import java.awt.Component
|
||||
import java.awt.Graphics
|
||||
import java.awt.Graphics2D
|
||||
import java.awt.RenderingHints
|
||||
import javax.swing.Icon
|
||||
import javax.swing.BoxLayout
|
||||
import javax.swing.JPanel
|
||||
|
||||
class TodoListPanel(
|
||||
todos: List<TodoDto> = emptyList(),
|
||||
private var before: Int = 0,
|
||||
private var after: Int = 0,
|
||||
) : JPanel() {
|
||||
) : Stack(StackAxis.VERTICAL) {
|
||||
|
||||
private var items = todos
|
||||
private var style = SessionEditorStyle.current()
|
||||
@@ -32,11 +31,7 @@ class TodoListPanel(
|
||||
private val later = JBLabel()
|
||||
|
||||
init {
|
||||
layout = BoxLayout(this, BoxLayout.Y_AXIS)
|
||||
isOpaque = false
|
||||
border = JBUI.Borders.empty(UiStyle.Gap.sm(), UiStyle.Gap.md())
|
||||
add(prior)
|
||||
add(later)
|
||||
border = JBUI.Borders.empty(UiStyle.Gap.lg(), UiStyle.Gap.pad())
|
||||
applyStyle(style)
|
||||
sync()
|
||||
}
|
||||
@@ -86,13 +81,13 @@ class TodoListPanel(
|
||||
private fun sync() {
|
||||
removeAll()
|
||||
rows.clear()
|
||||
add(prior)
|
||||
next(prior)
|
||||
items.forEach { todo ->
|
||||
val row = Row(todo, style)
|
||||
rows.add(row)
|
||||
add(row.panel)
|
||||
next(row.panel)
|
||||
}
|
||||
add(later)
|
||||
next(later)
|
||||
syncHidden()
|
||||
}
|
||||
|
||||
@@ -122,11 +117,10 @@ class TodoListPanel(
|
||||
icon = this@Row.icon
|
||||
}
|
||||
val text = JBLabel()
|
||||
val panel = JPanel(BorderLayout(UiStyle.Gap.sm(), 0)).apply {
|
||||
isOpaque = false
|
||||
val panel = Stack.horizontal(UiStyle.Gap.sm()).apply {
|
||||
border = JBUI.Borders.empty(UiStyle.Gap.xs(), 0)
|
||||
add(check, BorderLayout.WEST)
|
||||
add(text, BorderLayout.CENTER)
|
||||
next(check)
|
||||
next(text)
|
||||
}
|
||||
|
||||
init {
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ class TodoWriteView(tool: Tool, private val parts: TodoParts = todoParts()) :
|
||||
0,
|
||||
0,
|
||||
),
|
||||
JBUI.Borders.empty(UiStyle.Gap.sm(), UiStyle.Gap.md()),
|
||||
JBUI.Borders.empty(UiStyle.Gap.lg(), UiStyle.Gap.pad()),
|
||||
)
|
||||
applyStyle(style)
|
||||
sync()
|
||||
|
||||
+13
@@ -86,6 +86,19 @@ class TodoWriteViewTest : BasePlatformTestCase() {
|
||||
assertEquals(UiStyle.Gap.md(), centerGap(view))
|
||||
}
|
||||
|
||||
fun `test todo body uses next standard inner padding`() {
|
||||
val view = TodoWriteView(tool("todowrite", ToolExecState.COMPLETED).also {
|
||||
it.todos = listOf(TodoDto("Next", "pending", "medium"))
|
||||
})
|
||||
val body = view.components.filterIsInstance<TodoListPanel>().single()
|
||||
val ins = body.border.getBorderInsets(body)
|
||||
|
||||
assertEquals(UiStyle.Gap.lg() + SessionUiStyle.View.Outline.width(), ins.top)
|
||||
assertEquals(UiStyle.Gap.pad(), ins.left)
|
||||
assertEquals(UiStyle.Gap.lg(), ins.bottom)
|
||||
assertEquals(UiStyle.Gap.pad(), ins.right)
|
||||
}
|
||||
|
||||
fun `test compact view renders hidden labels and visible rows`() {
|
||||
val view = TodoWriteView(tool("todowrite", ToolExecState.COMPLETED).also {
|
||||
it.todos = listOf(
|
||||
|
||||
Reference in New Issue
Block a user