content: package ca.alexgirard.harpoonIJ;
  // 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.
  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;
  import org.jetbrains.annotations.NotNull;
  import org.jetbrains.annotations.Nullable;
  
  /**
   * Supports storing the application settings in a persistent way.
   * The {@link State} and {@link Storage} annotations define the name of the data and the file name where
   * these persistent application settggVGings are stored.
   */
  @State(
          name = "ca.alexgirard.harpoonIJ.AppSettingsState",
          storages = @Storage("SdkSettingsPlugin.xml")
  )
  public class AppSettingsState implements PersistentStateComponent<AppSettingsState> {
  
      public int dialogHeight = 400;
      public int dialogWidth = 800;
      public int dialogFontSize = 20;
      public boolean enterRemap = true;
  
      public static AppSettingsState getInstance() {
          return ApplicationManager.getApplication().getService(AppSettingsState.class);
      }
  
      @Nullable
      @Override
      public AppSettingsState getState() {
          return this;
      }
  
      @Override
      public void loadState(@NotNull AppSettingsState state) {
          XmlSerializerUtil.copyBean(state, this);
      }
  
  }
  