From e60e77eba7b5ddcc441e49c49f5eecc3ba0260e6 Mon Sep 17 00:00:00 2001 From: John Lewin Date: Wed, 9 Aug 2017 11:14:38 -0700 Subject: [PATCH] Revise shared export implementation to support GCode --- CustomWidgets/ExportPrintItemPage.cs | 41 ++++++++++------------------ 1 file changed, 15 insertions(+), 26 deletions(-) diff --git a/CustomWidgets/ExportPrintItemPage.cs b/CustomWidgets/ExportPrintItemPage.cs index 3b91eef86..3d5b08664 100644 --- a/CustomWidgets/ExportPrintItemPage.cs +++ b/CustomWidgets/ExportPrintItemPage.cs @@ -76,35 +76,15 @@ namespace MatterHackers.MatterControl contentRow.AddChild(exportAsAmfButton); } + RadioButton exportGCode = new RadioButton("Export as".Localize() + " G-Code", textColor: ActiveTheme.Instance.PrimaryTextColor); + exportGCode.Name = "Export as GCode Button"; + exportGCode.Margin = commonMargin; + exportGCode.HAnchor = HAnchor.Left; + exportGCode.Cursor = Cursors.Hand; + bool showExportGCodeButton = ActiveSliceSettings.Instance.PrinterSelected || partIsGCode; if (showExportGCodeButton) { - Button exportGCode = textImageButtonFactory.Generate("Export as".Localize() + " G-Code"); - exportGCode.Name = "Export as GCode Button"; - exportGCode.Margin = commonMargin; - exportGCode.HAnchor = HAnchor.Left; - exportGCode.Cursor = Cursors.Hand; - exportGCode.Click += (s, e) => - { - this.Parent.CloseOnIdle(); - UiThread.RunOnIdle(() => - { - FileDialog.SaveFileDialog( - new SaveFileDialogParams("Export GCode|*.gcode", title: "Export GCode") - { - Title = "MatterControl: Export File", - ActionButtonLabel = "Export", - FileName = Path.GetFileNameWithoutExtension(printItemWrapper.Name) - }, - (saveParams) => - { - if (!string.IsNullOrEmpty(saveParams.FileName)) - { - ExportGcodeCommandLineUtility(saveParams.FileName); - } - }); - }); - }; contentRow.AddChild(exportGCode); foreach (ExportGcodePlugin plugin in PluginFinder.CreateInstancesOf()) @@ -238,6 +218,11 @@ namespace MatterHackers.MatterControl fileTypeFilter = "Save as AMF|*.amf"; targetExtension = ".amf"; } + else if (exportGCode.Checked) + { + fileTypeFilter = "Export GCode|*.gcode"; + targetExtension = ".gcode"; + } this.Parent.CloseOnIdle(); UiThread.RunOnIdle(() => @@ -276,6 +261,10 @@ namespace MatterHackers.MatterControl { result = SaveAmf(sourceContent, savePath); } + else if (exportGCode.Checked) + { + ExportGcodeCommandLineUtility(savePath); + } if (result) {