Merge pull request #5301 from larsbrubaker/main

main
This commit is contained in:
Lars Brubaker 2022-04-19 10:31:36 -07:00 committed by GitHub
commit f2ff09579a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 218 additions and 178 deletions

View file

@ -243,10 +243,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
static PrinterSettings() static PrinterSettings()
{ {
// Convert settings array into dictionary on initial load using settings key (SlicerConfigName) // Convert settings array into dictionary on initial load using settings key (SlicerConfigName)
PrinterSettings.SettingsData = SliceSettingsFields.AllSettings().ToDictionary(s => s.SlicerConfigName); SettingsData = SliceSettingsFields.AllSettings().ToDictionary(s => s.SlicerConfigName);
PrinterSettings.Layout = new SettingsLayout(); Layout = new SettingsLayout();
Empty = new PrinterSettings() { ID = "EmptyProfile" }; Empty = new PrinterSettings() { ID = "EmptyProfile" };
Empty.UserLayer[SettingsKey.printer_name] = "Empty Printer"; Empty.UserLayer[SettingsKey.printer_name] = "Empty Printer";
@ -339,7 +339,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{ {
var settingsLayer = new PrinterSettingsLayer(); var settingsLayer = new PrinterSettingsLayer();
foreach (var settingsData in PrinterSettings.SettingsData.Values) foreach (var settingsData in SettingsData.Values)
{ {
settingsLayer[settingsData.SlicerConfigName] = settingsData.DefaultValue; settingsLayer[settingsData.SlicerConfigName] = settingsData.DefaultValue;
} }
@ -591,8 +591,8 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
return null; return null;
} }
int documentVersion = jObject?.GetValue("DocumentVersion")?.Value<int>() ?? PrinterSettings.LatestVersion; int documentVersion = jObject?.GetValue("DocumentVersion")?.Value<int>() ?? LatestVersion;
if (documentVersion < PrinterSettings.LatestVersion) if (documentVersion < LatestVersion)
{ {
printerProfilePath = ProfileMigrations.MigrateDocument(printerProfilePath, documentVersion); printerProfilePath = ProfileMigrations.MigrateDocument(printerProfilePath, documentVersion);
} }
@ -623,7 +623,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
keysToRetain.Remove(SettingsKey.print_leveling_enabled); keysToRetain.Remove(SettingsKey.print_leveling_enabled);
// Iterate all items that have .ShowAsOverride = false and conditionally add to the retention list // Iterate all items that have .ShowAsOverride = false and conditionally add to the retention list
foreach (var item in PrinterSettings.SettingsData.Values.Where(settingsItem => settingsItem.ShowAsOverride == false)) foreach (var item in SettingsData.Values.Where(settingsItem => settingsItem.ShowAsOverride == false))
{ {
switch (item.SlicerConfigName) switch (item.SlicerConfigName)
{ {
@ -659,10 +659,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
// Restore user overrides if a non-user override is being cleared // Restore user overrides if a non-user override is being cleared
if (layer != null && layer != UserLayer) if (layer != null && layer != UserLayer)
{ {
RestoreUserOverride(layer, settingsKey); RestoreUserOverride(settingsKey);
} }
if (PrinterSettings.SettingsData.TryGetValue(settingsKey, out SliceSettingData settingData)) if (SettingsData.TryGetValue(settingsKey, out SliceSettingData settingData))
{ {
if (settingData.DataEditType == SliceSettingData.DataEditTypes.CHECK_BOX) if (settingData.DataEditType == SliceSettingData.DataEditTypes.CHECK_BOX)
{ {
@ -744,7 +744,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
foreach (var settingsKey in settingsLayer.Keys) foreach (var settingsKey in settingsLayer.Keys)
{ {
StashUserOverride(settingsLayer, settingsKey); StashUserOverride(settingsKey);
} }
} }
@ -872,6 +872,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{ {
layerName = "Quality"; layerName = "Quality";
} }
else if (layer == this.SceneLayer)
{
layerName = "Scene";
}
return (value, layerName); return (value, layerName);
} }
@ -883,7 +887,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
public bool IsActive(string canonicalSettingsName) public bool IsActive(string canonicalSettingsName)
{ {
return this.Slicer.Exports.ContainsKey(canonicalSettingsName) return this.Slicer.Exports.ContainsKey(canonicalSettingsName)
|| (this.Slicer.PrinterType == PrinterType.FFF && PrinterSettings.DefaultFFFSettings.Contains(canonicalSettingsName)); || (this.Slicer.PrinterType == PrinterType.FFF && DefaultFFFSettings.Contains(canonicalSettingsName));
} }
public bool IsOverride(string sliceSetting, IEnumerable<PrinterSettingsLayer> layers) public bool IsOverride(string sliceSetting, IEnumerable<PrinterSettingsLayer> layers)
@ -984,7 +988,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
var sourceFilter = rawSourceFilter.Where(layer => layer != null); var sourceFilter = rawSourceFilter.Where(layer => layer != null);
foreach (var keyName in PrinterSettings.KnownSettings) foreach (var keyName in KnownSettings)
{ {
if (settingsToImport.Contains(keyName)) if (settingsToImport.Contains(keyName))
{ {
@ -1098,7 +1102,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
foreach (var settingsKey in settingsLayer.Keys) foreach (var settingsKey in settingsLayer.Keys)
{ {
RestoreUserOverride(settingsLayer, settingsKey); RestoreUserOverride(settingsKey);
} }
} }
@ -1107,7 +1111,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
// Stash user overrides if a non-user override is being set // Stash user overrides if a non-user override is being set
if (layer != null && layer != UserLayer) if (layer != null && layer != UserLayer)
{ {
StashUserOverride(layer, settingsKey); StashUserOverride(settingsKey);
} }
else else
{ {
@ -1164,7 +1168,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
private static HashSet<string> LoadSettingsNamesFromPropertiesJson() private static HashSet<string> LoadSettingsNamesFromPropertiesJson()
{ {
return new HashSet<string>(PrinterSettings.SettingsData.Keys); return new HashSet<string>(SettingsData.Keys);
} }
private PrinterSettingsLayer GetQualityLayer(string layerID) private PrinterSettingsLayer GetQualityLayer(string layerID)
@ -1200,7 +1204,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
}; };
} }
private void RestoreUserOverride(PrinterSettingsLayer settingsLayer, string settingsKey) private void RestoreUserOverride(string settingsKey)
{ {
if (StagedUserSettings.TryGetValue(settingsKey, out string stagedUserOverride)) if (StagedUserSettings.TryGetValue(settingsKey, out string stagedUserOverride))
{ {
@ -1212,7 +1216,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
/// <summary> /// <summary>
/// Move conflicting user overrides to the temporary staging area, allowing presets values to take effect /// Move conflicting user overrides to the temporary staging area, allowing presets values to take effect
/// </summary> /// </summary>
private void StashUserOverride(PrinterSettingsLayer settingsLayer, string settingsKey) private void StashUserOverride(string settingsKey)
{ {
if (this.UserLayer.TryGetValue(settingsKey, out string userOverride)) if (this.UserLayer.TryGetValue(settingsKey, out string userOverride))
{ {
@ -1237,7 +1241,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
var bigStringForHashCode = new StringBuilder(); var bigStringForHashCode = new StringBuilder();
// Loop over all known settings // Loop over all known settings
foreach (var keyValue in PrinterSettings.SettingsData) foreach (var keyValue in SettingsData)
{ {
// Add key/value to accumulating string for hash // Add key/value to accumulating string for hash
if (keyValue.Value?.RebuildGCodeOnChange == true) if (keyValue.Value?.RebuildGCodeOnChange == true)

View file

@ -387,6 +387,8 @@ namespace MatterHackers.MatterControl
public event EventHandler<WorkspacesChangedEventArgs> WorkspacesChanged; public event EventHandler<WorkspacesChangedEventArgs> WorkspacesChanged;
public event EventHandler ReloadSettingsTriggered;
public void ReloadSettings(PrinterConfig printer) public void ReloadSettings(PrinterConfig printer)
{ {
var printerTabPage = this.MainView.Descendants<PrinterTabPage>().Where(page => page.Printer == printer).FirstOrDefault(); var printerTabPage = this.MainView.Descendants<PrinterTabPage>().Where(page => page.Printer == printer).FirstOrDefault();
@ -415,6 +417,8 @@ namespace MatterHackers.MatterControl
sideBar.ReplacePage("Slice Settings", new SliceSettingsWidget(printer, settingsContext, Theme)); sideBar.ReplacePage("Slice Settings", new SliceSettingsWidget(printer, settingsContext, Theme));
ApplicationController.Instance.IsReloading = false; ApplicationController.Instance.IsReloading = false;
} }
ReloadSettingsTriggered?.Invoke(null, null);
} }
public static Action WebRequestFailed; public static Action WebRequestFailed;

View file

@ -92,8 +92,79 @@ namespace MatterHackers.MatterControl.DesignTools.Operations
public string ThumbnailName => nameof(PartSettingsObject3D); public string ThumbnailName => nameof(PartSettingsObject3D);
private void UpdateSettingsDisplay(PrinterConfig containingPrinter)
{
if (containingPrinter != null)
{
this.Invalidate(InvalidateType.DisplayValues);
ApplicationController.Instance.ReloadSettings(containingPrinter);
// refresh the properties pannel by unselecting and selecting
containingPrinter.Bed.Scene.SelectedItem = null;
containingPrinter.Bed.Scene.SelectedItem = this;
}
}
public static HashSet<string> settingsToIgnore = new HashSet<string>()
{
SettingsKey.spiral_vase,
SettingsKey.layer_to_pause,
SettingsKey.perimeter_acceleration,
SettingsKey.default_acceleration,
SettingsKey.t1_extrusion_move_speed_multiplier,
SettingsKey.bed_surface,
SettingsKey.brim_extruder,
SettingsKey.support_material_extruder,
SettingsKey.support_material_interface_extruder,
SettingsKey.material_color,
SettingsKey.material_color_1,
SettingsKey.material_color_2,
SettingsKey.material_color_3,
SettingsKey.filament_diameter,
SettingsKey.filament_density,
SettingsKey.filament_cost,
SettingsKey.temperature,
SettingsKey.temperature1,
SettingsKey.temperature2,
SettingsKey.temperature3,
SettingsKey.bed_temperature,
SettingsKey.bed_temperature_blue_tape,
SettingsKey.bed_temperature_buildtak,
SettingsKey.bed_temperature_garolite,
SettingsKey.bed_temperature_glass,
SettingsKey.bed_temperature_kapton,
SettingsKey.bed_temperature_pei,
SettingsKey.bed_temperature_pp,
SettingsKey.inactive_cool_down,
SettingsKey.seconds_to_reheat,
};
public IEnumerable<EditorButtonData> GetEditorButtonsData() public IEnumerable<EditorButtonData> GetEditorButtonsData()
{ {
var containingPrinter = this.ContainingPrinter();
if (containingPrinter != null)
{
yield return new EditorButtonData()
{
Action = () =>
{
var settingsContext = new SettingsContext(containingPrinter, null, NamedSettingsLayers.All);
foreach (var setting in containingPrinter.Settings.UserLayer)
{
var data = SliceSettingsRow.GetStyleData(containingPrinter, ApplicationController.Instance.Theme, settingsContext, setting.Key, true);
if (!settingsToIgnore.Contains(setting.Key) && data.showRestoreButton)
{
Overrides[setting.Key] = setting.Value;
}
}
UpdateSettingsDisplay(containingPrinter);
},
Name = "Add User Overrides".Localize(),
HelpText = "Copy in all current user overides".Localize()
};
}
if (ApplicationController.Instance.UserHasPermission(this)) if (ApplicationController.Instance.UserHasPermission(this))
{ {
yield return new EditorButtonData() yield return new EditorButtonData()
@ -101,7 +172,14 @@ namespace MatterHackers.MatterControl.DesignTools.Operations
Action = () => Action = () =>
{ {
var settings = new PrinterSettings(); var settings = new PrinterSettings();
settings.GetSceneLayer = () => Overrides;
var printer = new PrinterConfig(settings); var printer = new PrinterConfig(settings);
if (containingPrinter != null)
{
printer = containingPrinter;
}
// set this after the PrinterConfig is constructed to change it to overrides
// set this after the PrinterConfig is constructed to change it to overrides // set this after the PrinterConfig is constructed to change it to overrides
settings.GetSceneLayer = () => Overrides; settings.GetSceneLayer = () => Overrides;
@ -114,15 +192,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations
editMaterialPresetsPage.Closed += (s, e2) => editMaterialPresetsPage.Closed += (s, e2) =>
{ {
ApplicationController.Instance.AcitveSlicePresetsPage = null; ApplicationController.Instance.AcitveSlicePresetsPage = null;
var containingPrinter = this.ContainingPrinter(); UpdateSettingsDisplay(containingPrinter);
if (containingPrinter != null)
{
this.Invalidate(InvalidateType.DisplayValues);
ApplicationController.Instance.ReloadSettings(containingPrinter);
// refresh the properties pannel by unselecting and selecting
containingPrinter.Bed.Scene.SelectedItem = null;
containingPrinter.Bed.Scene.SelectedItem = this;
}
}; };
ApplicationController.Instance.AcitveSlicePresetsPage = editMaterialPresetsPage; ApplicationController.Instance.AcitveSlicePresetsPage = editMaterialPresetsPage;

View file

@ -47,6 +47,7 @@ using MatterHackers.MatterControl.CustomWidgets;
using MatterHackers.MatterControl.DataStorage; using MatterHackers.MatterControl.DataStorage;
using MatterHackers.MatterControl.DesignTools.EditableTypes; using MatterHackers.MatterControl.DesignTools.EditableTypes;
using MatterHackers.MatterControl.DesignTools.Operations; using MatterHackers.MatterControl.DesignTools.Operations;
using MatterHackers.MatterControl.Library.Widgets;
using MatterHackers.MatterControl.PartPreviewWindow; using MatterHackers.MatterControl.PartPreviewWindow;
using MatterHackers.MatterControl.PartPreviewWindow.View3D; using MatterHackers.MatterControl.PartPreviewWindow.View3D;
using MatterHackers.MatterControl.SlicerConfiguration; using MatterHackers.MatterControl.SlicerConfiguration;
@ -568,87 +569,15 @@ namespace MatterHackers.MatterControl.DesignTools
} }
else if (propertyValue is PrinterSettingsLayer printerSettingsLayer) else if (propertyValue is PrinterSettingsLayer printerSettingsLayer)
{ {
var settingsBackground = new GuiWidget() var printerProfile = new PrinterSettings();
{ rowContainer = AddMaterialWidget.CreateSetingsList(printerProfile, printerSettingsLayer, theme);
Name = "Background",
HAnchor = HAnchor.Stretch,
VAnchor = VAnchor.Fit,
Margin = 7,
};
var settingsHolder = settingsBackground.AddChild(new FlowLayoutWidget(FlowDirection.TopToBottom) rowContainer.Children.First().AddChild(new HorizontalLine(Color.Green)
{
Name = "Holder",
HAnchor = HAnchor.Stretch,
});
settingsHolder.AddChild(new HorizontalLine(Color.Green)
{ {
Height = 4 * GuiWidget.DeviceScale Height = 4 * GuiWidget.DeviceScale
}); }, 0);
var settingsCover = settingsBackground.AddChild(new GuiWidget() rowContainer.Children.First().AddChild(new HorizontalLine(Color.Green)
{
Name = "Cover",
HAnchor = HAnchor.Stretch,
BackgroundColor = theme.BackgroundColor.WithAlpha(100),
});
settingsHolder.SizeChanged += (s5, e5) =>
{
settingsCover.Height = settingsHolder.Height;
};
rowContainer = settingsBackground;
var printerProfile = new PrinterSettings();
printerProfile.OemLayer = new PrinterSettingsLayer();
// move all the settings to the oem layer
var layout = new List<(int index, string category, string group, string key)>();
foreach (var kvp in printerSettingsLayer)
{
printerProfile.OemLayer[kvp.Key] = kvp.Value;
layout.Add(SliceSettingsLayouts.GetLayout(kvp.Key));
}
var printer = new PrinterConfig(printerProfile);
var settingsContext = new SettingsContext(printer, null, NamedSettingsLayers.All);
var tabIndex = 0;
var orderedSettings = layout.OrderBy(i => i.index).Select(i => (i.category, i.key));
var lastCategory = "";
foreach ((string category, string key) setting in orderedSettings)
{
if (setting.category == "")
{
continue;
}
if (setting.category != lastCategory)
{
lastCategory = setting.category;
// add a new setting header
settingsHolder.AddChild(new TextWidget(setting.category.Localize() + " " + "Settings".Localize() + ":", 0, 0, bold: true)
{
TextColor = theme.TextColor,
Margin = new BorderDouble(0, 5, 0, 7)
});
}
var settingsData = PrinterSettings.SettingsData[setting.key];
var row = SliceSettingsTabView.CreateItemRow(settingsData, settingsContext, printer, theme, ref tabIndex);
if (row is SliceSettingsRow settingsRow)
{
settingsRow.ArrowDirection = ArrowDirection.Left;
settingsRow.Enabled = true;
}
settingsHolder.AddChild(row);
}
settingsHolder.AddChild(new HorizontalLine(Color.Green)
{ {
Height = 4 * GuiWidget.DeviceScale Height = 4 * GuiWidget.DeviceScale
}); });

View file

@ -257,80 +257,13 @@ namespace MatterHackers.MatterControl.Library.Widgets
}); });
} }
var settingsBackground = new GuiWidget()
{
Name = "Background",
HAnchor = HAnchor.Stretch,
VAnchor = VAnchor.Fit
};
var settingsHolder = settingsBackground.AddChild(new FlowLayoutWidget(FlowDirection.TopToBottom)
{
Name = "Holder",
HAnchor = HAnchor.Stretch,
});
var settingsCover = settingsBackground.AddChild(new GuiWidget()
{
Name = "Cover",
HAnchor = HAnchor.Stretch,
});
settingsHolder.SizeChanged += (s5, e5) =>
{
settingsCover.Height = settingsHolder.Height;
};
printerDetails.ProductDataContainer.AddChild(settingsBackground);
var printerProfile = PrinterSettings.LoadFile(SelectedMaterial.Path); var printerProfile = PrinterSettings.LoadFile(SelectedMaterial.Path);
printerProfile.OemLayer = new PrinterSettingsLayer(); var printerSettingsLayer = printerProfile.MaterialLayers[0];
// move all the settings to the oem layer printerProfile.MaterialLayers.RemoveAt(0);
var layout = new List<(int index, string category, string group, string key)>(); printerProfile.MaterialLayers.Add(new PrinterSettingsLayer());
foreach (var kvp in printerProfile.MaterialLayers[0])
{
printerProfile.OemLayer[kvp.Key] = kvp.Value;
layout.Add(SliceSettingsLayouts.GetLayout(kvp.Key));
}
printerProfile.MaterialLayers[0].Clear(); var settingsBackground = CreateSetingsList(printerProfile, printerSettingsLayer, theme);
printerDetails.ProductDataContainer.AddChild(settingsBackground);
var printer = new PrinterConfig(printerProfile);
var settingsContext = new SettingsContext(printer, null, NamedSettingsLayers.All);
var tabIndex = 0;
var orderedSettings = layout.OrderBy(i => i.index).Select(i => (i.category, i.key));
var lastCategory = "";
foreach ((string category, string key) setting in orderedSettings)
{
if (setting.category == "")
{
continue;
}
if (setting.category != lastCategory)
{
lastCategory = setting.category;
// add a new setting header
settingsHolder.AddChild(new TextWidget(setting.category.Localize() + " " + "Settings".Localize() + ":", 0, 0, bold: true)
{
TextColor = theme.TextColor,
Margin = new BorderDouble(0, 5, 0, 7)
});
}
var settingsData = PrinterSettings.SettingsData[setting.key];
var row = SliceSettingsTabView.CreateItemRow(settingsData, settingsContext, printer, theme, ref tabIndex);
if (row is SliceSettingsRow settingsRow)
{
settingsRow.ArrowDirection = ArrowDirection.Left;
settingsRow.Enabled = true;
}
settingsHolder.AddChild(row);
}
}; };
nextButtonEnabled(treeView.SelectedNode != null); nextButtonEnabled(treeView.SelectedNode != null);
@ -342,5 +275,82 @@ namespace MatterHackers.MatterControl.Library.Widgets
nextButtonEnabled(false); nextButtonEnabled(false);
} }
} }
public static GuiWidget CreateSetingsList(PrinterSettings printerProfile, PrinterSettingsLayer printerSettingsLayer, ThemeConfig theme)
{
var settingsBackground = new GuiWidget()
{
Name = "Background",
HAnchor = HAnchor.Stretch,
VAnchor = VAnchor.Fit,
Margin = 7,
};
var settingsHolder = settingsBackground.AddChild(new FlowLayoutWidget(FlowDirection.TopToBottom)
{
Name = "Holder",
HAnchor = HAnchor.Stretch,
});
var settingsCover = settingsBackground.AddChild(new GuiWidget()
{
Name = "Cover",
HAnchor = HAnchor.Stretch,
BackgroundColor = theme.BackgroundColor.WithAlpha(100),
});
settingsHolder.SizeChanged += (s5, e5) =>
{
settingsCover.Height = settingsHolder.Height;
};
printerProfile.OemLayer = new PrinterSettingsLayer();
// move all the settings to the oem layer
var layout = new List<(int index, string category, string group, string key)>();
foreach (var kvp in printerSettingsLayer)
{
printerProfile.OemLayer[kvp.Key] = kvp.Value;
layout.Add(SliceSettingsLayouts.GetLayout(kvp.Key));
}
var printer = new PrinterConfig(printerProfile);
var settingsContext = new SettingsContext(printer, null, NamedSettingsLayers.All);
var tabIndex = 0;
var orderedSettings = layout.OrderBy(i => i.index).Select(i => (i.category, i.key));
var lastCategory = "";
foreach ((string category, string key) setting in orderedSettings)
{
if (setting.category == "")
{
continue;
}
if (setting.category != lastCategory)
{
lastCategory = setting.category;
// add a new setting header
settingsHolder.AddChild(new TextWidget(setting.category.Localize() + " " + "Settings".Localize() + ":", 0, 0, bold: true)
{
TextColor = theme.TextColor,
Margin = new BorderDouble(0, 5, 0, 7)
});
}
var settingsData = PrinterSettings.SettingsData[setting.key];
var row = SliceSettingsTabView.CreateItemRow(settingsData, settingsContext, printer, theme, ref tabIndex);
if (row is SliceSettingsRow settingsRow)
{
settingsRow.ArrowDirection = ArrowDirection.Left;
settingsRow.Enabled = true;
}
settingsHolder.AddChild(row);
}
return settingsBackground;
}
} }
} }

View file

@ -68,6 +68,19 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
var sliceSettingsWidget = CreateSliceSettingsWidget(printer, presetsContext.PersistenceLayer); var sliceSettingsWidget = CreateSliceSettingsWidget(printer, presetsContext.PersistenceLayer);
contentRow.AddChild(sliceSettingsWidget); contentRow.AddChild(sliceSettingsWidget);
void ReloadSettings(object s, EventArgs e)
{
var newSliceSettingsWidget = CreateSliceSettingsWidget(printer, presetsContext.PersistenceLayer);
contentRow.ReplaceChild(sliceSettingsWidget, newSliceSettingsWidget);
contentRow.Width += 1;
contentRow.Width -= 1;
sliceSettingsWidget = newSliceSettingsWidget;
}
ApplicationController.Instance.ReloadSettingsTriggered += ReloadSettings;
this.Closed += (s, e) => ApplicationController.Instance.ReloadSettingsTriggered -= ReloadSettings;
GuiWidget duplicateButton = null; GuiWidget duplicateButton = null;
if (presetsContext.SetAsActive != null) if (presetsContext.SetAsActive != null)

View file

@ -511,6 +511,10 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
{ {
highlightColor = theme.PresetColors.QualityPreset; highlightColor = theme.PresetColors.QualityPreset;
} }
else if (layerName.StartsWith("Scene"))
{
highlightColor = theme.PresetColors.ScenePreset;
}
else else
{ {
highlightColor = Color.Transparent; highlightColor = Color.Transparent;
@ -542,7 +546,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration
break; break;
case NamedSettingsLayers.Scene: case NamedSettingsLayers.Scene:
highlightColor = theme.PresetColors.ScenePreset; highlightColor = theme.PresetColors.ScenePreset;
showRestoreButton = true; showRestoreButton = false;
break; break;
} }
} }

View file

@ -247,6 +247,9 @@ Translated:Add to Queue
English:Add to Selection English:Add to Selection
Translated:Add to Selection Translated:Add to Selection
English:Add User Overrides
Translated:Add User Overrides
English:Additional Printing Errors English:Additional Printing Errors
Translated:Additional Printing Errors Translated:Additional Printing Errors
@ -1042,6 +1045,9 @@ Translated:Copy everything but hardware specific calibration settings
English:Copy extrusions data English:Copy extrusions data
Translated:Copy extrusions data Translated:Copy extrusions data
English:Copy in all current user overides
Translated:Copy in all current user overides
English:Copy Mesh English:Copy Mesh
Translated:Copy Mesh Translated:Copy Mesh

@ -1 +1 @@
Subproject commit 7ea2bbbf3634ab37698640cc184ac2d2755cffbe Subproject commit 303fb1cf3baada642aaa46eb4d2e9fd546045bf7