+
+ override fun getConfigurable(project: Project) = object : UnnamedConfigurable {
+ val settings = PyVirtualEnvTerminalSettings.getInstance(project)
+
+ var myCheckbox: JCheckBox = JCheckBox("Activate virtualenv")
+
+ override fun createComponent() = myCheckbox
+
+ override fun isModified() = myCheckbox.isSelected != settings.virtualEnvActivate
+
+ override fun apply() {
+ settings.virtualEnvActivate = myCheckbox.isSelected
+ }
+
+ override fun reset() {
+ myCheckbox.isSelected = settings.virtualEnvActivate
+ }
+ }
+
+
+}
+
+class SettingsState {
+ var virtualEnvActivate = true
+}
+
+@State(name = "PyVirtualEnvTerminalCustomizer", storages = arrayOf(Storage("python-terminal.xml")))
+class PyVirtualEnvTerminalSettings : PersistentStateComponent<SettingsState> {
+ var myState = SettingsState()
+
+ var virtualEnvActivate: Boolean
+ get() = myState.virtualEnvActivate
+ set(value) {
+ myState.virtualEnvActivate = value
+ }
+
+ override fun getState() = myState
+
+ override fun loadState(state: SettingsState) {
+ myState.virtualEnvActivate = state.virtualEnvActivate
+ }
+
+ companion object {
+ fun getInstance(project: Project): PyVirtualEnvTerminalSettings {
+ return ServiceManager.getService(project, PyVirtualEnvTerminalSettings::class.java)
+ }
+ }
+