Skip to content

Commit 4fb9d9b

Browse files
authored
fix: Configuration panels designs (#130)
1 parent 01e5815 commit 4fb9d9b

File tree

2 files changed

+53
-63
lines changed

2 files changed

+53
-63
lines changed

modules/core/src/main/kotlin/com/github/l34130/mise/core/run/MiseRunConfigurationSettingsEditor.kt

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,7 @@ import com.intellij.ui.layout.not
1818
import com.intellij.ui.layout.selected
1919
import com.intellij.util.application
2020
import org.jdom.Element
21-
import java.awt.BorderLayout
2221
import javax.swing.JComponent
23-
import javax.swing.JPanel
2422

2523
private val USER_DATA_KEY = Key<MiseRunConfigurationState>("Mise Run Settings")
2624

@@ -35,31 +33,27 @@ class MiseRunConfigurationSettingsEditor<T : RunConfigurationBase<*>>(
3533
private val myMiseConfigEnvironmentTf = JBTextField()
3634

3735
override fun createEditor(): JComponent =
38-
JPanel(BorderLayout()).apply {
39-
add(
40-
panel {
41-
row {
42-
cell(myMiseDirEnvCb)
43-
.comment("Load environment variables from mise configuration file(s)")
44-
}.enabledIf(useApplicationWideMiseConfigPredicate.not())
45-
row("Config Environment:") {
46-
cell(myMiseConfigEnvironmentTf)
47-
.comment(
48-
"""
49-
Specify the mise configuration environment to use (leave empty for default) <br/>
50-
<a href='https://mise.jdx.dev/configuration/environments.html'>Learn more about mise configuration environments</a>
51-
""".trimIndent(),
52-
).columns(COLUMNS_LARGE)
53-
.focused()
54-
.resizableColumn()
55-
}.enabledIf(myMiseDirEnvCb.selected.and(useApplicationWideMiseConfigPredicate.not()))
56-
row {
57-
icon(AllIcons.General.ShowWarning)
58-
label("Using the configuration in Settings / Tools / Mise Settings")
59-
.bold()
60-
}.visibleIf(useApplicationWideMiseConfigPredicate)
61-
},
62-
)
36+
panel {
37+
row {
38+
cell(myMiseDirEnvCb)
39+
.comment("Load environment variables from mise configuration file(s)")
40+
}.enabledIf(useApplicationWideMiseConfigPredicate.not())
41+
row("Config Environment:") {
42+
cell(myMiseConfigEnvironmentTf)
43+
.comment(
44+
"""
45+
Specify the mise configuration environment to use (leave empty for default) <br/>
46+
<a href='https://mise.jdx.dev/configuration/environments.html'>Learn more about mise configuration environments</a>
47+
""".trimIndent(),
48+
).columns(COLUMNS_LARGE)
49+
.focused()
50+
.resizableColumn()
51+
}.enabledIf(myMiseDirEnvCb.selected.and(useApplicationWideMiseConfigPredicate.not()))
52+
row {
53+
icon(AllIcons.General.ShowWarning)
54+
label("Using the configuration in Settings / Tools / Mise Settings")
55+
.bold()
56+
}.visibleIf(useApplicationWideMiseConfigPredicate)
6357
}
6458

6559
// Write to persistence from the UI

modules/core/src/main/kotlin/com/github/l34130/mise/core/setting/MiseConfigurable.kt

Lines changed: 32 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ import com.intellij.openapi.project.Project
77
import com.intellij.ui.components.JBCheckBox
88
import com.intellij.ui.components.JBTextField
99
import com.intellij.ui.components.textFieldWithHistoryWithBrowseButton
10+
import com.intellij.ui.dsl.builder.AlignX
1011
import com.intellij.ui.dsl.builder.COLUMNS_LARGE
12+
import com.intellij.ui.dsl.builder.RowLayout
1113
import com.intellij.ui.dsl.builder.columns
1214
import com.intellij.ui.dsl.builder.panel
1315
import com.intellij.ui.layout.selected
1416
import com.intellij.util.application
15-
import java.awt.BorderLayout
1617
import javax.swing.JComponent
17-
import javax.swing.JPanel
1818

1919
class MiseConfigurable(
2020
private val project: Project,
@@ -38,42 +38,38 @@ class MiseConfigurable(
3838
myMiseDirEnvCb.isSelected = service.state.useMiseDirEnv
3939
myMiseConfigEnvironmentTf.text = service.state.miseConfigEnvironment
4040

41-
return JPanel(BorderLayout()).apply {
42-
add(
43-
panel {
44-
row("Mise Executable:") {
45-
cell(
46-
myMiseExecutableTf.apply {
47-
setTextFieldPreferredWidth(50)
48-
},
49-
).comment(
41+
return panel {
42+
row("Mise Executable:") {
43+
cell(myMiseExecutableTf)
44+
.align(AlignX.FILL)
45+
.comment(
46+
"""
47+
Specify the path to the mise executable.</br>
48+
Not installed? Visit the <a href='https://mise.jdx.dev/installing-mise.html'>mise installation</a>
49+
""".trimIndent(),
50+
)
51+
}
52+
53+
groupRowsRange("Environments") {
54+
row {
55+
cell(myMiseDirEnvCb)
56+
.align(AlignX.FILL)
57+
.resizableColumn()
58+
.comment("Load environment variables from mise configuration file(s)")
59+
}.layout(RowLayout.PARENT_GRID)
60+
row("Config Environment:") {
61+
cell(myMiseConfigEnvironmentTf)
62+
.columns(COLUMNS_LARGE)
63+
.resizableColumn()
64+
.comment(
5065
"""
51-
Specify the path to the mise executable.</br>
52-
Not installed? Visit the <a href='https://mise.jdx.dev/installing-mise.html'>mise installation</a>
66+
Specify the mise configuration environment to use (leave empty for default) <br/>
67+
<a href='https://mise.jdx.dev/configuration/environments.html'>Learn more about mise configuration environments</a>
5368
""".trimIndent(),
54-
).resizableColumn()
55-
}
56-
57-
group("Environments") {
58-
row {
59-
cell(myMiseDirEnvCb).comment(
60-
"Load environment variables from mise configuration file(s)",
61-
)
62-
}
63-
row("Config Environment:") {
64-
cell(myMiseConfigEnvironmentTf)
65-
.comment(
66-
"""
67-
Specify the mise configuration environment to use (leave empty for default) <br/>
68-
<a href='https://mise.jdx.dev/configuration/environments.html'>Learn more about mise configuration environments</a>
69-
""".trimIndent(),
70-
).columns(COLUMNS_LARGE)
71-
.focused()
72-
.resizableColumn()
73-
}.enabledIf(myMiseDirEnvCb.selected)
74-
}
75-
},
76-
)
69+
)
70+
}.enabledIf(myMiseDirEnvCb.selected)
71+
.layout(RowLayout.PARENT_GRID)
72+
}
7773
}
7874
}
7975

0 commit comments

Comments
 (0)