Skip to content

Commit 3822e24

Browse files
committed
refactor(devti): improve UI details and error handling
- Add border to CodeHighlightSketch based on language mode- Adjust layout and borders in SingleFileDiffSketch - Update PlanLangSketch border to match tool window style - Remove background color setting in PlanToolbarFactory - Add error handling for change creation in AgentStateService
1 parent 2397a38 commit 3822e24

File tree

5 files changed

+21
-15
lines changed

5 files changed

+21
-15
lines changed

core/src/main/kotlin/cc/unitmesh/devti/observer/agent/AgentStateService.kt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,16 @@ class AgentStateService(val project: Project) {
5959
}
6060
}
6161

62-
val change = createChange(patch)
63-
state.changes.add(change)
62+
try {
63+
val change = createChange(patch)
64+
state.changes.add(change)
6465

65-
ApplicationManager.getApplication().messageBus
66-
.syncPublisher(PlanUpdateListener.TOPIC)
67-
.onUpdateChange(state.changes)
66+
ApplicationManager.getApplication().messageBus
67+
.syncPublisher(PlanUpdateListener.TOPIC)
68+
.onUpdateChange(state.changes)
69+
} catch (e: IOException) {
70+
logger<AgentStateService>().info(e)
71+
}
6872
}
6973

7074
private fun createChange(patch: TextFilePatch): Change {

core/src/main/kotlin/cc/unitmesh/devti/sketch/ui/code/CodeHighlightSketch.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,11 @@ open class CodeHighlightSketch(
100100
editorFragment?.editor?.backgroundColor = JBColor.PanelBackground
101101
}
102102

103-
editorFragment?.editor?.setBorder(JBEmptyBorder(1, 0, 0, 0))
103+
if (lowercase == "devin") {
104+
editorFragment?.editor?.setBorder(JBEmptyBorder(1, 1, 0, 1))
105+
} else if(lowercase != "markdown") {
106+
editorFragment?.editor?.setBorder(JBEmptyBorder(1, 0, 0, 0))
107+
}
104108
}
105109

106110
override fun getViewText(): String {

core/src/main/kotlin/cc/unitmesh/devti/sketch/ui/patch/SingleFileDiffSketch.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ class SingleFileDiffSketch(
5858
var patch: TextFilePatch,
5959
val viewDiffAction: () -> Unit
6060
) : LangSketch {
61-
private val mainPanel: JPanel = JPanel(VerticalLayout(5))
61+
private val mainPanel: JPanel = JPanel(VerticalLayout(0))
6262
private val myHeaderPanel: JPanel = JPanel(BorderLayout())
6363
private var patchActionPanel: JPanel? = null
6464
private val oldCode = if (currentFile.isFile && currentFile.exists()) {
@@ -163,10 +163,10 @@ class SingleFileDiffSketch(
163163
patchActionPanel = JPanel(BorderLayout()).apply {
164164
add(filePanel, BorderLayout.WEST)
165165
add(actionPanel, BorderLayout.EAST)
166-
border = BorderFactory.createEmptyBorder(4, 4, 4, 4)
166+
border = BorderFactory.createEmptyBorder(0, 4, 0, 4)
167167
}
168168

169-
val fileContainer = JPanel(BorderLayout(10, 10)).also {
169+
val fileContainer = JPanel(BorderLayout(8, 8)).also {
170170
it.add(patchActionPanel)
171171
}
172172
contentPanel.add(fileContainer, BorderLayout.CENTER)

core/src/main/kotlin/cc/unitmesh/devti/sketch/ui/plan/PlanLangSketch.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ class PlanLangSketch(
3030
init {
3131
if (!isInToolwindow) {
3232
add(toolbarFactory.createToolbar(this), BorderLayout.NORTH)
33-
border = JBUI.Borders.empty(4)
33+
border = JBUI.Borders.compound(
34+
JBUI.Borders.empty(0, 4),
35+
JBUI.Borders.customLine(JBUI.CurrentTheme.ToolWindow.borderColor(), 1)
36+
)
3437
}
3538

3639
renderPlan()

core/src/main/kotlin/cc/unitmesh/devti/sketch/ui/plan/PlanToolbarFactory.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,13 @@ class PlanToolbarFactory(private val project: Project) {
3030
this.targetComponent = component
3131
}
3232

33-
val bg = JBUI.CurrentTheme.ToolWindow.background()
34-
toolbar.component.setBackground(bg)
35-
3633
val titleLabel = JLabel("Plan").apply {
3734
border = JBUI.Borders.empty(0, 10)
3835
}
3936

4037
val toolbarPanel = JPanel(BorderLayout()).apply {
4138
add(titleLabel, BorderLayout.WEST)
4239
add(toolbar.component, BorderLayout.EAST)
43-
}.also {
44-
it.background = bg
4540
}
4641

4742
val toolbarWrapper = Wrapper(JBUI.Panels.simplePanel(toolbarPanel)).also {

0 commit comments

Comments
 (0)