From 5b05c018d56f853189fbf50620c272f5e48b16df Mon Sep 17 00:00:00 2001 From: Michael Bucari-Tovo Date: Sat, 14 May 2022 20:00:23 -0600 Subject: [PATCH] Remove ValidationFail books from queue display. Nothing to see there. --- .../ProcessQueue/ProcessQueueControl.cs | 4 ++++ .../ProcessQueue/TrackedQueue[T].cs | 17 +++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/Source/LibationWinForms/ProcessQueue/ProcessQueueControl.cs b/Source/LibationWinForms/ProcessQueue/ProcessQueueControl.cs index 8c35ca70..0de13f3a 100644 --- a/Source/LibationWinForms/ProcessQueue/ProcessQueueControl.cs +++ b/Source/LibationWinForms/ProcessQueue/ProcessQueueControl.cs @@ -171,12 +171,16 @@ namespace LibationWinForms.ProcessQueue if (result == ProcessBookResult.FailedRetry) Queue.Enqueue(nextBook); + else if (result == ProcessBookResult.ValidationFail) + Queue.ClearCurrent(); else if (result == ProcessBookResult.FailedAbort) return; } Queue_CompletedCountChanged(this, 0); counterTimer.Stop(); + virtualFlowControl2.VirtualControlCount = Queue.Count; + UpdateAllControls(); } public void WriteLine(string text) diff --git a/Source/LibationWinForms/ProcessQueue/TrackedQueue[T].cs b/Source/LibationWinForms/ProcessQueue/TrackedQueue[T].cs index a1f7dbe2..20bbe7e8 100644 --- a/Source/LibationWinForms/ProcessQueue/TrackedQueue[T].cs +++ b/Source/LibationWinForms/ProcessQueue/TrackedQueue[T].cs @@ -94,6 +94,23 @@ namespace LibationWinForms.ProcessQueue } } + public void ClearCurrent() + { + lock(lockObject) + Current = null; + } + + public bool RemoveCompleted(T item) + { + lock (lockObject) + { + bool removed = _completed.Remove(item); + if (removed) + CompletedCountChanged?.Invoke(this, _completed.Count); + return removed; + } + } + public void ClearQueue() { lock (lockObject)