From 6f6bd6a028f48a1685370049406986425f889a50 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Tue, 13 Feb 2024 14:07:55 +0200 Subject: Added a settings menu Changed project from java to kotlin --- .../me/kyren223/harpoonforjb/AppSettingsState.kt | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsState.kt (limited to 'src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsState.kt') diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsState.kt b/src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsState.kt new file mode 100644 index 0000000..5699d53 --- /dev/null +++ b/src/main/kotlin/me/kyren223/harpoonforjb/AppSettingsState.kt @@ -0,0 +1,29 @@ +package me.kyren223.harpoonforjb + +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.harpoonforjb.AppSettingsState", storages = [Storage("SdkSettingsPlugin.xml")]) +class AppSettingsState : PersistentStateComponent { + + var harpoonWidth = 800 + var harpoonHeight = 400 + var harpoonFontSize = 20 + + override fun getState(): AppSettingsState { + return this + } + + override fun loadState(state: AppSettingsState) { + XmlSerializerUtil.copyBean(state, this) + } + + companion object { + val instance: AppSettingsState + get() = ApplicationManager.getApplication().getService(AppSettingsState::class.java) + } +} -- cgit v1.3.1