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