diff --git a/MatterControlLib/ApplicationView/PrinterModels.cs b/MatterControlLib/ApplicationView/PrinterModels.cs index a095f14ea..e6e90f1fd 100644 --- a/MatterControlLib/ApplicationView/PrinterModels.cs +++ b/MatterControlLib/ApplicationView/PrinterModels.cs @@ -716,9 +716,7 @@ namespace MatterHackers.MatterControl { public event EventHandler ViewModeChanged; - public event EventHandler ConfigurePrinterVisibleChanged; - public event EventHandler ControlsVisibleChanged; - public event EventHandler TerminalVisibleChanged; + public event EventHandler VisibilityChanged; public bool SliceSettingsTabPinned { @@ -799,7 +797,7 @@ namespace MatterHackers.MatterControl UserSettings.Instance.set(UserSettingsKey.ConfigurePrinterTabVisible, _configurePrinterVisible ? "true" : "false"); - ConfigurePrinterVisibleChanged?.Invoke(this, null); + VisibilityChanged?.Invoke(this, null); } } } @@ -820,7 +818,7 @@ namespace MatterHackers.MatterControl UserSettings.Instance.set(UserSettingsKey.ControlsTabVisible, _controlsVisible ? "true" : "false"); - ControlsVisibleChanged?.Invoke(this, null); + VisibilityChanged?.Invoke(this, null); } } } @@ -841,7 +839,7 @@ namespace MatterHackers.MatterControl UserSettings.Instance.set(UserSettingsKey.TerminalTabVisible, _terminalVisible ? "true" : "false"); - TerminalVisibleChanged?.Invoke(this, null); + VisibilityChanged?.Invoke(this, null); } } } diff --git a/MatterControlLib/PartPreviewWindow/PrinterTabPage.cs b/MatterControlLib/PartPreviewWindow/PrinterTabPage.cs index d516903a1..273cefaa9 100644 --- a/MatterControlLib/PartPreviewWindow/PrinterTabPage.cs +++ b/MatterControlLib/PartPreviewWindow/PrinterTabPage.cs @@ -207,9 +207,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow this.SetViewMode(printer.ViewState.ViewMode); - printer.ViewState.ConfigurePrinterVisibleChanged += ProcessOptionalTabs; - printer.ViewState.ControlsVisibleChanged += ProcessOptionalTabs; - printer.ViewState.TerminalVisibleChanged += ProcessOptionalTabs; + printer.ViewState.VisibilityChanged += ProcessOptionalTabs; printer.Bed.RendererOptions.PropertyChanged += RendererOptions_PropertyChanged; @@ -386,9 +384,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow unregisterEvents?.Invoke(null, null); sceneContext.LoadedGCodeChanged -= BedPlate_LoadedGCodeChanged; - printer.ViewState.ConfigurePrinterVisibleChanged -= ProcessOptionalTabs; - printer.ViewState.ControlsVisibleChanged -= ProcessOptionalTabs; - printer.ViewState.TerminalVisibleChanged -= ProcessOptionalTabs; + printer.ViewState.VisibilityChanged -= ProcessOptionalTabs; printer.ViewState.ViewModeChanged -= ViewState_ViewModeChanged; printer.Bed.RendererOptions.PropertyChanged -= RendererOptions_PropertyChanged; diff --git a/MatterControlLib/PartPreviewWindow/View3D/PrinterBar/PrinterActionsBar.cs b/MatterControlLib/PartPreviewWindow/View3D/PrinterBar/PrinterActionsBar.cs index a7e88c647..ce41c3dd8 100644 --- a/MatterControlLib/PartPreviewWindow/View3D/PrinterBar/PrinterActionsBar.cs +++ b/MatterControlLib/PartPreviewWindow/View3D/PrinterBar/PrinterActionsBar.cs @@ -40,6 +40,7 @@ using MatterHackers.MatterControl.CustomWidgets; using MatterHackers.MatterControl.EeProm; using MatterHackers.MatterControl.PrinterCommunication; using MatterHackers.MatterControl.PrintHistory; +using MatterHackers.MatterControl.SetupWizard; using MatterHackers.MatterControl.SlicerConfiguration; namespace MatterHackers.MatterControl.PartPreviewWindow @@ -308,6 +309,75 @@ namespace MatterHackers.MatterControl.PartPreviewWindow }, new ActionSeparator(), new NamedAction() + { + Title = "Import Presets".Localize(), + Action = () => + { + AggContext.FileDialogs.OpenFileDialog( + new OpenFileDialogParams("settings files|*.printer"), + (dialogParams) => + { + if (!string.IsNullOrEmpty(dialogParams.FileName)) + { + DialogWindow.Show(new ImportSettingsPage(dialogParams.FileName, printer)); + } + }); + } + }, + new NamedAction() + { + Title = "Export All Settings".Localize(), + Action = () => + { + ActiveSliceSettings.Instance.Helpers.ExportAsMatterControlConfig(); + } + }, + new ActionSeparator(), + new NamedAction() + { + Title = "Restore Settings".Localize(), + Action = () => + { + DialogWindow.Show(); + } + }, + new NamedAction() + { + Title = "Reset to Defaults".Localize(), + Action = () => + { + StyledMessageBox.ShowMessageBox( + (revertSettings) => + { + if (revertSettings) + { + bool onlyReloadSliceSettings = true; + if (printer.Settings.GetValue(SettingsKey.print_leveling_required_to_print) + && printer.Settings.GetValue(SettingsKey.print_leveling_enabled)) + { + onlyReloadSliceSettings = false; + } + + printer.Settings.ClearUserOverrides(); + printer.Settings.Save(); + + if (onlyReloadSliceSettings) + { + printer?.Bed.GCodeRenderer?.Clear3DGCode(); + } + else + { + ApplicationController.Instance.ReloadAll(); + } + } + }, + "Resetting to default values will remove your current overrides and restore your original printer settings.\nAre you sure you want to continue?".Localize(), + "Revert Settings".Localize(), + StyledMessageBox.MessageType.YES_NO); + } + }, + new ActionSeparator(), + new NamedAction() { Title = "Delete Printer".Localize(), Action = () => diff --git a/MatterControlLib/SlicerConfiguration/SliceSettingsWidget.cs b/MatterControlLib/SlicerConfiguration/SliceSettingsWidget.cs index 2b787bb61..2e9c650f4 100644 --- a/MatterControlLib/SlicerConfiguration/SliceSettingsWidget.cs +++ b/MatterControlLib/SlicerConfiguration/SliceSettingsWidget.cs @@ -76,81 +76,12 @@ namespace MatterHackers.MatterControl.SlicerConfiguration "Advanced", theme, isPrimarySettingsView: true, - databaseMRUKey: UserSettingsKey.SliceSettingsWidget_CurrentTab, - extendPopupMenu: this.ExtendOverflowMenu)); + databaseMRUKey: UserSettingsKey.SliceSettingsWidget_CurrentTab)); } this.AnchorAll(); } - private void ExtendOverflowMenu(PopupMenu popupMenu) - { - popupMenu.CreateHorizontalLine(); - PopupMenu.MenuItem menuItem; - - menuItem = popupMenu.CreateMenuItem("Import Presets".Localize()); - menuItem.Click += (s, e) => UiThread.RunOnIdle(() => - { - AggContext.FileDialogs.OpenFileDialog( - new OpenFileDialogParams("settings files|*.printer"), - (dialogParams) => - { - if (!string.IsNullOrEmpty(dialogParams.FileName)) - { - DialogWindow.Show(new ImportSettingsPage(dialogParams.FileName, printer)); - } - }); - }, .2); - - popupMenu.CreateHorizontalLine(); - - menuItem = popupMenu.CreateMenuItem("Restore Settings".Localize()); - menuItem.Click += (s, e) => UiThread.RunOnIdle(() => - { - DialogWindow.Show(); - }, .2); - menuItem.Enabled = !string.IsNullOrEmpty(AuthenticationData.Instance.ActiveSessionUsername); - - menuItem = popupMenu.CreateMenuItem("Reset to Defaults".Localize()); - menuItem.Click += (s, e) => UiThread.RunOnIdle(() => - { - StyledMessageBox.ShowMessageBox( - (revertSettings) => - { - if (revertSettings) - { - bool onlyReloadSliceSettings = true; - if (printer.Settings.GetValue(SettingsKey.print_leveling_required_to_print) - && printer.Settings.GetValue(SettingsKey.print_leveling_enabled)) - { - onlyReloadSliceSettings = false; - } - - printer.Settings.ClearUserOverrides(); - printer.Settings.Save(); - - if (onlyReloadSliceSettings) - { - printer?.Bed.GCodeRenderer?.Clear3DGCode(); - } - else - { - ApplicationController.Instance.ReloadAll(); - } - } - }, - "Resetting to default values will remove your current overrides and restore your original printer settings.\nAre you sure you want to continue?".Localize(), - "Revert Settings".Localize(), - StyledMessageBox.MessageType.YES_NO); - }, .2); - - menuItem = popupMenu.CreateMenuItem("Export".Localize()); - menuItem.Click += (s, e) => UiThread.RunOnIdle(() => - { - ActiveSliceSettings.Instance.Helpers.ExportAsMatterControlConfig(); - }, .2); - } - // TODO: This should just proxy to settingsControlBar.Visible. Having local state and pushing values on event listeners seems off private bool showControlBar = true; public bool ShowControlBar