From a99ca89ea1d5ace220e2eeebd7511f59b666f3ac Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Mon, 2 Nov 2015 11:56:50 -0800 Subject: [PATCH] Made the save button be disabled until a library provider is selected. --- PartPreviewWindow/SaveAsWindow.cs | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/PartPreviewWindow/SaveAsWindow.cs b/PartPreviewWindow/SaveAsWindow.cs index 23a5496af..29a85fc34 100644 --- a/PartPreviewWindow/SaveAsWindow.cs +++ b/PartPreviewWindow/SaveAsWindow.cs @@ -19,10 +19,17 @@ namespace MatterHackers.MatterControl private TextImageButtonFactory textImageButtonFactory = new TextImageButtonFactory(); private MHTextEditWidget textToAddWidget; LibrarySelectorWidget librarySelectorWidget; + Button saveAsButton; - public SaveAsWindow(Action functionToCallOnSaveAs, List providerLocator, bool showQueue, bool getNewName) + public SaveAsWindow(Action functionToCallOnSaveAs, List providerLocator, bool showQueue, bool getNewName) : base(480, 500) { + textImageButtonFactory.normalTextColor = ActiveTheme.Instance.PrimaryTextColor; + textImageButtonFactory.hoverTextColor = ActiveTheme.Instance.PrimaryTextColor; + textImageButtonFactory.pressedTextColor = ActiveTheme.Instance.PrimaryTextColor; + textImageButtonFactory.disabledTextColor = ActiveTheme.Instance.TabLabelUnselected; + textImageButtonFactory.disabledFillColor = new RGBA_Bytes(); + Title = "MatterControl - " + "Save As".Localize(); AlwaysOnTopOfMain = true; @@ -112,12 +119,15 @@ namespace MatterHackers.MatterControl buttonRow.Padding = new BorderDouble(0, 3); } - Button saveAsButton = textImageButtonFactory.Generate("Save".Localize(), centerText: true); + saveAsButton = textImageButtonFactory.Generate("Save".Localize(), centerText: true); saveAsButton.Name = "Save As Save Button"; - saveAsButton.Visible = true; + // Disable the save as button + saveAsButton.Enabled = false; saveAsButton.Cursor = Cursors.Hand; buttonRow.AddChild(saveAsButton); + librarySelectorWidget.ChangedCurrentLibraryProvider += EnableSaveAsButtonOnChangedLibraryProvider; + saveAsButton.Click += new EventHandler(saveAsButton_Click); //Adds SaveAs and Close Button to button container @@ -143,6 +153,12 @@ namespace MatterHackers.MatterControl ShowAsSystemWindow(); } + private void EnableSaveAsButtonOnChangedLibraryProvider(LibraryProvider arg1, LibraryProvider arg2) + { + // Once we have navigated to any provider enable the ability to click the save as button. + saveAsButton.Enabled = true; + } + bool firstDraw = true; public override void OnDraw(Graphics2D graphics2D) {