Skip to content

Commit da9527a

Browse files
committed
feat: Enhance terminal UI with new icons and button styles #265
1 parent 7a754d0 commit da9527a

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

exts/ext-terminal/src/main/kotlin/cc/unitmesh/terminal/sketch/TerminalSketchProvider.kt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cc.unitmesh.terminal.sketch
22

3+
import cc.unitmesh.devti.AutoDevIcons
34
import cc.unitmesh.devti.AutoDevNotifications
45
import cc.unitmesh.devti.agent.view.WebViewWindow
56
import cc.unitmesh.devti.sketch.SketchToolWindow
@@ -24,17 +25,21 @@ import com.intellij.terminal.JBTerminalWidget
2425
import com.intellij.ui.components.panels.HorizontalLayout
2526
import com.intellij.ui.components.panels.VerticalLayout
2627
import com.intellij.ui.components.panels.Wrapper
28+
import com.intellij.ui.scale.JBUIScale.scale
2729
import com.intellij.util.ui.JBUI
2830
import com.intellij.util.ui.UIUtil
2931
import org.jetbrains.plugins.terminal.LocalTerminalDirectRunner
3032
import java.awt.BorderLayout
3133
import java.awt.Dimension
34+
import java.awt.FlowLayout
3235
import java.awt.event.MouseAdapter
3336
import java.awt.event.MouseEvent
37+
import javax.swing.Icon
3438
import javax.swing.JButton
3539
import javax.swing.JComponent
3640
import javax.swing.JLabel
3741
import javax.swing.JPanel
42+
import javax.swing.SwingConstants
3843

3944
/**
4045
* TerminalSketch provide a support for `bash` and `shell` language in terminal.
@@ -79,7 +84,7 @@ class TerminalSketchProvider : LanguageSketchProvider {
7984
add(toolbarWrapper)
8085
add(terminalWidget!!.component)
8186

82-
val sendButton = JButton("Send").apply {
87+
val sendButton = JButton(AutoDevIcons.Send).apply {
8388
addMouseListener(object : MouseAdapter() {
8489
override fun mouseClicked(e: MouseEvent?) {
8590
try {
@@ -93,16 +98,20 @@ class TerminalSketchProvider : LanguageSketchProvider {
9398
})
9499
}
95100

96-
val popupButton = JButton("Pop up Terminal").apply {
101+
val popupButton = JButton("Popup").apply {
102+
icon = AllIcons.Ide.External_link_arrow
103+
iconTextGap = scale(1)
104+
horizontalTextPosition = SwingConstants.LEADING
97105
addMouseListener(executePopup(terminalWidget, project))
98106
}
99107

108+
val buttonPanel = JPanel(FlowLayout(FlowLayout.RIGHT))
100109
buttonPanel.add(sendButton)
101110
buttonPanel.add(popupButton)
111+
102112
add(buttonPanel)
103113
}
104114
}
105-
106115
terminalWidget!!.addMessageFilter(FrontendWebViewServerFilter(project, mainPanel!!))
107116
}
108117

0 commit comments

Comments
 (0)