From a0940eaa71c14640ad9e37ac32fe04c022b36d16 Mon Sep 17 00:00:00 2001 From: John Lewin Date: Sun, 3 Sep 2017 18:28:15 +0300 Subject: [PATCH] Move NamedSettingsLayer ViewFilter into SettingsContext --- SlicerConfiguration/SettingsContext.cs | 10 ++++++++-- SlicerConfiguration/SliceSettingsWidget.cs | 18 ++++-------------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/SlicerConfiguration/SettingsContext.cs b/SlicerConfiguration/SettingsContext.cs index 38cba2f98..c97f7373a 100644 --- a/SlicerConfiguration/SettingsContext.cs +++ b/SlicerConfiguration/SettingsContext.cs @@ -30,6 +30,7 @@ either expressed or implied, of the FreeBSD Project. using System; using System.Collections.Generic; +using System.Linq; namespace MatterHackers.MatterControl.SlicerConfiguration { @@ -38,12 +39,17 @@ namespace MatterHackers.MatterControl.SlicerConfiguration private IEnumerable layerCascade; private PrinterSettingsLayer persistenceLayer; - public SettingsContext(IEnumerable layerCascade, PrinterSettingsLayer persistenceLayer) + public SettingsContext(IEnumerable layerCascade, NamedSettingsLayers viewFilter) { this.layerCascade = layerCascade; - this.persistenceLayer = persistenceLayer; + this.ViewFilter = viewFilter; + + // The last layer of the layerFilters is the target persistence + this.persistenceLayer = layerCascade?.First() ?? ActiveSliceSettings.Instance.UserLayer; } + public NamedSettingsLayers ViewFilter { get; set; } + public string GetValue(string slicerConfigName) { return ActiveSliceSettings.Instance.GetValue(slicerConfigName, layerCascade); diff --git a/SlicerConfiguration/SliceSettingsWidget.cs b/SlicerConfiguration/SliceSettingsWidget.cs index 98c373322..8ad068d7c 100644 --- a/SlicerConfiguration/SliceSettingsWidget.cs +++ b/SlicerConfiguration/SliceSettingsWidget.cs @@ -74,7 +74,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration private FlowLayoutWidget pageTopToBottomLayout; private SettingsContext settingsContext; - private NamedSettingsLayers viewFilter; private bool isPrimarySettingsView { get; set; } PrinterConnection printerConnection; @@ -89,12 +88,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration this.BackgroundColor = ApplicationController.Instance.Theme.TabBodyBackground; - // The last layer of the layerFilters is the target persistence layer - var persistenceLayer = layerCascade?.First() ?? ActiveSliceSettings.Instance.UserLayer; - - this.settingsContext = new SettingsContext(layerCascade, persistenceLayer); - - this.viewFilter = viewFilter; + this.settingsContext = new SettingsContext(layerCascade, viewFilter); pageTopToBottomLayout = new FlowLayoutWidget(FlowDirection.TopToBottom) { @@ -440,7 +434,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration printerConnection, settingData, settingsContext, - viewFilter, copyIndex, isPrimarySettingsView, ref tabIndexForItem)); @@ -534,7 +527,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration private bool CheckIfShouldBeShown(SliceSettingData settingData) { bool settingShouldBeShown = settingsContext.ParseShowString(settingData.ShowIfSet); - if (viewFilter == NamedSettingsLayers.Material || viewFilter == NamedSettingsLayers.Quality) + if (settingsContext.ViewFilter == NamedSettingsLayers.Material || settingsContext.ViewFilter == NamedSettingsLayers.Quality) { if (!settingData.ShowAsOverride) { @@ -604,7 +597,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration printerConnection, settingData, settingsContext, - viewFilter, 0, isPrimarySettingsView, ref tabIndexForItem); @@ -732,8 +724,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration return CreateSettingInfoUIControls( printerConnection, SliceSettingsOrganizer.Instance.GetSettingsData(sliceSettingsKey), - new SettingsContext(null, ActiveSliceSettings.Instance.UserLayer), - NamedSettingsLayers.All, + new SettingsContext(null, NamedSettingsLayers.All), 0, isPrimarySettingsView, ref tabIndex); @@ -746,7 +737,6 @@ namespace MatterHackers.MatterControl.SlicerConfiguration PrinterConnection printerConnection, SliceSettingData settingData, SettingsContext settingsContext, - NamedSettingsLayers viewFilter, int extruderIndex, bool isPrimaryView, ref int tabIndexForItem) @@ -914,7 +904,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { if (settingsContext.ContainsKey(settingData.SlicerConfigName)) { - switch (viewFilter) + switch (settingsContext.ViewFilter) { case NamedSettingsLayers.All: if (settingData.ShowAsOverride)