From 239ecbd36d527289ada9001dfedcdbee7ecda121 Mon Sep 17 00:00:00 2001 From: larsbrubaker Date: Tue, 11 Nov 2014 17:15:35 -0800 Subject: [PATCH] Make the bed image stay when the bed is not rotating. Make the print history not crash when rebuilding from separate thread. --- PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs | 5 +++-- PartPreviewWindow/View3D/View3DWidget.cs | 7 ++++--- PrintHistory/PrintHistoryDataView.cs | 4 ++-- StaticData/Translations/Master.txt | 3 +++ 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs b/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs index bd32336c9..1e211ac99 100644 --- a/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs +++ b/PartPreviewWindow/BaseClasses/PartPreview3DWidget.cs @@ -52,7 +52,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { protected static readonly int DefaultScrollBarWidth = 120; - protected bool autoRotateEnabled = false; + protected bool autoRotating = false; + protected bool allowAutoRotate = false; public MeshViewerWidget meshViewerWidget; event EventHandler unregisterEvents; @@ -90,7 +91,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { // this is to add an image to the bed string imagePathAndFile = Path.Combine(ApplicationDataStorage.Instance.ApplicationStaticDataPath, "OEMSettings", "bedimage.png"); - if (autoRotateEnabled && File.Exists(imagePathAndFile)) + if (allowAutoRotate && File.Exists(imagePathAndFile)) { ImageBuffer wattermarkImage = new ImageBuffer(); ImageIO.LoadImageData(imagePathAndFile, wattermarkImage); diff --git a/PartPreviewWindow/View3D/View3DWidget.cs b/PartPreviewWindow/View3D/View3DWidget.cs index 5f459fbfd..480760f40 100644 --- a/PartPreviewWindow/View3D/View3DWidget.cs +++ b/PartPreviewWindow/View3D/View3DWidget.cs @@ -180,7 +180,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow MeshSelectInfo meshSelectInfo; public override void OnMouseDown(MouseEventArgs mouseEvent) { - autoRotateEnabled = false; + autoRotating = false; base.OnMouseDown(mouseEvent); if (meshViewerWidget.TrackballTumbleWidget.UnderMouseState == Agg.UI.UnderMouseState.FirstUnderMouse) { @@ -273,7 +273,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public View3DWidget(PrintItemWrapper printItemWrapper, Vector3 viewerVolume, Vector2 bedCenter, MeshViewerWidget.BedShape bedShape, WindowType windowType, AutoRotate autoRotate, bool openInEditMode = false) { this.windowType = windowType; - autoRotateEnabled = (autoRotate == AutoRotate.Enabled); + allowAutoRotate = (autoRotate == AutoRotate.Enabled); + autoRotating = allowAutoRotate; MeshGroupExtraData = new List(); MeshGroupExtraData.Add(new PlatingMeshGroupData()); @@ -594,7 +595,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow Stopwatch timeSinceLastSpin = new Stopwatch(); void AutoSpin(object state) { - if (!WidgetHasBeenClosed && autoRotateEnabled) + if (!WidgetHasBeenClosed && autoRotating) { // add it back in to keep it running. UiThread.RunOnIdle(AutoSpin); diff --git a/PrintHistory/PrintHistoryDataView.cs b/PrintHistory/PrintHistoryDataView.cs index fa38c1337..829853c3b 100644 --- a/PrintHistory/PrintHistoryDataView.cs +++ b/PrintHistory/PrintHistoryDataView.cs @@ -127,10 +127,10 @@ namespace MatterHackers.MatterControl.PrintHistory void ReloadData(object sender, EventArgs e) { - using (TimedLock.Lock(this, "ReloadData PrintHistory")) + UiThread.RunOnIdle((state) => { LoadHistoryItems(Count); - } + }); } event EventHandler unregisterEvents; diff --git a/StaticData/Translations/Master.txt b/StaticData/Translations/Master.txt index ff3c0723d..5a5fe384c 100644 --- a/StaticData/Translations/Master.txt +++ b/StaticData/Translations/Master.txt @@ -2846,3 +2846,6 @@ Translated:Save to EEProm English:{0} is not available Translated:{0} is not available +English:Invalid printer response +Translated:Invalid printer response +