11package com.github.patou.gitmoji
22
33import com.intellij.ide.util.PropertiesComponent
4+ import com.intellij.openapi.options.Configurable
45import com.intellij.openapi.options.SearchableConfigurable
56import com.intellij.openapi.project.Project
67import com.intellij.openapi.ui.ComboBox
@@ -12,15 +13,13 @@ import javax.swing.JComponent
1213import javax.swing.JLabel
1314import javax.swing.JPanel
1415
15- class GitMojiConfig constructor (private val project : Project ) : SearchableConfigurable {
16+ class GitMojiConfig (private val project : Project ) : SearchableConfigurable {
1617 private val mainPanel: JPanel
1718 private val useUnicode = JCheckBox (" Use unicode emoji instead of text version (:code:)" )
1819 private val displayEmoji =
1920 JCheckBox (" Display emoji instead of icon in list (Bug in IntelliJ Windows or emoji in black and white)" )
20- private val insertInCursorPosition =
21- JCheckBox (" Insert the emoji in the cursor location" )
22- private val includeGitMojiDescription =
23- JCheckBox (" Include gitmoji description" )
21+ private val insertInCursorPosition = JCheckBox (" Insert the emoji in the cursor location" )
22+ private val includeGitMojiDescription = JCheckBox (" Include gitmoji description" )
2423 private var useUnicodeConfig: Boolean = false
2524 private var displayEmojiConfig: String = " emoji"
2625 private var insertInCursorPositionConfig: Boolean = false
@@ -30,11 +29,13 @@ class GitMojiConfig constructor(private val project: Project) : SearchableConfig
3029 private var textAfterUnicodeConfig: String = " "
3130
3231 override fun isModified (): Boolean =
33- isModified(displayEmoji, displayEmojiConfig == " emoji" ) ||
34- isModified(useUnicode, useUnicodeConfig) ||
35- isModified(textAfterUnicode, textAfterUnicodeConfig) ||
36- isModified(insertInCursorPosition, insertInCursorPositionConfig) ||
37- isModified(includeGitMojiDescription, includeGitMojiDescriptionConfig)
32+ Configurable .isCheckboxModified(displayEmoji, displayEmojiConfig == " emoji" ) || Configurable .isCheckboxModified(
33+ useUnicode,
34+ useUnicodeConfig
35+ ) || isModified(textAfterUnicode, textAfterUnicodeConfig) || Configurable .isCheckboxModified(
36+ insertInCursorPosition,
37+ insertInCursorPositionConfig
38+ ) || Configurable .isCheckboxModified(includeGitMojiDescription, includeGitMojiDescriptionConfig)
3839
3940 private fun isModified (comboBox : ComboBox <String >, value : String ): Boolean {
4041 return ! Comparing .equal(comboBox.selectedItem, value)
@@ -78,8 +79,7 @@ class GitMojiConfig constructor(private val project: Project) : SearchableConfig
7879 override fun reset () {
7980 val propertiesComponent = PropertiesComponent .getInstance(project)
8081
81- displayEmojiConfig =
82- propertiesComponent.getValue(CONFIG_DISPLAY_ICON , Gitmojis .defaultDisplayType())
82+ displayEmojiConfig = propertiesComponent.getValue(CONFIG_DISPLAY_ICON , Gitmojis .defaultDisplayType())
8383 useUnicodeConfig = propertiesComponent.getBoolean(CONFIG_USE_UNICODE , false )
8484 insertInCursorPositionConfig = propertiesComponent.getBoolean(CONFIG_INSERT_IN_CURSOR_POSITION , false )
8585 includeGitMojiDescriptionConfig = propertiesComponent.getBoolean(CONFIG_INCLUDE_GITMOJI_DESCRIPTION , false )
@@ -89,11 +89,10 @@ class GitMojiConfig constructor(private val project: Project) : SearchableConfig
8989 useUnicode.isSelected = useUnicodeConfig
9090 insertInCursorPosition.isSelected = insertInCursorPositionConfig
9191 includeGitMojiDescription.isSelected = includeGitMojiDescriptionConfig
92- textAfterUnicode.selectedIndex =
93- when (textAfterUnicodeOptions.indexOf(textAfterUnicodeConfig)) {
94- - 1 -> if (textAfterUnicodeConfig.equals(" " )) 1 else 0
95- else -> textAfterUnicodeOptions.indexOf(textAfterUnicodeConfig)
96- }
92+ textAfterUnicode.selectedIndex = when (textAfterUnicodeOptions.indexOf(textAfterUnicodeConfig)) {
93+ - 1 -> if (textAfterUnicodeConfig.equals(" " )) 1 else 0
94+ else -> textAfterUnicodeOptions.indexOf(textAfterUnicodeConfig)
95+ }
9796 }
9897
9998 override fun createComponent (): JComponent = mainPanel
0 commit comments