Skip to content
This repository was archived by the owner on Oct 16, 2020. It is now read-only.

Commit bedbae8

Browse files
committed
Some improvements to formatting options fix.
1 parent 86150a4 commit bedbae8

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

src/AddIns/BackendBindings/CSharpBinding/Project/Src/FormattingStrategy/CSharpFormattingOptionsContainer.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,6 @@ private void HandlePropertyChanged(object sender, PropertyChangedEventArgs e)
127127
if ((e.PropertyName == "Parent") || (e.PropertyName == null)) {
128128
// All properties might have changed -> update everything
129129
cachedOptions = CreateCachedOptions();
130-
// OnPropertyChanged(e.PropertyName);
131130
} else {
132131
// Some other property has changed, check if we have our own value for it
133132
if (!activeOptions.Contains(e.PropertyName)) {
@@ -136,7 +135,6 @@ private void HandlePropertyChanged(object sender, PropertyChangedEventArgs e)
136135
if (propertyInfo != null) {
137136
var val = GetEffectiveOption(e.PropertyName);
138137
propertyInfo.SetValue(cachedOptions, val);
139-
// OnPropertyChanged(e.PropertyName);
140138
}
141139
}
142140
}

src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/CSharpFormattingOptionPanel.xaml.cs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -82,17 +82,19 @@ public override void LoadOptions()
8282
{
8383
base.LoadOptions();
8484
formattingEditor.OptionsContainer = persistenceHelper.StartEditing();
85-
formattingEditor.OptionsContainer.PropertyChanged += (sender, e) => isDirty = true;
85+
formattingEditor.OptionsContainer.PropertyChanged += ContainerPropertyChanged;
86+
}
87+
88+
void ContainerPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
89+
{
90+
isDirty = true;
8691
}
8792

8893
public override bool SaveOptions()
8994
{
90-
if (isDirty) {
91-
return persistenceHelper.Save() && base.SaveOptions();
92-
} else {
93-
// Nothing has been changed here, return without action
94-
return true;
95-
}
95+
// Only save container, if some option really has changed
96+
formattingEditor.OptionsContainer.PropertyChanged -= ContainerPropertyChanged;
97+
return (!isDirty || persistenceHelper.Save()) && base.SaveOptions();
9698
}
9799
}
98100
}

src/Main/Core/Project/Src/Services/PropertyService/Properties.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ public Properties NestedProperties(string key)
430430
if (result == null) {
431431
result = new Properties(this);
432432
dict[key] = result;
433-
isNewContainer = true;
433+
result.MakeDirty();
434434
}
435435
}
436436
if (isNewContainer)

0 commit comments

Comments
 (0)