IDEA-129296 Settings in Code Style are not saved on changing

This commit is contained in:
Sergey Malenkov
2014-09-22 21:04:13 +04:00
parent 02ffec6108
commit 60b420c3d1
2 changed files with 13 additions and 6 deletions
@@ -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);
@@ -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);