From 6aba8edd0097db424bffe807ccb586c0dd48fb25 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Wed, 22 Dec 2021 11:09:11 -0800 Subject: [PATCH] fixing crash issues with profile updates --- .../SettingsManagement/UpdateSettingsPage.cs | 70 ++++++++++--------- .../Settings/ProfileManager.cs | 5 +- StaticData/Translations/Master.txt | 66 +++++++++++++++++ Submodules/MatterSlice | 2 +- 4 files changed, 108 insertions(+), 35 deletions(-) diff --git a/MatterControlLib/SettingsManagement/UpdateSettingsPage.cs b/MatterControlLib/SettingsManagement/UpdateSettingsPage.cs index 4765095c0..96f340402 100644 --- a/MatterControlLib/SettingsManagement/UpdateSettingsPage.cs +++ b/MatterControlLib/SettingsManagement/UpdateSettingsPage.cs @@ -168,45 +168,49 @@ namespace MatterHackers.MatterControl under.AddChild(cover); } - var currentText = "Current Default".Localize(); - var settingData = PrinterSettings.SettingsData[setting.key]; - var group = settingData.OrganizerGroup; - var category = group.Category; - - currentText += ": " + category.Name + " > " + group.Name + " > " + settingData.PresentationName; - - AddSetting(printer, currentText, setting.key, theme.SlightShade); - AddSetting(oemPrinter, "Will be updated to:".Localize(), setting.key, Color.Transparent); - - var buttonContainer = new FlowLayoutWidget(FlowDirection.RightToLeft) + if (PrinterSettings.SettingsData.ContainsKey(setting.key)) { - HAnchor = HAnchor.Stretch, - Margin = new BorderDouble(0, 25, 0, 3), - Border = new BorderDouble(0, 1, 0, 0), - BorderColor = theme.MinimalShade, - }; + var settingData = PrinterSettings.SettingsData[setting.key]; - generalPanel.AddChild(buttonContainer); - var updateButton = new TextButton("Update Setting".Localize(), theme) - { - Margin = new BorderDouble(0, 3, 20, 0), - Name = setting.key + " Update", - }; + var currentText = "Current Default".Localize(); + var group = settingData.OrganizerGroup; + var category = group.Category; - theme.ApplyPrimaryActionStyle(updateButton); + currentText += ": " + category.Name + " > " + group.Name + " > " + settingData.PresentationName; - buttonContainer.AddChild(updateButton); + AddSetting(printer, currentText, setting.key, theme.SlightShade); + AddSetting(oemPrinter, "Will be updated to:".Localize(), setting.key, Color.Transparent); - updateButton.Click += (s, e) => - { - var scrollAmount = this.contentRow.Descendants().First().ScrollPositionFromTop; - printer.Settings.SetValue(setting.key, setting.newValue, printer.Settings.OemLayer); - AddAllContent(); - UiThread.RunOnIdle(() => + var buttonContainer = new FlowLayoutWidget(FlowDirection.RightToLeft) { - this.contentRow.Descendants().First().ScrollPositionFromTop = scrollAmount; - }); - }; + HAnchor = HAnchor.Stretch, + Margin = new BorderDouble(0, 25, 0, 3), + Border = new BorderDouble(0, 1, 0, 0), + BorderColor = theme.MinimalShade, + }; + + generalPanel.AddChild(buttonContainer); + var updateButton = new TextButton("Update Setting".Localize(), theme) + { + Margin = new BorderDouble(0, 3, 20, 0), + Name = setting.key + " Update", + }; + + theme.ApplyPrimaryActionStyle(updateButton); + + buttonContainer.AddChild(updateButton); + + updateButton.Click += (s, e) => + { + var scrollAmount = this.contentRow.Descendants().First().ScrollPositionFromTop; + printer.Settings.SetValue(setting.key, setting.newValue, printer.Settings.OemLayer); + AddAllContent(); + UiThread.RunOnIdle(() => + { + this.contentRow.Descendants().First().ScrollPositionFromTop = scrollAmount; + }); + }; + } } } } diff --git a/MatterControlLib/SlicerConfiguration/Settings/ProfileManager.cs b/MatterControlLib/SlicerConfiguration/Settings/ProfileManager.cs index a20887d75..3c41b1b57 100644 --- a/MatterControlLib/SlicerConfiguration/Settings/ProfileManager.cs +++ b/MatterControlLib/SlicerConfiguration/Settings/ProfileManager.cs @@ -133,7 +133,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration { foreach (var item in cache) { - yield return (item.key, item.currentValue, item.newValue); + if (PrinterSettings.SettingsData.ContainsKey(item.key)) + { + yield return (item.key, item.currentValue, item.newValue); + } } } } diff --git a/StaticData/Translations/Master.txt b/StaticData/Translations/Master.txt index 804626601..159fa6bde 100644 --- a/StaticData/Translations/Master.txt +++ b/StaticData/Translations/Master.txt @@ -4,6 +4,12 @@ Translated: English:- none - Translated:- none - +English:\nBelow you can find a list of each setting that has changed. +Translated:\nBelow you can find a list of each setting that has changed. + +English:\nUpdating a default setting will not change any override that you have applied. +Translated:\nUpdating a default setting will not change any override that you have applied. + English:$/kg Translated:$/kg @@ -85,6 +91,9 @@ Translated:Action English:Action Recommended Translated:Action Recommended +English:Action Required +Translated:Action Required + English:Add Translated:Add @@ -139,6 +148,9 @@ Translated:Air Gap English:Air Gapped Layer Translated:Air Gapped Layer +English:Alert +Translated:Alert + English:Align Translated:Align @@ -409,6 +421,9 @@ Translated:Clear Cache English:Clear Height Translated:Clear Height +English:Clear Override +Translated:Clear Override + English:Clear selection Translated:Clear selection @@ -469,6 +484,9 @@ Translated:Connect English:Connect to the currently selected printer Translated:Connect to the currently selected printer +English:Connect to your printer to continue +Translated:Connect to your printer to continue + English:Connected Translated:Connected @@ -574,6 +592,9 @@ Translated:Creation Data English:Cube Translated:Cube +English:Current Default +Translated:Current Default + English:Curve Translated:Curve @@ -1486,6 +1507,9 @@ Translated:Material English:Material density. Only used for estimating mass in the Layer View. Translated:Material density. Only used for estimating mass in the Layer View. +English:Material Setting +Translated:Material Setting + English:Materials Translated:Materials @@ -1693,6 +1717,9 @@ Translated:No Color English:No part to arrange Translated:No part to arrange +English:No setting currently need to be updated. +Translated:No setting currently need to be updated. + English:None Translated:None @@ -1747,6 +1774,9 @@ Translated:Offset English:Offset For Next Push Translated:Offset For Next Push +English:Ok +Translated:Ok + English:'Ok' Responses Translated:'Ok' Responses @@ -1858,6 +1888,9 @@ Translated:Perimeters Per Extruder English:PETG Temperature Tower Translated:PETG Temperature Tower +English:Pin +Translated:Pin + English:Pinch Translated:Pinch @@ -1900,6 +1933,9 @@ Translated:Please Confirm English:Plugins Translated:Plugins +English:Port In Use +Translated:Port In Use + English:Port not available Translated:Port not available @@ -1972,6 +2008,12 @@ Translated:Printer Calibration English:Printer Control Translated:Printer Control +English:Printer Default +Translated:Printer Default + +English:Printer Disconnected +Translated:Printer Disconnected + English:Printer Help Translated:Printer Help @@ -2038,6 +2080,9 @@ Translated:Pyramid English:Quality Translated:Quality +English:Quality Setting +Translated:Quality Setting + English:Radial Array Translated:Radial Array @@ -2164,6 +2209,9 @@ Translated:Retraction English:Retractions Translated:Retractions +English:Retry Login +Translated:Retry Login + English:Revolve Translated:Revolve @@ -2305,9 +2353,15 @@ Translated:Send With Checksum English:Serial Port Translated:Serial Port +English:Serial port in use +Translated:Serial port in use + English:Services Translated:Services +English:Session Expired +Translated:Session Expired + English:Set Temperature Translated:Set Temperature @@ -2329,6 +2383,9 @@ Translated:Settings Update Available English:Settings View Options Translated:Settings View Options +English:Setup Needs to be Run +Translated:Setup Needs to be Run + English:Setup Wizard Translated:Setup Wizard @@ -3121,6 +3178,12 @@ Translated:Update English:Update Available Translated:Update Available +English:Update Setting +Translated:Update Setting + +English:Update Settings +Translated:Update Settings + English:Update Settings... Translated:Update Settings... @@ -3253,6 +3316,9 @@ Translated:Width English:Width Percent Translated:Width Percent +English:Will be updated to: +Translated:Will be updated to: + English:Wipe Shield Distance Translated:Wipe Shield Distance diff --git a/Submodules/MatterSlice b/Submodules/MatterSlice index 80cc87128..96e11ee7e 160000 --- a/Submodules/MatterSlice +++ b/Submodules/MatterSlice @@ -1 +1 @@ -Subproject commit 80cc871288d1892140851664255f9e9d30643f71 +Subproject commit 96e11ee7e683bd9e1144fc449d5afd8037421a8d