From 8af56aadcb168242c45ef4a8946c2903ec5b4144 Mon Sep 17 00:00:00 2001 From: John Lewin Date: Mon, 18 Mar 2019 20:36:55 -0700 Subject: [PATCH 1/4] Remove layer before causing action that fires SettingChanged - Issue MatterHackers/MCCentral#5177 Deleting quality preset does not remove it from list --- MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs b/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs index 9c0c51dc2..5518d8422 100644 --- a/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs +++ b/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs @@ -167,9 +167,11 @@ namespace MatterHackers.MatterControl.SlicerConfiguration SetAsActive = (qualityKey) => printer.Settings.ActiveQualityKey = qualityKey, DeleteLayer = () => { - printer.Settings.ActiveQualityKey = ""; printer.Settings.QualityLayers.Remove(layerToEdit); printer.Settings.Save(); + + // Clear QualityKey after removing layer to ensure listeners see update + printer.Settings.ActiveQualityKey = ""; } }; From 581a5266d6462c78479efa8c1357af3f44df2aa8 Mon Sep 17 00:00:00 2001 From: John Lewin Date: Mon, 18 Mar 2019 20:37:58 -0700 Subject: [PATCH 2/4] Listen for quality_key in addition to material_key - MatterHackers/MCCentral#5177 Deleting quality preset does not remove it from list --- MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs b/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs index 5518d8422..a85dc0dd2 100644 --- a/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs +++ b/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs @@ -219,6 +219,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration if (stringEvent != null && (stringEvent.Data == SettingsKey.default_material_presets || stringEvent.Data == SettingsKey.active_material_key + || stringEvent.Data == SettingsKey.active_quality_key || stringEvent.Data == SettingsKey.layer_name)) { RebuildDropDownList(); From 62ec98a537c586b26029c64e9bf41e8c238c7243 Mon Sep 17 00:00:00 2001 From: John Lewin Date: Tue, 19 Mar 2019 19:34:47 -0700 Subject: [PATCH 3/4] Limit rebuilds to applicable type --- MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs b/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs index a85dc0dd2..b66d02de5 100644 --- a/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs +++ b/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs @@ -218,8 +218,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { if (stringEvent != null && (stringEvent.Data == SettingsKey.default_material_presets - || stringEvent.Data == SettingsKey.active_material_key - || stringEvent.Data == SettingsKey.active_quality_key + || (layerType == NamedSettingsLayers.Material && stringEvent.Data == SettingsKey.active_material_key) + || (layerType == NamedSettingsLayers.Quality && stringEvent.Data == SettingsKey.active_quality_key) || stringEvent.Data == SettingsKey.layer_name)) { RebuildDropDownList(); From 36dbadc979523a5f39d8adc7fefe49daf6c99767 Mon Sep 17 00:00:00 2001 From: John Lewin Date: Tue, 19 Mar 2019 19:58:40 -0700 Subject: [PATCH 4/4] Use new parameter to set pointSize on "Add New Setting" item --- .../SlicerConfiguration/PresetSelectorWidget.cs | 6 +++++- Submodules/agg-sharp | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs b/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs index b66d02de5..c6f4da210 100644 --- a/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs +++ b/MatterControlLib/SlicerConfiguration/PresetSelectorWidget.cs @@ -250,7 +250,11 @@ namespace MatterHackers.MatterControl.SlicerConfiguration menuItem.Selected += MenuItem_Selected; } - MenuItem addNewPreset = dropDownList.AddItem(AggContext.StaticData.LoadIcon("icon_plus.png", 16, 16), "Add New Setting".Localize() + "...", "new"); + MenuItem addNewPreset = dropDownList.AddItem( + AggContext.StaticData.LoadIcon("icon_plus.png", 16, 16), + "Add New Setting".Localize() + "...", + "new", + pointSize: theme.DefaultFontSize); addNewPreset.Selected += (s, e) => { var newLayer = new PrinterSettingsLayer(); diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 68fbc9038..1acd5c622 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 68fbc9038707549c1d08f7dd24a8b1c34a944cb1 +Subproject commit 1acd5c622811c775df0bb74fb0d219c3abce8520