Update actions on configuration change

This commit is contained in:
Matthias Gugel 2020-12-13 02:28:11 +01:00
parent e6d25f4fa0
commit f0a683a6dc
2 changed files with 13 additions and 0 deletions

View File

@ -10,10 +10,20 @@ import de.idetools.filename_template.settings.FilenameTemplateSettingsState
class InitializeFilenameTemplateActivity : StartupActivity { class InitializeFilenameTemplateActivity : StartupActivity {
override fun runActivity(project: Project) { override fun runActivity(project: Project) {
initializeActions()
}
internal fun initializeActions() {
val settings: FilenameTemplateSettingsState = FilenameTemplateSettingsState.instance val settings: FilenameTemplateSettingsState = FilenameTemplateSettingsState.instance
val actionManager = ActionManager.getInstance() val actionManager = ActionManager.getInstance()
val newGroup = actionManager.getAction("NewGroup") as DefaultActionGroup val newGroup = actionManager.getAction("NewGroup") as DefaultActionGroup
actionManager.getActionIds("FilenameTemplate").forEach {
newGroup.remove(actionManager.getAction(it))
actionManager.unregisterAction(it)
}
val anchorId = "NewFile" val anchorId = "NewFile"
val action = CreateFileWithFilenameTemplateAction(settings.text, settings.description, settings.template) val action = CreateFileWithFilenameTemplateAction(settings.text, settings.description, settings.template)
val actionId = "FilenameTemplate.${settings.text}" val actionId = "FilenameTemplate.${settings.text}"

View File

@ -2,6 +2,7 @@ package de.idetools.filename_template.settings
import com.intellij.openapi.options.Configurable import com.intellij.openapi.options.Configurable
import com.intellij.openapi.options.ConfigurationException import com.intellij.openapi.options.ConfigurationException
import de.idetools.filename_template.InitializeFilenameTemplateActivity
import org.jetbrains.annotations.Nls import org.jetbrains.annotations.Nls
import javax.swing.JComponent import javax.swing.JComponent
@ -31,6 +32,8 @@ class FilenameTemplateConfigurable : Configurable {
settings.text = component.text settings.text = component.text
settings.description = component.description settings.description = component.description
settings.template = component.template settings.template = component.template
InitializeFilenameTemplateActivity().initializeActions()
} }
override fun reset() { override fun reset() {