aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs68
1 files changed, 50 insertions, 18 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
index db9d9dbae..4ce8ab39d 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Developer/ViewModels/MainViewVM.cs
@@ -966,9 +966,23 @@ namespace Tango.MachineStudio.Developer.ViewModels
private void MachineOperator_PreparingJobProgress(object sender, PreparingJobProgressEventArgs e)
{
- if (_preparingTaskItem != null)
+ var percent = (e.Progress / e.Total * 100d);
+
+ if (_preparingTaskItem == null && percent == 0)
+ {
+ _preparingTaskItem = _notification.PushTaskItem("Preparing job for printing...");
+ }
+ else if (percent == 100)
{
- _preparingTaskItem.Message = $"Preparing job for printing {(e.Progress / e.Total * 100d).ToString("0.0")}%...";
+ _preparingTaskItem.Pop();
+ _preparingTaskItem = null;
+ }
+ else
+ {
+ if (_preparingTaskItem != null)
+ {
+ _preparingTaskItem.Message = $"Preparing job for printing {(e.Progress / e.Total * 100d).ToString("0.0")}%...";
+ }
}
}
@@ -1067,13 +1081,13 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
_speech.SpeakError(events.Last().EventType.Name);
- if (events.ToList().Exists(x => x.Actions.Contains(BL.Enumerations.EventTypeActions.StopJob)))
- {
- if (JobHandler != null)
- {
- InvokeUI(StopJob);
- }
- }
+ //if (events.ToList().Exists(x => x.Actions.Contains(BL.Enumerations.EventTypeActions.StopJob)))
+ //{
+ // if (JobHandler != null)
+ // {
+ // InvokeUI(StopJob);
+ // }
+ //}
}
}
@@ -1293,6 +1307,8 @@ namespace Tango.MachineStudio.Developer.ViewModels
/// </summary>
private async void StartJob(Func<Job, JobHandler> resumeFunc = null)
{
+ SettingsManager.Default.Save();
+
LogManager.Log(String.Format("Starting job {0}...", ActiveJob.Name));
if (MachineOperator == null || MachineOperator.State != TransportComponentState.Connected)
{
@@ -1327,11 +1343,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
if (resumeFunc == null)
{
- using (var item = _notification.PushTaskItem("Preparing job for printing..."))
- {
- _preparingTaskItem = item;
- JobHandler = await MachineOperator.Print(ActiveJob, SelectedProcessParametersTable);
- }
+ JobHandler = await MachineOperator.Print(ActiveJob, SelectedProcessParametersTable);
}
else
{
@@ -1386,7 +1398,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
InvokeUI(() =>
{
- _notification.ShowError("Job failed. " + ex.Message);
+ _notification.ShowError("Job failed. " + ex.FlattenMessage());
StopRecordingIfInProgress();
});
};
@@ -1408,6 +1420,12 @@ namespace Tango.MachineStudio.Developer.ViewModels
JobHandler.Canceled += (x, y) =>
{
+ if (_preparingTaskItem != null)
+ {
+ _preparingTaskItem.Pop();
+ _preparingTaskItem = null;
+ }
+
LogManager.Log(String.Format("Job {0} has been canceled.", RunningJob.Name));
_eventLogger.Log(String.Format("Job {0} has been canceled.", RunningJob.Name));
StopRecordingIfInProgress();
@@ -1750,6 +1768,11 @@ namespace Tango.MachineStudio.Developer.ViewModels
InvalidateRelayCommands();
_disable_gamut_check = false;
+
+ _settings.LastSelectedMachineGuid = SelectedMachine != null ? SelectedMachine.Guid : null;
+ _settings.LastSelectedJobGuid = SelectedMachineJob != null ? SelectedMachineJob.Guid : null;
+
+ _settings.Save();
});
SegmentsCollectionView = CollectionViewSource.GetDefaultView(ActiveJob.Segments);
@@ -1987,6 +2010,11 @@ namespace Tango.MachineStudio.Developer.ViewModels
SelectedSegments.ToList().ForEach(x =>
{
+ if (ActiveJob.Segments.Count == 1)
+ {
+ _notification.ShowInfo("A job must contain at least one segment.");
+ return;
+ }
ActiveJob.Segments.Remove(x);
x.DefferedDelete(_activeJobDbContext);
});
@@ -2114,12 +2142,17 @@ namespace Tango.MachineStudio.Developer.ViewModels
{
if (SelectedBrushStop != null && SelectedSegment != null)
{
- if (_notification.ShowQuestion("Are you sure you want to delete the selected colors?"))
+ if (_notification.ShowQuestion("Are you sure you want to delete the selected brush stops?"))
{
LogManager.Log(String.Format("Removing {0} brush stops...", SelectedBrushStops.Count));
SelectedBrushStops.ToList().ForEach(x =>
{
+ if (SelectedSegment.BrushStops.Count == 1)
+ {
+ _notification.ShowInfo("A job segment must contain at least one brush stop.");
+ return;
+ }
SelectedSegment.BrushStops.Remove(x);
x.DefferedDelete(_activeJobDbContext);
});
@@ -2406,8 +2439,7 @@ namespace Tango.MachineStudio.Developer.ViewModels
public override void OnShuttingDown()
{
- _settings.LastSelectedMachineGuid = SelectedMachine != null ? SelectedMachine.Guid : null;
- _settings.LastSelectedJobGuid = SelectedMachineJob != null ? SelectedMachineJob.Guid : null;
+
}
#endregion