summaryrefslogtreecommitdiff
path: root/src/main/kotlin/me/kyren223/trident/data/SettingsState.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/me/kyren223/trident/data/SettingsState.kt')
-rw-r--r--src/main/kotlin/me/kyren223/trident/data/SettingsState.kt33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main/kotlin/me/kyren223/trident/data/SettingsState.kt b/src/main/kotlin/me/kyren223/trident/data/SettingsState.kt
new file mode 100644
index 0000000..16ec372
--- /dev/null
+++ b/src/main/kotlin/me/kyren223/trident/data/SettingsState.kt
@@ -0,0 +1,33 @@
+package me.kyren223.trident.data
+
+import com.intellij.openapi.application.ApplicationManager
+import com.intellij.openapi.components.PersistentStateComponent
+import com.intellij.openapi.components.State
+import com.intellij.openapi.components.Storage
+import com.intellij.util.xmlb.XmlSerializerUtil
+
+// 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.
+@State(name = "me.kyren223.trident.data.SettingsState", storages = [Storage("SdkSettingsPlugin.xml")])
+class SettingsState : PersistentStateComponent<SettingsState?> {
+
+ var width = 800
+ var height = 400
+ var fontSize = 20
+ var enterToSelect = true
+ var automaticMapping = false
+ var recursiveMapping = false
+ var rememberLine = false
+
+ override fun getState(): SettingsState {
+ return this
+ }
+
+ override fun loadState(state: SettingsState) {
+ XmlSerializerUtil.copyBean(state, this)
+ }
+
+ companion object {
+ val instance: SettingsState
+ get() = ApplicationManager.getApplication().getService(SettingsState::class.java)
+ }
+}