From 995a5a09c28d73f1b378aeb3cd97e3c768feebe1 Mon Sep 17 00:00:00 2001 From: "Alexander.Kirsanov" Date: Thu, 19 Apr 2018 01:02:39 +0300 Subject: [PATCH] Ability to listen changes to settings in pojo fields made from UI. RIDER-IC-CR-52 --- .../editor/CodeFoldingConfigurable.java | 1 + .../editor/EditorAppearanceConfigurable.java | 2 ++ .../options/editor/EditorOptionsListener.java | 20 +++++++++++++++++++ .../options/editor/EditorOptionsPanel.java | 1 + .../editor/EditorSmartKeysConfigurable.java | 2 ++ .../editor/GutterIconsConfigurable.java | 8 +++----- 6 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsListener.java diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/CodeFoldingConfigurable.java b/platform/lang-impl/src/com/intellij/application/options/editor/CodeFoldingConfigurable.java index 748e77a52eb9..3a050208edee 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/CodeFoldingConfigurable.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/CodeFoldingConfigurable.java @@ -70,6 +70,7 @@ public class CodeFoldingConfigurable extends CompositeConfigurable FOLDING_CONFIGURABLE_TOPIC = Topic.create("CodeFoldingConfigurable changes applied", EditorOptionsListener.class); + Topic APPEARANCE_CONFIGURABLE_TOPIC = Topic.create("EditorAppearanceConfigurable changes applied", EditorOptionsListener.class); + Topic OPTIONS_PANEL_TOPIC = Topic.create("EditorOptionsPanel changes applied", EditorOptionsListener.class); + Topic SMART_KEYS_CONFIGURABLE_TOPIC = Topic.create("EditorSmartKeysConfigurable changes applied", EditorOptionsListener.class); + Topic GUTTER_ICONS_CONFIGURABLE_TOPIC = Topic.create("GutterIconsConfigurable changes applied", EditorOptionsListener.class); + + void changesApplied(); +} diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsPanel.java b/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsPanel.java index f18f6d359e40..ede87ebf3e4e 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsPanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorOptionsPanel.java @@ -366,6 +366,7 @@ public class EditorOptionsPanel implements SearchableConfigurable { } restartDaemons(); + ApplicationManager.getApplication().getMessageBus().syncPublisher(EditorOptionsListener.OPTIONS_PANEL_TOPIC).changesApplied(); } private int getQuickDocDelayFromGui() { diff --git a/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysConfigurable.java b/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysConfigurable.java index d5e031be92f5..f05e9684774d 100644 --- a/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysConfigurable.java +++ b/platform/lang-impl/src/com/intellij/application/options/editor/EditorSmartKeysConfigurable.java @@ -9,6 +9,7 @@ import com.intellij.lang.Commenter; import com.intellij.lang.Language; import com.intellij.lang.LanguageCommenters; import com.intellij.openapi.application.ApplicationBundle; +import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.ex.EditorSettingsExternalizable; import com.intellij.openapi.extensions.ExtensionPointName; @@ -209,6 +210,7 @@ public class EditorSmartKeysConfigurable extends CompositeConfigurable