diff --git a/DataStorage/Classic/ClassicSqlitePrinterProfiles.cs b/DataStorage/Classic/ClassicSqlitePrinterProfiles.cs index 811dc085a..f97cc2324 100644 --- a/DataStorage/Classic/ClassicSqlitePrinterProfiles.cs +++ b/DataStorage/Classic/ClassicSqlitePrinterProfiles.cs @@ -81,8 +81,7 @@ namespace MatterHackers.MatterControl.DataStorage.ClassicDB profileData.Profiles.Add(printerInfo); var layeredProfile = new PrinterSettings( - new OemProfile(LoadOemLayer(printer)), - SliceSettingsOrganizer.Instance.GetDefaultSettings()); + new OemProfile(LoadOemLayer(printer))); LoadQualitySettings(layeredProfile, printer); LoadMaterialSettings(layeredProfile, printer); diff --git a/SlicerConfiguration/Settings/LayeredProfile.cs b/SlicerConfiguration/Settings/LayeredProfile.cs index 4b18e093c..c10754bcd 100644 --- a/SlicerConfiguration/Settings/LayeredProfile.cs +++ b/SlicerConfiguration/Settings/LayeredProfile.cs @@ -55,10 +55,9 @@ namespace MatterHackers.MatterControl.SlicerConfiguration [JsonIgnore] internal PrinterSettingsLayer MaterialLayer { get; private set; } - public PrinterSettings(OemProfile printerProfile, PrinterSettingsLayer baseConfig) + public PrinterSettings(OemProfile printerProfile) { this.OemProfile = printerProfile; - this.BaseLayer = baseConfig; } public List Macros { get; set; } = new List(); @@ -245,7 +244,15 @@ namespace MatterHackers.MatterControl.SlicerConfiguration return ""; } - public PrinterSettingsLayer BaseLayer { get; set; } + static PrinterSettingsLayer baseLayerCache = SliceSettingsOrganizer.Instance.GetDefaultSettings(); + [JsonIgnore] + public PrinterSettingsLayer BaseLayer + { + get + { + return baseLayerCache; + } + } private IEnumerable defaultLayerCascade { diff --git a/SlicerConfiguration/Settings/ProfileManager.cs b/SlicerConfiguration/Settings/ProfileManager.cs index 07c52e660..74d822a08 100644 --- a/SlicerConfiguration/Settings/ProfileManager.cs +++ b/SlicerConfiguration/Settings/ProfileManager.cs @@ -117,10 +117,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration public static SettingsProfile LoadEmptyProfile() { - var empytProfile = new SettingsProfile( - new PrinterSettings( - new OemProfile(), - SliceSettingsOrganizer.Instance.GetDefaultSettings())); + var empytProfile = new SettingsProfile(new PrinterSettings(new OemProfile())); empytProfile.SetActiveValue(SettingsKey.printer_name.ToString(), "Printers...".Localize()); @@ -186,9 +183,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration var settingsToImport = PrinterSettingsLayer.LoadFromIni(settingsFilePath); var oemProfile = new OemProfile(settingsToImport); - PrinterSettingsLayer baseConfig = SliceSettingsOrganizer.Instance.GetDefaultSettings(); - var layeredProfile = new PrinterSettings(oemProfile, baseConfig) + var layeredProfile = new PrinterSettings(oemProfile) { ID = printerInfo.ID, }; @@ -211,9 +207,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration string guid = Guid.NewGuid().ToString(); OemProfile printerProfile = LoadHttpOemProfile(make, model); - PrinterSettingsLayer baseConfig = SliceSettingsOrganizer.Instance.GetDefaultSettings(); - var layeredProfile = new PrinterSettings(printerProfile, baseConfig) + var layeredProfile = new PrinterSettings(printerProfile) { ID = guid, // TODO: This should really be set by the system that generates the source documents diff --git a/Tests/MatterControl.Tests/MatterControl/ConfigIniTests.cs b/Tests/MatterControl.Tests/MatterControl/ConfigIniTests.cs index 8567e4255..a44e7fc72 100644 --- a/Tests/MatterControl.Tests/MatterControl/ConfigIniTests.cs +++ b/Tests/MatterControl.Tests/MatterControl/ConfigIniTests.cs @@ -33,7 +33,7 @@ namespace MatterControl.Tests.MatterControl RelativeFilePath = configIni.FullName.Substring(printerSettingsDirectory.Length + 1), // The config.ini layer cascade contains only itself - LayerCascade = new PrinterSettings(oemProfile, new PrinterSettingsLayer()), + LayerCascade = new PrinterSettings(oemProfile), }, MatterialLayers = LoadLayers(Path.Combine(configIni.Directory.FullName, "material"), oemProfile), QualityLayers = LoadLayers(Path.Combine(configIni.Directory.FullName, "quality"), oemProfile) @@ -47,7 +47,7 @@ namespace MatterControl.Tests.MatterControl Directory.GetFiles(layersDirectory, "*.slice").Select(file => new LayerInfo() { RelativeFilePath = file.Substring(printerSettingsDirectory.Length + 1), - LayerCascade = new PrinterSettings(new OemProfile(PrinterSettingsLayer.LoadFromIni(file)), oemProfile.OemLayer) + LayerCascade = new PrinterSettings(new OemProfile(PrinterSettingsLayer.LoadFromIni(file))) }).ToList() : new List(); }