mirror of
https://github.com/chylex/IntelliJ-Inspection-Lens.git
synced 2025-04-29 11:34:12 +02:00
Add button to reset settings to default
This commit is contained in:
parent
3aeeb32bef
commit
102352a2eb
src/main/kotlin/com/chylex/intellij/inspectionlens/settings
@ -10,6 +10,7 @@ import com.intellij.openapi.editor.markup.TextAttributes
|
|||||||
import com.intellij.openapi.options.BoundConfigurable
|
import com.intellij.openapi.options.BoundConfigurable
|
||||||
import com.intellij.openapi.options.ConfigurableWithId
|
import com.intellij.openapi.options.ConfigurableWithId
|
||||||
import com.intellij.openapi.ui.DialogPanel
|
import com.intellij.openapi.ui.DialogPanel
|
||||||
|
import com.intellij.openapi.ui.MessageDialogBuilder
|
||||||
import com.intellij.openapi.util.Disposer
|
import com.intellij.openapi.util.Disposer
|
||||||
import com.intellij.ui.DisabledTraversalPolicy
|
import com.intellij.ui.DisabledTraversalPolicy
|
||||||
import com.intellij.ui.EditorTextFieldCellRenderer.SimpleRendererComponent
|
import com.intellij.ui.EditorTextFieldCellRenderer.SimpleRendererComponent
|
||||||
@ -75,7 +76,9 @@ class LensApplicationConfigurable : BoundConfigurable("Inspection Lens"), Config
|
|||||||
override fun createPanel(): DialogPanel {
|
override fun createPanel(): DialogPanel {
|
||||||
val settings = settingsService.state
|
val settings = settingsService.state
|
||||||
|
|
||||||
return panel {
|
lateinit var panel: DialogPanel
|
||||||
|
|
||||||
|
panel = panel {
|
||||||
group("Appearance") {
|
group("Appearance") {
|
||||||
row {
|
row {
|
||||||
checkBox("Use editor font").bindSelected(settings::useEditorFont)
|
checkBox("Use editor font").bindSelected(settings::useEditorFont)
|
||||||
@ -84,7 +87,7 @@ class LensApplicationConfigurable : BoundConfigurable("Inspection Lens"), Config
|
|||||||
|
|
||||||
group("Behavior") {
|
group("Behavior") {
|
||||||
row("Hover mode:") {
|
row("Hover mode:") {
|
||||||
val items = LensHoverMode.values().toList()
|
val items = LensHoverMode.entries
|
||||||
val renderer = SimpleListCellRenderer.create("", LensHoverMode::description)
|
val renderer = SimpleListCellRenderer.create("", LensHoverMode::description)
|
||||||
comboBox(items, renderer).bindItem(settings::lensHoverMode) { settings.lensHoverMode = it ?: LensHoverMode.DEFAULT }
|
comboBox(items, renderer).bindItem(settings::lensHoverMode) { settings.lensHoverMode = it ?: LensHoverMode.DEFAULT }
|
||||||
}
|
}
|
||||||
@ -105,7 +108,20 @@ class LensApplicationConfigurable : BoundConfigurable("Inspection Lens"), Config
|
|||||||
checkBox("Other").bindSelected(settings::showUnknownSeverities)
|
checkBox("Other").bindSelected(settings::showUnknownSeverities)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
group("Actions") {
|
||||||
|
row {
|
||||||
|
button("Reset to Default") {
|
||||||
|
if (MessageDialogBuilder.yesNo("Reset to Default", "Are you sure you want to reset settings to default?").ask(panel)) {
|
||||||
|
settingsService.resetState()
|
||||||
|
reset()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return panel
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun <K, V> Cell<JBCheckBox>.bindSelectedToNotIn(collection: MutableMap<K, V>, key: K, value: V): Cell<JBCheckBox> {
|
private fun <K, V> Cell<JBCheckBox>.bindSelectedToNotIn(collection: MutableMap<K, V>, key: K, value: V): Cell<JBCheckBox> {
|
||||||
|
@ -40,6 +40,17 @@ class LensSettingsState : SimplePersistentStateComponent<LensSettingsState.State
|
|||||||
update()
|
update()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun resetState() {
|
||||||
|
val default = State()
|
||||||
|
|
||||||
|
state.hiddenSeverities.apply { clear(); putAll(default.hiddenSeverities) }
|
||||||
|
state.showUnknownSeverities = default.showUnknownSeverities
|
||||||
|
state.useEditorFont = default.useEditorFont
|
||||||
|
state.lensHoverMode = default.lensHoverMode
|
||||||
|
|
||||||
|
update()
|
||||||
|
}
|
||||||
|
|
||||||
fun update() {
|
fun update() {
|
||||||
severityFilter = createSeverityFilter()
|
severityFilter = createSeverityFilter()
|
||||||
InspectionLens.scheduleRefresh()
|
InspectionLens.scheduleRefresh()
|
||||||
|
Loading…
Reference in New Issue
Block a user