diff --git a/MatterControl.csproj b/MatterControl.csproj index 5188dd7dd..66a7bd814 100644 --- a/MatterControl.csproj +++ b/MatterControl.csproj @@ -38,7 +38,6 @@ 1.0.0.%2a false true - 0.8.2 True @@ -191,11 +190,11 @@ + - False - .\ICSharpCode.SharpZipLib.dll + ICSharpCode.SharpZipLib.dll PdfSharp.dll @@ -328,7 +327,7 @@ {865172A0-A1A9-49C2-9386-F2FDB4E141B7} MatterControlPluginSystem - + {657DBC6D-C3EA-4398-A3FA-DDB73C14F71B} Agg diff --git a/MatterControl.userprefs b/MatterControl.userprefs deleted file mode 100644 index b9d2d2c59..000000000 --- a/MatterControl.userprefs +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PartPreviewWindow/SaveAsWindow.cs b/PartPreviewWindow/SaveAsWindow.cs new file mode 100644 index 000000000..79da3b43d --- /dev/null +++ b/PartPreviewWindow/SaveAsWindow.cs @@ -0,0 +1,38 @@ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.IO; +using System.Text; + +using MatterHackers.Agg; +using MatterHackers.Agg.UI; +using MatterHackers.VectorMath; +using MatterHackers.Agg.Image; +using MatterHackers.MatterControl.DataStorage; +using MatterHackers.Localizations; + +namespace MatterHackers.MatterControl +{ + public class SaveAsWindow : SystemWindow + { + public SaveAsWindow() + : base (360, 300) + { + Title = "Save As Window"; + + FlowLayoutWidget topToBottom = new FlowLayoutWidget(FlowDirection.TopToBottom); + topToBottom.AnchorAll(); + topToBottom.Padding = new BorderDouble(3, 0, 3, 5); + + FlowLayoutWidget headerRow = new FlowLayoutWidget(FlowDirection.LeftToRight); + headerRow.HAnchor = HAnchor.ParentLeftRight; + headerRow.Margin = new BorderDouble(0, 3, 0, 0); + headerRow.Padding = new BorderDouble(0, 3, 0, 3); + ShowAsSystemWindow (); + + + } + } +} + diff --git a/PartPreviewWindow/View3DTransfromPart.cs b/PartPreviewWindow/View3DTransfromPart.cs index c7ac46d74..fad2d4158 100644 --- a/PartPreviewWindow/View3DTransfromPart.cs +++ b/PartPreviewWindow/View3DTransfromPart.cs @@ -100,10 +100,13 @@ namespace MatterHackers.MatterControl.PartPreviewWindow CheckBox expandScaleOptions; Button autoArrangeButton; - Button saveButton; + Button saveButton; + Button saveAsButton; Button closeButton; Button applyScaleButton; + SaveAsWindow saveAs; + PrintItemWrapper printItemWrapper; List asynchMeshesList = new List(); @@ -249,6 +252,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow && meshSelectInfo.downOnPart && meshSelectInfo.lastMoveDelta != Vector3.Zero) { + saveAsButton.Visible = true; saveButton.Visible = true; } @@ -775,6 +779,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow MeshExtraData.RemoveAt(SelectedMeshIndex); MeshTransforms.RemoveAt(SelectedMeshIndex); SelectedMeshIndex = Math.Min(SelectedMeshIndex, Meshes.Count - 1); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); } @@ -1038,6 +1043,12 @@ namespace MatterHackers.MatterControl.PartPreviewWindow verticalSpacer.VAnchor = VAnchor.ParentBottomTop; buttonRightPanel.AddChild(verticalSpacer); + //Create Save As Button + saveAsButton = whiteButtonFactory.Generate("Save As".Localize(), centerText: true); + saveAsButton.Visible = false; + saveAsButton.Cursor = Cursors.Hand; + buttonRightPanel.AddChild (saveAsButton); + saveButton = whiteButtonFactory.Generate(LocalizedString.Get("Save"), centerText: true); saveButton.Visible = false; saveButton.Cursor = Cursors.Hand; @@ -1190,6 +1201,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow PlatingHelper.PlaceMeshOnBed(Meshes, MeshTransforms, SelectedMeshIndex, false); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); MeshExtraData[SelectedMeshIndex].currentScale = scale; @@ -1246,6 +1258,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow // and shift it back so the new center is where the old center was SelectedMeshTransform *= Matrix4X4.CreateTranslation(startingCenter - bounds.Center); PlatingHelper.PlaceMeshOnBed(Meshes, MeshTransforms, SelectedMeshIndex, false); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1269,6 +1282,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow // and shift it back so the new center is where the old center was SelectedMeshTransform *= Matrix4X4.CreateTranslation(startingCenter - bounds.Center); PlatingHelper.PlaceMeshOnBed(Meshes, MeshTransforms, SelectedMeshIndex, false); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1291,6 +1305,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow bounds = SelectedMesh.GetAxisAlignedBoundingBox(SelectedMeshTransform); // and shift it back so the new center is where the old center was SelectedMeshTransform *= Matrix4X4.CreateTranslation(startingCenter - bounds.Center); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1305,6 +1320,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { MakeLowestFaceFlat(SelectedMeshIndex); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1337,6 +1353,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow totalTransfrom *= Matrix4X4.CreateTranslation(center); SelectedMeshTransform *= totalTransfrom; + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1355,6 +1372,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow totalTransfrom *= Matrix4X4.CreateTranslation(center); SelectedMeshTransform *= totalTransfrom; + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1375,6 +1393,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow SelectedMeshTransform *= totalTransfrom; PlatingHelper.PlaceMeshOnBed(Meshes, MeshTransforms, SelectedMeshIndex, false); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); }; @@ -1398,6 +1417,14 @@ namespace MatterHackers.MatterControl.PartPreviewWindow expandRotateOptions.CheckedStateChanged += new CheckBox.CheckedStateChangedEventHandler(expandRotateOptions_CheckedStateChanged); expandScaleOptions.CheckedStateChanged += new CheckBox.CheckedStateChangedEventHandler(expandScaleOptions_CheckedStateChanged); + + + saveAsButton.Click += (sender, e) => + { + new SaveAsWindow(); + + }; + saveButton.Click += (sender, e) => { MergeAndSavePartsToStl(); @@ -1406,6 +1433,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow ActiveTheme.Instance.ThemeChanged.RegisterEvent(Instance_ThemeChanged, ref unregisterEvents); } + bool partSelectButtonWasClicked = false; private void MergeAndSavePartsToStl() { @@ -1609,6 +1637,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow // and shift it back so the new center is where the old center was MeshTransforms[indexToLayFlat] *= Matrix4X4.CreateTranslation(startingCenter - bounds.Center); PlatingHelper.PlaceMeshOnBed(Meshes, MeshTransforms, SelectedMeshIndex, false); + saveAsButton.Visible = true; saveButton.Visible = true; Invalidate(); } diff --git a/StaticData/Translations/Master.txt b/StaticData/Translations/Master.txt index 70befd4a8..cb3377a5e 100644 --- a/StaticData/Translations/Master.txt +++ b/StaticData/Translations/Master.txt @@ -1372,3 +1372,11 @@ Translated:Finished Print English:Done Printing Translated:Done Printing +English:Save As +Translated:Save As + +English:Installed Plugins +Translated:Installed Plugins + +English:Select a Design Tool +Translated:Select a Design Tool