Now you can update the setting

This commit is contained in:
LarsBrubaker 2020-08-29 09:40:45 -07:00
parent 1a103dd2c0
commit acddb1e01a

View file

@ -60,6 +60,14 @@ namespace MatterHackers.MatterControl
contentRow.Padding = theme.DefaultContainerPadding; contentRow.Padding = theme.DefaultContainerPadding;
contentRow.Padding = 0; contentRow.Padding = 0;
contentRow.BackgroundColor = Color.Transparent; contentRow.BackgroundColor = Color.Transparent;
AddAllContent();
}
private void AddAllContent()
{
contentRow.CloseAllChildren();
GuiWidget settingsColumn; GuiWidget settingsColumn;
var settingsAreaScrollBox = new ScrollableWidget(true); var settingsAreaScrollBox = new ScrollableWidget(true);
@ -83,7 +91,7 @@ namespace MatterHackers.MatterControl
{ {
settingsColumn.AddChild(new WrappedTextWidget("No setting currently need to be updated.".Localize(), pointSize: 11) settingsColumn.AddChild(new WrappedTextWidget("No setting currently need to be updated.".Localize(), pointSize: 11)
{ {
Margin = new BorderDouble(0, 5), Margin = new BorderDouble(5),
TextColor = theme.TextColor TextColor = theme.TextColor
}); });
} }
@ -129,40 +137,39 @@ Updating the default will not change any other overrides that you may have appli
{ {
void AddSetting(PrinterConfig printer, string description, string key, Color overlay) void AddSetting(PrinterConfig printer, string description, string key, Color overlay)
{ {
var oldUnder = new GuiWidget() generalPanel.AddChild(new TextWidget(description, pointSize: 11)
{
// HAnchor = HAnchor.Center,
Margin = new BorderDouble(5),
TextColor = theme.TextColor
});
var under = new GuiWidget()
{ {
HAnchor = HAnchor.Stretch, HAnchor = HAnchor.Stretch,
VAnchor = VAnchor.Fit VAnchor = VAnchor.Fit
}; };
var oldTopToBottom = new FlowLayoutWidget(FlowDirection.TopToBottom) var topToBottom = new FlowLayoutWidget(FlowDirection.TopToBottom)
{ {
HAnchor = HAnchor.Stretch HAnchor = HAnchor.Stretch
}; };
var settingsContext = new SettingsContext(printer, null, NamedSettingsLayers.OEMSettings); var settingsContext = new SettingsContext(printer, null, NamedSettingsLayers.OEMSettings);
oldTopToBottom.AddChild(SliceSettingsTabView.CreateItemRow( topToBottom.AddChild(SliceSettingsTabView.CreateItemRow(
PrinterSettings.SettingsData[key], PrinterSettings.SettingsData[key],
settingsContext, settingsContext,
printer, printer,
theme, theme,
ref tabIndex)); ref tabIndex));
var oldCover = new GuiWidget() var cover = new GuiWidget()
{ {
BackgroundColor = overlay, BackgroundColor = overlay,
HAnchor = HAnchor.Stretch, HAnchor = HAnchor.Stretch,
VAnchor = VAnchor.Stretch VAnchor = VAnchor.Stretch
}; };
oldCover.AddChild(new TextWidget(description, pointSize: 11) generalPanel.AddChild(under).AddChild(topToBottom);
{ under.AddChild(cover);
HAnchor = HAnchor.Center,
VAnchor = VAnchor.Center,
BackgroundColor = theme.BackgroundColor,
Margin = new BorderDouble(0, 5),
TextColor = theme.TextColor
});
generalPanel.AddChild(oldUnder).AddChild(oldTopToBottom);
oldUnder.AddChild(oldCover);
} }
AddSetting(printer, "Current Default".Localize(), setting.key, theme.SlightShade); AddSetting(printer, "Current Default".Localize(), setting.key, theme.SlightShade);
@ -177,10 +184,22 @@ Updating the default will not change any other overrides that you may have appli
}; };
generalPanel.AddChild(buttonContainer); generalPanel.AddChild(buttonContainer);
buttonContainer.AddChild(new TextButton("Update Setting".Localize(), theme) var updateButton = new TextButton("Update Setting".Localize(), theme)
{ {
Margin = new BorderDouble(0, 3, 20, 0), Margin = new BorderDouble(0, 3, 20, 0),
}); };
buttonContainer.AddChild(updateButton);
updateButton.Click += (s, e) =>
{
var scrollAmount = contentRow.Descendants<ScrollableWidget>().First().ScrollPositionFromTop;
printer.Settings.SetValue(setting.key, setting.newValue, printer.Settings.OemLayer);
AddAllContent();
UiThread.RunOnIdle(() =>
{
contentRow.Descendants<ScrollableWidget>().First().ScrollPosition = scrollAmount;
});
};
} }
} }