Another pass at scene settings
This commit is contained in:
parent
007d9a49b3
commit
315e343007
2 changed files with 15 additions and 9 deletions
|
|
@ -92,10 +92,9 @@ namespace MatterHackers.MatterControl
|
||||||
{
|
{
|
||||||
var undoBuffer = scene.UndoBuffer;
|
var undoBuffer = scene.UndoBuffer;
|
||||||
|
|
||||||
if (scene.Children.Count == 0
|
if (undoBuffer != null
|
||||||
|| (undoBuffer != null
|
|
||||||
&& undoBufferHashCode == undoBuffer.GetLongHashCode()
|
&& undoBufferHashCode == undoBuffer.GetLongHashCode()
|
||||||
&& sceneChildrenCount == scene.Children.Count))
|
&& sceneChildrenCount == scene.Children.Count)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -128,7 +127,8 @@ namespace MatterHackers.MatterControl
|
||||||
// if they are different
|
// if they are different
|
||||||
if (!same)
|
if (!same)
|
||||||
{
|
{
|
||||||
var settingsToRevert = new PrinterSettingsLayer();
|
var settingsToUpdate = new HashSet<string>();
|
||||||
|
var settingsToRevert = new PrinterSettingsLayer();
|
||||||
var settingsToSet = new PrinterSettingsLayer();
|
var settingsToSet = new PrinterSettingsLayer();
|
||||||
|
|
||||||
foreach (var kvp in sceneOverrides)
|
foreach (var kvp in sceneOverrides)
|
||||||
|
|
@ -137,6 +137,7 @@ namespace MatterHackers.MatterControl
|
||||||
{
|
{
|
||||||
settingsToRevert[kvp.Key] = kvp.Value;
|
settingsToRevert[kvp.Key] = kvp.Value;
|
||||||
}
|
}
|
||||||
|
settingsToUpdate.Add(kvp.Key);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (var kvp in newSceneOverrides)
|
foreach (var kvp in newSceneOverrides)
|
||||||
|
|
@ -145,16 +146,21 @@ namespace MatterHackers.MatterControl
|
||||||
{
|
{
|
||||||
settingsToSet[kvp.Key] = newSceneOverrides[kvp.Key];
|
settingsToSet[kvp.Key] = newSceneOverrides[kvp.Key];
|
||||||
}
|
}
|
||||||
|
settingsToUpdate.Add(kvp.Key);
|
||||||
}
|
}
|
||||||
|
|
||||||
// store that current set
|
// store that current set
|
||||||
sceneOverrides = newSceneOverrides;
|
var storeSceneOverrides = new PrinterSettingsLayer();
|
||||||
|
ProfileManager.SaveOnSingleSettingChange = false;
|
||||||
ProfileManager.SaveOnSingleSettingChange = false;
|
|
||||||
Settings.RestoreConflictingUserOverrides(settingsToRevert);
|
Settings.RestoreConflictingUserOverrides(settingsToRevert);
|
||||||
foreach(var setting in newSceneOverrides)
|
foreach(var setting in newSceneOverrides)
|
||||||
{
|
{
|
||||||
Settings.SetValue(setting.Key, setting.Value, sceneOverrides);
|
Settings.SetValue(setting.Key, setting.Value, storeSceneOverrides);
|
||||||
|
}
|
||||||
|
sceneOverrides = storeSceneOverrides;
|
||||||
|
foreach (var setting in settingsToUpdate)
|
||||||
|
{
|
||||||
|
Settings.OnSettingChanged(setting);
|
||||||
}
|
}
|
||||||
ProfileManager.SaveOnSingleSettingChange = true;
|
ProfileManager.SaveOnSingleSettingChange = true;
|
||||||
ApplicationController.Instance.UpdateAllSettingsStyles(this);
|
ApplicationController.Instance.UpdateAllSettingsStyles(this);
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
Subproject commit 3cebfe80cc0dbf687e6f2abb19a26538b77dcecf
|
Subproject commit 8dd82c825266791e6d51461bdf4de83df238dc6e
|
||||||
Loading…
Add table
Add a link
Reference in a new issue