From f0a683a6dc4446d56ded5d669a6e68bfb1ef0fab Mon Sep 17 00:00:00 2001 From: Matthias Gugel Date: Sun, 13 Dec 2020 02:28:11 +0100 Subject: [PATCH] Update actions on configuration change --- .../InitializeFilenameTemplateActivity.kt | 10 ++++++++++ .../settings/FilenameTemplateConfigurable.kt | 3 +++ 2 files changed, 13 insertions(+) diff --git a/src/main/kotlin/de/idetools/filename_template/InitializeFilenameTemplateActivity.kt b/src/main/kotlin/de/idetools/filename_template/InitializeFilenameTemplateActivity.kt index 0745cda..c3ed913 100644 --- a/src/main/kotlin/de/idetools/filename_template/InitializeFilenameTemplateActivity.kt +++ b/src/main/kotlin/de/idetools/filename_template/InitializeFilenameTemplateActivity.kt @@ -10,10 +10,20 @@ import de.idetools.filename_template.settings.FilenameTemplateSettingsState class InitializeFilenameTemplateActivity : StartupActivity { override fun runActivity(project: Project) { + initializeActions() + } + + internal fun initializeActions() { val settings: FilenameTemplateSettingsState = FilenameTemplateSettingsState.instance val actionManager = ActionManager.getInstance() val newGroup = actionManager.getAction("NewGroup") as DefaultActionGroup + + actionManager.getActionIds("FilenameTemplate").forEach { + newGroup.remove(actionManager.getAction(it)) + actionManager.unregisterAction(it) + } + val anchorId = "NewFile" val action = CreateFileWithFilenameTemplateAction(settings.text, settings.description, settings.template) val actionId = "FilenameTemplate.${settings.text}" diff --git a/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateConfigurable.kt b/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateConfigurable.kt index 858f99c..c7b4492 100644 --- a/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateConfigurable.kt +++ b/src/main/kotlin/de/idetools/filename_template/settings/FilenameTemplateConfigurable.kt @@ -2,6 +2,7 @@ package de.idetools.filename_template.settings import com.intellij.openapi.options.Configurable import com.intellij.openapi.options.ConfigurationException +import de.idetools.filename_template.InitializeFilenameTemplateActivity import org.jetbrains.annotations.Nls import javax.swing.JComponent @@ -31,6 +32,8 @@ class FilenameTemplateConfigurable : Configurable { settings.text = component.text settings.description = component.description settings.template = component.template + + InitializeFilenameTemplateActivity().initializeActions() } override fun reset() {