From 60b420c3d12f141e2f3a5c68688d5c0b7380db6c Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Mon, 22 Sep 2014 21:00:14 +0400 Subject: [PATCH] IDEA-129296 Settings in Code Style are not saved on changing --- .../openapi/options/ex/ConfigurableWrapper.java | 12 ++++++++++++ .../openapi/options/newEditor/OptionsEditor.java | 7 +------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/options/ex/ConfigurableWrapper.java b/platform/platform-impl/src/com/intellij/openapi/options/ex/ConfigurableWrapper.java index dd8169e159a7..fbb33a8648bc 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/ex/ConfigurableWrapper.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/ex/ConfigurableWrapper.java @@ -81,6 +81,18 @@ public class ConfigurableWrapper implements SearchableConfigurable { (configurable instanceof ConfigurableWrapper && ((ConfigurableWrapper)configurable).getConfigurable() instanceof NoScroll); } + public static boolean hasOwnContent(UnnamedConfigurable configurable) { + if (configurable instanceof ConfigurableWrapper) { + ConfigurableWrapper wrapper = (ConfigurableWrapper)configurable; + configurable = wrapper.getConfigurable(); + } + if (configurable instanceof SearchableConfigurable.Parent) { + SearchableConfigurable.Parent parent = (SearchableConfigurable.Parent)configurable; + return parent.hasOwnContent(); + } + return false; + } + public static boolean isNonDefaultProject(Configurable configurable) { return configurable instanceof NonDefaultProjectConfigurable || (configurable instanceof ConfigurableWrapper && ((ConfigurableWrapper)configurable).myEp.nonDefaultProject); diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java index a6e656966ac6..3a8c6c9aa62f 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/OptionsEditor.java @@ -586,7 +586,7 @@ public class OptionsEditor extends JPanel implements DataProvider, Place.Navigat private void fireModificationForItem(final Configurable configurable) { if (configurable != null) { - if (!myConfigurable2Content.containsKey(configurable) && isParentWithContent(configurable)) { + if (!myConfigurable2Content.containsKey(configurable) && ConfigurableWrapper.hasOwnContent(configurable)) { ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { @Override @@ -613,11 +613,6 @@ public class OptionsEditor extends JPanel implements DataProvider, Place.Navigat } } - private static boolean isParentWithContent(final Configurable configurable) { - return configurable instanceof SearchableConfigurable.Parent && - ((SearchableConfigurable.Parent)configurable).hasOwnContent(); - } - private void fireModificationInt(final Configurable configurable) { if (configurable.isModified()) { getContext().fireModifiedAdded(configurable, null);