Clear user baby stepping after new print leveling.
settings save on change removed redundant expand_thin_walls setting
This commit is contained in:
parent
19d22ce91d
commit
8d47359ad9
15 changed files with 92 additions and 136 deletions
|
|
@ -52,7 +52,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
public static RootedObjectEventHandler ActiveProfileModified = new RootedObjectEventHandler();
|
||||
public static RootedObjectEventHandler SettingChanged = new RootedObjectEventHandler();
|
||||
|
||||
private static PrinterSettings activeInstance = PrinterSettings.Empty;
|
||||
private static PrinterSettings activeInstance;
|
||||
public static PrinterSettings Instance
|
||||
{
|
||||
get
|
||||
|
|
@ -61,7 +61,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
set
|
||||
{
|
||||
if (activeInstance != value
|
||||
if (activeInstance != value
|
||||
&& value != null)
|
||||
{
|
||||
// If we have an active printer, run Disable
|
||||
|
|
@ -92,11 +92,28 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
}
|
||||
|
||||
static public void OnSettingsChanged(SliceSettingData settingData)
|
||||
{
|
||||
SettingChanged.CallEvents(null, new StringEventArgs(settingData.SlicerConfigName));
|
||||
public static List<SliceSettingData> SettingsData { get; private set; } = new List<SliceSettingData>();
|
||||
private static Dictionary<string, SliceSettingData> settingsByName;
|
||||
|
||||
if (settingData.ReloadUiWhenChanged)
|
||||
static ActiveSliceSettings()
|
||||
{
|
||||
string propertiesFileContents = StaticData.Instance.ReadAllText(Path.Combine("SliceSettings", "Properties.json"));
|
||||
SettingsData = JsonConvert.DeserializeObject<List<SliceSettingData>>(propertiesFileContents) as List<SliceSettingData>;
|
||||
|
||||
settingsByName = new Dictionary<string, SliceSettingData>();
|
||||
foreach (var settingsData in ActiveSliceSettings.SettingsData)
|
||||
{
|
||||
settingsByName.Add(settingsData.SlicerConfigName, settingsData);
|
||||
}
|
||||
activeInstance = PrinterSettings.Empty;
|
||||
}
|
||||
|
||||
public static void OnSettingChanged(string slicerConfigName)
|
||||
{
|
||||
SettingChanged.CallEvents(null, new StringEventArgs(slicerConfigName));
|
||||
|
||||
SliceSettingData settingsData;
|
||||
if (settingsByName.TryGetValue(slicerConfigName, out settingsData) && settingsData.ReloadUiWhenChanged)
|
||||
{
|
||||
UiThread.RunOnIdle(ApplicationController.Instance.ReloadAll);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -621,7 +621,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
keysToRetain.Remove(SettingsKey.print_leveling_enabled);
|
||||
|
||||
// Iterate all items that have .ShowAsOverride = false and conditionally add to the retention list
|
||||
foreach (var item in SliceSettingsOrganizer.Instance.SettingsData.Where(settingsItem => settingsItem.ShowAsOverride == false))
|
||||
foreach (var item in ActiveSliceSettings.SettingsData.Where(settingsItem => settingsItem.ShowAsOverride == false))
|
||||
{
|
||||
switch (item.SlicerConfigName)
|
||||
{
|
||||
|
|
@ -1070,6 +1070,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
// Otherwise, set and save
|
||||
persistenceLayer[settingsKey] = settingsValue;
|
||||
Save();
|
||||
|
||||
ActiveSliceSettings.OnSettingChanged(settingsKey);
|
||||
}
|
||||
|
||||
public string ToJson(Formatting formatting = Formatting.Indented)
|
||||
|
|
@ -1091,6 +1093,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
|
||||
Save();
|
||||
|
||||
ActiveSliceSettings.OnSettingChanged(settingsKey);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -281,8 +281,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
return printLevelingData;
|
||||
}
|
||||
|
||||
public void SetPrintLevelingData(PrintLevelingData data)
|
||||
public void SetPrintLevelingData(PrintLevelingData data, bool clearUserZOffset)
|
||||
{
|
||||
if (clearUserZOffset)
|
||||
{
|
||||
ActiveSliceSettings.Instance.SetValue(SettingsKey.baby_step_z_offset, "0");
|
||||
}
|
||||
printLevelingData = data;
|
||||
printerSettings.SetValue(SettingsKey.print_leveling_data, JsonConvert.SerializeObject(data));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -258,18 +258,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
// Ensure that activated or deactivated user overrides are always persisted to disk
|
||||
activeSettings.Save();
|
||||
|
||||
UiThread.RunOnIdle(() =>
|
||||
{
|
||||
ApplicationController.Instance.ReloadAdvancedControlsPanel();
|
||||
foreach (var keyName in PrinterSettings.KnownSettings)
|
||||
{
|
||||
if(settingBeforeChange[keyName] != ActiveSliceSettings.Instance.GetValue(keyName))
|
||||
{
|
||||
ActiveSliceSettings.OnSettingsChanged(SliceSettingsOrganizer.Instance.GetSettingsData(keyName));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
editButton.Enabled = item.Text != defaultMenuItemText;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -219,8 +219,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
set { userLevels = value; }
|
||||
}
|
||||
|
||||
public List<SliceSettingData> SettingsData { get; private set; } = new List<SliceSettingData>();
|
||||
|
||||
private static SliceSettingsOrganizer instance = null;
|
||||
|
||||
public static SliceSettingsOrganizer Instance
|
||||
|
|
@ -275,7 +273,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
public SliceSettingData GetSettingsData(string slicerConfigName)
|
||||
{
|
||||
foreach (SliceSettingData settingData in SettingsData)
|
||||
foreach (SliceSettingData settingData in ActiveSliceSettings.SettingsData)
|
||||
{
|
||||
if (settingData.SlicerConfigName == slicerConfigName)
|
||||
{
|
||||
|
|
@ -289,9 +287,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
private void LoadAndParseSettingsFiles()
|
||||
{
|
||||
string propertiesFileContents = StaticData.Instance.ReadAllText(Path.Combine("SliceSettings", "Properties.json"));
|
||||
SettingsData = JsonConvert.DeserializeObject<List<SliceSettingData>>(propertiesFileContents) as List<SliceSettingData>;
|
||||
|
||||
OrganizerUserLevel userLevelToAddTo = null;
|
||||
OrganizerCategory categoryToAddTo = null;
|
||||
OrganizerGroup groupToAddTo = null;
|
||||
|
|
@ -355,7 +350,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
if (defaultSettings == null)
|
||||
{
|
||||
var settingsDictionary = new Dictionary<string, string>();
|
||||
foreach (var sliceSettingsData in this.SettingsData)
|
||||
foreach (var sliceSettingsData in ActiveSliceSettings.SettingsData)
|
||||
{
|
||||
settingsDictionary[sliceSettingsData.SlicerConfigName] = sliceSettingsData.DefaultValue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -863,8 +863,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
{
|
||||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, ((NumberEdit)sender).Value.ToString(), persistenceLayer);
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
|
||||
content.AddChild(intEditWidget);
|
||||
|
|
@ -900,8 +898,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
{
|
||||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, ((NumberEdit)sender).Value.ToString(), persistenceLayer);
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
dataArea.AddChild(doubleEditWidget);
|
||||
unitsArea.AddChild(GetExtraSettingsWidget(settingData));
|
||||
|
|
@ -975,7 +971,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
// also always save to the local setting
|
||||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, numberEdit.Value.ToString(), persistenceLayer);
|
||||
settingsRow.UpdateStyle();
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
content.AddChild(doubleEditWidget);
|
||||
unitsArea.AddChild(GetExtraSettingsWidget(settingData));
|
||||
|
|
@ -1012,7 +1007,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
{
|
||||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, ((NumberEdit)sender).Value.ToString(), persistenceLayer);
|
||||
settingsRow.UpdateStyle();
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
dataArea.AddChild(doubleEditWidget);
|
||||
unitsArea.AddChild(GetExtraSettingsWidget(settingData));
|
||||
|
|
@ -1055,8 +1049,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
textEditWidget.Text = text;
|
||||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, textEditWidget.Text, persistenceLayer);
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
|
||||
stringEdit.ActualTextEditWidget.InternalTextEditWidget.AllSelected += (sender, e) =>
|
||||
|
|
@ -1130,7 +1122,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, textEditWidget.Text, persistenceLayer);
|
||||
settingsRow.UpdateStyle();
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
|
||||
// make sure we are still looking for the final validation before saving.
|
||||
if (textEditWidget.ContainsFocus)
|
||||
|
|
@ -1200,8 +1191,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
}
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
|
||||
dataArea.AddChild(checkBoxWidget);
|
||||
|
|
@ -1225,8 +1214,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
{
|
||||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, ((TextEditWidget)sender).Text, persistenceLayer);
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
|
||||
dataArea.AddChild(stringEdit);
|
||||
|
|
@ -1252,8 +1239,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
{
|
||||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, ((TextEditWidget)sender).Text.Replace("\n", "\\n"), persistenceLayer);
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
|
||||
nameArea.HAnchor = HAnchor.AbsolutePosition;
|
||||
|
|
@ -1323,8 +1308,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, menuItem.Text, persistenceLayer);
|
||||
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -1354,8 +1337,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, isChecked ? "1" : "0", persistenceLayer);
|
||||
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
|
||||
dataArea.AddChild(checkBoxWidget);
|
||||
|
|
@ -1399,8 +1380,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, xEditWidget.ActuallNumberEdit.Value.ToString() + "," + yEditWidget.ActuallNumberEdit.Value.ToString(), persistenceLayer);
|
||||
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
dataArea.AddChild(xEditWidget);
|
||||
dataArea.AddChild(new TextWidget("X", pointSize: 10, textColor: ActiveTheme.Instance.PrimaryTextColor)
|
||||
|
|
@ -1414,8 +1393,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, xEditWidget.ActuallNumberEdit.Value.ToString() + "," + yEditWidget.ActuallNumberEdit.Value.ToString(), persistenceLayer);
|
||||
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
dataArea.AddChild(yEditWidget);
|
||||
var yLabel = new GuiWidget(HAnchor.ParentLeftRight, VAnchor.FitToChildren | VAnchor.ParentCenter)
|
||||
|
|
@ -1468,8 +1445,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
SaveCommaSeparatedIndexSetting(extruderIndexLocal, layerCascade, settingData.SlicerConfigName, xEditWidget.ActuallNumberEdit.Value.ToString() + "x" + yEditWidget.ActuallNumberEdit.Value.ToString(), persistenceLayer);
|
||||
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
dataArea.AddChild(xEditWidget);
|
||||
dataArea.AddChild(new TextWidget("X", pointSize: 10, textColor: ActiveTheme.Instance.PrimaryTextColor)
|
||||
|
|
@ -1484,8 +1459,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
SaveCommaSeparatedIndexSetting(extruderIndexLocal, layerCascade, settingData.SlicerConfigName, xEditWidget.ActuallNumberEdit.Value.ToString() + "x" + yEditWidget.ActuallNumberEdit.Value.ToString(), persistenceLayer);
|
||||
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
dataArea.AddChild(yEditWidget);
|
||||
var yLabel = new GuiWidget(HAnchor.ParentLeftRight, VAnchor.FitToChildren | VAnchor.ParentCenter)
|
||||
|
|
@ -1540,7 +1513,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
|
||||
settingsRow.RefreshValue(layerCascade);
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
|
||||
restoreArea.AddChild(restoreButton);
|
||||
|
|
@ -1626,8 +1598,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
}
|
||||
|
||||
settingsRow.UpdateStyle();
|
||||
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -1665,7 +1635,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
newItem.Selected += (sender, e) =>
|
||||
{
|
||||
ActiveSliceSettings.Instance.SetValue(settingData.SlicerConfigName, valueLocal, persistenceLayer);
|
||||
ActiveSliceSettings.OnSettingsChanged(settingData);
|
||||
internalTextWidget.Text = valueLocal;
|
||||
internalTextWidget.OnEditComplete(null);
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue