diff --git a/MatterControlLib/ActionBar/TemperatureWidgetBed.cs b/MatterControlLib/ActionBar/TemperatureWidgetBed.cs index c3a21c013..c4fe50a0e 100644 --- a/MatterControlLib/ActionBar/TemperatureWidgetBed.cs +++ b/MatterControlLib/ActionBar/TemperatureWidgetBed.cs @@ -196,6 +196,42 @@ namespace MatterHackers.MatterControl.ActionBar return surfaceSelector; } + public static GuiWidget CreateAdvancedBedSurfaceSelector(PrinterConfig printer, ThemeConfig theme, ref int tabIndex) + { + if (!printer.Settings.GetValue(SettingsKey.has_heated_bed) + || !printer.Settings.GetValue(SettingsKey.has_swappable_bed)) + { + return null; + } + + var bedSelectorContainer = new FlowLayoutWidget(FlowDirection.TopToBottom) + { + HAnchor = HAnchor.Stretch + }; + + var selectBedSurfaceMessage = new TextWidget("And your printers bed surface.", pointSize: theme.DefaultFontSize, textColor: theme.TextColor) + { + Margin = new BorderDouble(15, 7, 0, 13), + HAnchor = HAnchor.Left + }; + bedSelectorContainer.AddChild(selectBedSurfaceMessage); + + var surfaceSelector = CreateBedSurfaceSelector(printer, theme, ref tabIndex); + bedSelectorContainer.AddChild(surfaceSelector); + + void SetSelectMessageVisibility(object s, EventArgs e) + { + selectBedSurfaceMessage.Visible = printer.Settings.GetValue(SettingsKey.bed_surface) == "Default"; + }; + + SetSelectMessageVisibility(null, null); + + printer.Settings.SettingChanged += SetSelectMessageVisibility; + bedSelectorContainer.Closed += (s, e) => printer.Settings.SettingChanged -= SetSelectMessageVisibility; + + return bedSelectorContainer; + } + public override void OnClosed(EventArgs e) { // Unregister listeners diff --git a/MatterControlLib/ConfigurationPage/PrintLeveling/LevelingStrings.cs b/MatterControlLib/ConfigurationPage/PrintLeveling/LevelingStrings.cs index 01c15aada..64b4a4da5 100644 --- a/MatterControlLib/ConfigurationPage/PrintLeveling/LevelingStrings.cs +++ b/MatterControlLib/ConfigurationPage/PrintLeveling/LevelingStrings.cs @@ -72,7 +72,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling public static string BelowControlsUltraFineInstructions => string.Format( "\t• {0}\n\t• {1}", "Press [Z-] until there is resistance to moving the paper".Localize(), - "The ideal resistance is when the paper first begins to bend".Localize()); + "The ideal resistance is when the paper first begins to bend, but can still be moved\n".Localize()); public string GetStepString(int totalSteps) { diff --git a/MatterControlLib/ConfigurationPage/PrintLeveling/WizardPages/SelectMaterialPage.cs b/MatterControlLib/ConfigurationPage/PrintLeveling/WizardPages/SelectMaterialPage.cs index ad12f3468..ec5694b03 100644 --- a/MatterControlLib/ConfigurationPage/PrintLeveling/WizardPages/SelectMaterialPage.cs +++ b/MatterControlLib/ConfigurationPage/PrintLeveling/WizardPages/SelectMaterialPage.cs @@ -51,7 +51,7 @@ namespace MatterHackers.MatterControl.ConfigurationPage.PrintLeveling if (showLoadFilamentButton) { int tabIndex = 0; - var bedSurfaceChanger = TemperatureWidgetBed.CreateBedSurfaceSelector(printer, theme, ref tabIndex); + var bedSurfaceChanger = TemperatureWidgetBed.CreateAdvancedBedSurfaceSelector(printer, theme, ref tabIndex); if (bedSurfaceChanger != null) { contentRow.AddChild(bedSurfaceChanger); diff --git a/StaticData/Translations/Master.txt b/StaticData/Translations/Master.txt index c7ef045f0..9e327dd7e 100644 --- a/StaticData/Translations/Master.txt +++ b/StaticData/Translations/Master.txt @@ -5020,6 +5020,9 @@ Translated:The height of the printer's printable volume, in millimeters. Control English:The ideal resistance is when the paper first begins to bend Translated:The ideal resistance is when the paper first begins to bend +English:The ideal resistance is when the paper first begins to bend, but can still be moved\n +Translated:The ideal resistance is when the paper first begins to bend, but can still be moved\n + English:The inset amount for each side of the bed.\n- As a % of the width or depth\n- Ordered: Left, Front, Right, Back\n- NOTE: The probe offset is added on top of this Translated:The inset amount for each side of the bed.\n- As a % of the width or depth\n- Ordered: Left, Front, Right, Back\n- NOTE: The probe offset is added on top of this