fixing crash issues with profile updates

This commit is contained in:
Lars Brubaker 2021-12-22 11:09:11 -08:00
parent c8f64dc4d1
commit 6aba8edd00
4 changed files with 108 additions and 35 deletions

View file

@ -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<ScrollableWidget>().First().ScrollPositionFromTop;
printer.Settings.SetValue(setting.key, setting.newValue, printer.Settings.OemLayer);
AddAllContent();
UiThread.RunOnIdle(() =>
var buttonContainer = new FlowLayoutWidget(FlowDirection.RightToLeft)
{
this.contentRow.Descendants<ScrollableWidget>().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<ScrollableWidget>().First().ScrollPositionFromTop;
printer.Settings.SetValue(setting.key, setting.newValue, printer.Settings.OemLayer);
AddAllContent();
UiThread.RunOnIdle(() =>
{
this.contentRow.Descendants<ScrollableWidget>().First().ScrollPositionFromTop = scrollAmount;
});
};
}
}
}
}

View file

@ -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);
}
}
}
}

View file

@ -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

@ -1 +1 @@
Subproject commit 80cc871288d1892140851664255f9e9d30643f71
Subproject commit 96e11ee7e683bd9e1144fc449d5afd8037421a8d