Move settings dictionary into PrinterSettings
This commit is contained in:
parent
d52feb58e4
commit
b327b95e4a
12 changed files with 27 additions and 31 deletions
|
|
@ -56,6 +56,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
// Year|month|day|versionForDay (to support multiple revisions on a given day)
|
||||
public static int LatestVersion { get; } = 201606271;
|
||||
|
||||
public static Dictionary<string, SliceSettingData> SettingsData { get; }
|
||||
|
||||
public static event EventHandler<StringEventArgs> AnyPrinterSettingChanged;
|
||||
|
||||
public event EventHandler<StringEventArgs> SettingChanged;
|
||||
|
|
@ -91,9 +93,17 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
public PrinterSettingsLayer StagedUserSettings { get; set; } = new PrinterSettingsLayer();
|
||||
|
||||
|
||||
static PrinterSettings()
|
||||
{
|
||||
string propertiesFileContents = AggContext.StaticData.ReadAllText(Path.Combine("SliceSettings", "Properties.json"));
|
||||
var propertiesJsonData = JsonConvert.DeserializeObject<List<SliceSettingData>>(propertiesFileContents);
|
||||
|
||||
SettingsData = new Dictionary<string, SliceSettingData>();
|
||||
foreach (var settingsData in propertiesJsonData)
|
||||
{
|
||||
SettingsData.Add(settingsData.SlicerConfigName, settingsData);
|
||||
}
|
||||
|
||||
Empty = new PrinterSettings() { ID = "EmptyProfile" };
|
||||
Empty.UserLayer[SettingsKey.printer_name] = "Empty Printer";
|
||||
}
|
||||
|
|
@ -650,7 +660,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 SettingsOrganizer.SettingsData.Values.Where(settingsItem => settingsItem.ShowAsOverride == false))
|
||||
foreach (var item in PrinterSettings.SettingsData.Values.Where(settingsItem => settingsItem.ShowAsOverride == false))
|
||||
{
|
||||
switch (item.SlicerConfigName)
|
||||
{
|
||||
|
|
@ -855,7 +865,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
foreach (var keyValue in this.BaseLayer)
|
||||
{
|
||||
// Add key/value to accumulating string for hash
|
||||
SliceSettingData data = SettingsOrganizer.SettingsData[keyValue.Key];
|
||||
SliceSettingData data = PrinterSettings.SettingsData[keyValue.Key];
|
||||
if (data?.RebuildGCodeOnChange == true)
|
||||
{
|
||||
bigStringForHashCode.Append(keyValue.Key);
|
||||
|
|
@ -940,7 +950,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
RestoreUserOverride(layer, settingsKey);
|
||||
}
|
||||
|
||||
if (SettingsOrganizer.SettingsData.TryGetValue(settingsKey, out SliceSettingData settingData))
|
||||
if (PrinterSettings.SettingsData.TryGetValue(settingsKey, out SliceSettingData settingData))
|
||||
{
|
||||
if (settingData.DataEditType == SliceSettingData.DataEditTypes.CHECK_BOX)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -45,20 +45,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
private static SettingsOrganizer instance = null;
|
||||
|
||||
public static Dictionary<string, SliceSettingData> SettingsData { get; }
|
||||
|
||||
static SettingsOrganizer()
|
||||
{
|
||||
string propertiesFileContents = AggContext.StaticData.ReadAllText(Path.Combine("SliceSettings", "Properties.json"));
|
||||
var propertiesJsonData = JsonConvert.DeserializeObject<List<SliceSettingData>>(propertiesFileContents);
|
||||
|
||||
SettingsData = new Dictionary<string, SliceSettingData>();
|
||||
foreach (var settingsData in propertiesJsonData)
|
||||
{
|
||||
SettingsData.Add(settingsData.SlicerConfigName, settingsData);
|
||||
}
|
||||
}
|
||||
|
||||
public static SettingsOrganizer Instance
|
||||
{
|
||||
get
|
||||
|
|
@ -122,7 +108,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
break;
|
||||
|
||||
case 8:
|
||||
if (SettingsData.TryGetValue(sanitizedLine, out SliceSettingData data))
|
||||
if (PrinterSettings.SettingsData.TryGetValue(sanitizedLine, out SliceSettingData data))
|
||||
{
|
||||
subGroupToAddTo.Settings.Add(data);
|
||||
data.OrganizerSubGroup = subGroupToAddTo;
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
int tabIndex = 0;
|
||||
var settingsContext = new SettingsContext(printer, null, NamedSettingsLayers.All);
|
||||
|
||||
var settingsData = SettingsOrganizer.SettingsData[SettingsKey.bed_temperature];
|
||||
var settingsData = PrinterSettings.SettingsData[SettingsKey.bed_temperature];
|
||||
var temperatureRow = SliceSettingsTabView.CreateItemRow(settingsData, settingsContext, printer, menuTheme, ref tabIndex, allUiFields);
|
||||
container.AddChild(temperatureRow);
|
||||
|
||||
|
|
|
|||
|
|
@ -271,7 +271,7 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
var settingsContext = new SettingsContext(printer, null, NamedSettingsLayers.All);
|
||||
|
||||
// TODO: Add guards around computed settings key to handle invalid/missing keys
|
||||
var settingsData = SettingsOrganizer.SettingsData[TemperatureKey];
|
||||
var settingsData = PrinterSettings.SettingsData[TemperatureKey];
|
||||
var temperatureRow = SliceSettingsTabView.CreateItemRow(settingsData, settingsContext, printer, menuTheme, ref tabIndex, allUiFields);
|
||||
container.AddChild(temperatureRow);
|
||||
|
||||
|
|
|
|||
|
|
@ -265,7 +265,7 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
bool valueIsClear = currentValue == "0" | currentValue == "";
|
||||
|
||||
SliceSettingData data = SettingsOrganizer.SettingsData[keyValue.Key];
|
||||
SliceSettingData data = PrinterSettings.SettingsData[keyValue.Key];
|
||||
if (data?.ResetAtEndOfPrint == true && !valueIsClear)
|
||||
{
|
||||
this.Settings.ClearValue(keyValue.Key);
|
||||
|
|
@ -372,7 +372,7 @@ namespace MatterHackers.MatterControl
|
|||
if (stringEvent != null)
|
||||
{
|
||||
// Fire ReloadAll if changed setting marked with ReloadUiWhenChanged
|
||||
if (SettingsOrganizer.SettingsData.TryGetValue(stringEvent.Data, out SliceSettingData settingsData)
|
||||
if (PrinterSettings.SettingsData.TryGetValue(stringEvent.Data, out SliceSettingData settingsData)
|
||||
&& settingsData.ReloadUiWhenChanged)
|
||||
{
|
||||
UiThread.RunOnIdle(() =>
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
private static string GetSettingsName(string settingsKey)
|
||||
{
|
||||
var settingData = SettingsOrganizer.SettingsData[settingsKey];
|
||||
var settingData = PrinterSettings.SettingsData[settingsKey];
|
||||
return settingData.PresentationName.Localize();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ namespace MatterHackers.MatterControl
|
|||
|
||||
private static string SettingsLocation(string settingsKey)
|
||||
{
|
||||
var settingData = SettingsOrganizer.SettingsData[settingsKey];
|
||||
var settingData = PrinterSettings.SettingsData[settingsKey];
|
||||
var setingsSectionName = settingData.OrganizerSubGroup.Group.Category.SettingsSection.Name;
|
||||
|
||||
if (setingsSectionName == "Advanced")
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
|
||||
foreach (var key in new[] { SettingsKey.layer_height, SettingsKey.fill_density, SettingsKey.create_raft })
|
||||
{
|
||||
var settingsData = SettingsOrganizer.SettingsData[key];
|
||||
var settingsData = PrinterSettings.SettingsData[key];
|
||||
var row = SliceSettingsTabView.CreateItemRow(settingsData, settingsContext, printer, menuTheme, ref tabIndex, allUiFields);
|
||||
|
||||
if (row is SliceSettingsRow settingsRow)
|
||||
|
|
@ -130,7 +130,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
|||
foreach (var key in new[] { SettingsKey.spiral_vase, SettingsKey.layer_to_pause })
|
||||
{
|
||||
var advancedRow = SliceSettingsTabView.CreateItemRow(
|
||||
SettingsOrganizer.SettingsData[key],
|
||||
PrinterSettings.SettingsData[key],
|
||||
settingsContext,
|
||||
printer,
|
||||
menuTheme,
|
||||
|
|
|
|||
|
|
@ -339,7 +339,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
};
|
||||
|
||||
if (settingValue.Contains("%")
|
||||
&& SettingsOrganizer.SettingsData.TryGetValue(percentReference.ReferencedSetting, out SliceSettingData referencedSettingData))
|
||||
&& PrinterSettings.SettingsData.TryGetValue(percentReference.ReferencedSetting, out SliceSettingData referencedSettingData))
|
||||
{
|
||||
column.AddChild(
|
||||
new TextWidget(
|
||||
|
|
|
|||
|
|
@ -396,7 +396,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
|
|||
|
||||
if (toggleSwitchSectionKeys.TryGetValue(group.Name, out string toggleFieldKey))
|
||||
{
|
||||
var settingData = SettingsOrganizer.SettingsData[toggleFieldKey];
|
||||
var settingData = PrinterSettings.SettingsData[toggleFieldKey];
|
||||
uiField = CreateToggleFieldForSection(settingData);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -417,7 +417,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
|
||||
private static void SetCheckBoxSetting(AutomationRunner testRunner, PrinterConfig printer, string settingToChange, bool valueToSet)
|
||||
{
|
||||
var settingsData = SettingsOrganizer.SettingsData[settingToChange];
|
||||
var settingsData = PrinterSettings.SettingsData[settingToChange];
|
||||
string checkBoxName = $"{settingsData.PresentationName} Field";
|
||||
|
||||
Assert.IsTrue(printer.Settings.GetValue<bool>(settingToChange) != valueToSet);
|
||||
|
|
|
|||
|
|
@ -1036,7 +1036,7 @@ namespace MatterHackers.MatterControl.Tests.Automation
|
|||
|
||||
public static SliceSettingData NavigateToSliceSettingsField(this AutomationRunner testRunner, SettingsOrganizer.SettingsSection rootLevel, string slicerConfigName)
|
||||
{
|
||||
var settingData = SettingsOrganizer.SettingsData[slicerConfigName];
|
||||
var settingData = PrinterSettings.SettingsData[slicerConfigName];
|
||||
|
||||
var subGroup = settingData.OrganizerSubGroup;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue