From 1e30fa7ded9939fa45a45f82f84c1e8cd95d68aa Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Thu, 9 May 2024 00:41:36 +0300 Subject: 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 --- .../me/kyren223/trident/data/SettingsState.kt | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/kotlin/me/kyren223/trident/data/SettingsState.kt (limited to 'src/main/kotlin/me/kyren223/trident/data/SettingsState.kt') 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 { + + 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) + } +} -- cgit v1.3.1