diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-05-09 00:41:36 +0300 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-05-09 00:41:36 +0300 |
| commit | 1e30fa7ded9939fa45a45f82f84c1e8cd95d68aa (patch) | |
| tree | f2b60d48330937603a8b068dbb5a983be33d8fb8 /src/main/kotlin/me/kyren223/trident/ui/SettingsConfigurable.kt | |
| parent | 5da72c7ec98edfab7fbebc335e1a9fba116988a5 (diff) | |
Refactored a lot of the code and added a bunch of features and settings. Not finished yet but committing, so I can push to GitHub
Diffstat (limited to 'src/main/kotlin/me/kyren223/trident/ui/SettingsConfigurable.kt')
| -rw-r--r-- | src/main/kotlin/me/kyren223/trident/ui/SettingsConfigurable.kt | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/main/kotlin/me/kyren223/trident/ui/SettingsConfigurable.kt b/src/main/kotlin/me/kyren223/trident/ui/SettingsConfigurable.kt new file mode 100644 index 0000000..6283a29 --- /dev/null +++ b/src/main/kotlin/me/kyren223/trident/ui/SettingsConfigurable.kt @@ -0,0 +1,63 @@ +// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +package me.kyren223.trident.ui + +import com.intellij.openapi.options.Configurable +import com.intellij.openapi.util.NlsContexts.ConfigurableName +import me.kyren223.trident.data.SettingsData +import me.kyren223.trident.data.SettingsState +import javax.swing.JComponent + +class SettingsConfigurable : Configurable { + + private var settings: SettingsData? = null + + override fun getDisplayName(): @ConfigurableName String { + return "Trident Settings" + } + + override fun createComponent(): JComponent { + settings = SettingsData() + return settings!!.panel + } + + override fun isModified(): Boolean { + val settings = SettingsState.instance + if (settings.width != this.settings!!.getWidth()) return true + if (settings.height != this.settings!!.getHeight()) return true + if (settings.fontSize != this.settings!!.getFontSize()) return true + if (settings.enterToSelect != this.settings!!.getEnterToSelect()) return true + if (settings.automaticMapping != this.settings!!.getAutomaticMapping()) return true + if (settings.recursiveMapping != this.settings!!.getRecursiveMapping()) return true + if (settings.rememberLine != this.settings!!.getRememberLine()) return true + return false + } + + override fun apply() { + val settings = SettingsState.instance + settings.width = this.settings!!.getWidth() + settings.height = this.settings!!.getHeight() + settings.fontSize = this.settings!!.getFontSize() + settings.enterToSelect = this.settings!!.getEnterToSelect() + settings.automaticMapping = this.settings!!.getAutomaticMapping() + settings.recursiveMapping = this.settings!!.getRecursiveMapping() + settings.rememberLine = this.settings!!.getRememberLine() + } + + override fun reset() { + val settings = SettingsState.instance + if (this.settings == null) { + this.settings = SettingsData() + } + this.settings!!.setWidth(settings.width) + this.settings!!.setHeight(settings.height) + this.settings!!.setFontSize(settings.fontSize) + this.settings!!.setEnterToSelect(settings.enterToSelect) + this.settings!!.setAutomaticMapping(settings.automaticMapping) + this.settings!!.setRecursiveMapping(settings.recursiveMapping) + this.settings!!.setRememberLine(settings.rememberLine) + } + + override fun disposeUIResources() { + settings = null + } +} |
