diff --git a/Wabbajack.Common.CSP/Wabbajack.Common.CSP.csproj b/Wabbajack.Common.CSP/Wabbajack.Common.CSP.csproj index 8894840e..810875d6 100644 --- a/Wabbajack.Common.CSP/Wabbajack.Common.CSP.csproj +++ b/Wabbajack.Common.CSP/Wabbajack.Common.CSP.csproj @@ -63,9 +63,6 @@ ..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll - - ..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll - @@ -99,8 +96,14 @@ - - + + + 4.2.0 + + + 4.6.0 + + \ No newline at end of file diff --git a/Wabbajack.Common.CSP/packages.config b/Wabbajack.Common.CSP/packages.config deleted file mode 100644 index afb78d7d..00000000 --- a/Wabbajack.Common.CSP/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Wabbajack.Common/WorkQueue.cs b/Wabbajack.Common/WorkQueue.cs index 2d0016ea..c8e950e5 100644 --- a/Wabbajack.Common/WorkQueue.cs +++ b/Wabbajack.Common/WorkQueue.cs @@ -52,20 +52,22 @@ namespace Wabbajack.Common while (true) { - Report("Waiting", 0); + Report("Waiting", 0, false); var f = Queue.Take(); f(); } } - public void Report(string msg, int progress) + public void Report(string msg, int progress, bool isWorking = true) { _Status.OnNext( new CPUStatus { Progress = progress, + ProgressPercent = progress / 100f, Msg = msg, - ID = CpuId + ID = CpuId, + IsWorking = isWorking }); } @@ -89,7 +91,9 @@ namespace Wabbajack.Common public class CPUStatus { public int Progress { get; internal set; } + public float ProgressPercent { get; internal set; } public string Msg { get; internal set; } public int ID { get; internal set; } + public bool IsWorking { get; internal set; } } } diff --git a/Wabbajack/View Models/Compilers/CompilerVM.cs b/Wabbajack/View Models/Compilers/CompilerVM.cs index 341728bc..da8d43db 100644 --- a/Wabbajack/View Models/Compilers/CompilerVM.cs +++ b/Wabbajack/View Models/Compilers/CompilerVM.cs @@ -38,6 +38,7 @@ namespace Wabbajack public float PercentCompleted => _percentCompleted.Value; public ObservableCollectionExtended StatusList { get; } = new ObservableCollectionExtended(); + public ObservableCollectionExtended Log => MWVM.Log; public IReactiveCommand BackCommand { get; } @@ -121,6 +122,7 @@ namespace Wabbajack .ToObservableChangeSet(x => x.ID) .Batch(TimeSpan.FromMilliseconds(250), RxApp.TaskpoolScheduler) .EnsureUniqueChanges() + .Filter(i => i.IsWorking) .ObserveOn(RxApp.MainThreadScheduler) .Sort(SortExpressionComparer.Ascending(s => s.ID), SortOptimisations.ComparesImmutableValuesOnly) .Bind(StatusList) diff --git a/Wabbajack/View Models/InstallerVM.cs b/Wabbajack/View Models/InstallerVM.cs index 3613cb7b..313df402 100644 --- a/Wabbajack/View Models/InstallerVM.cs +++ b/Wabbajack/View Models/InstallerVM.cs @@ -280,6 +280,7 @@ namespace Wabbajack .ToObservableChangeSet(x => x.ID) .Batch(TimeSpan.FromMilliseconds(250), RxApp.TaskpoolScheduler) .EnsureUniqueChanges() + .Filter(i => i.IsWorking) .ObserveOn(RxApp.MainThreadScheduler) .Sort(SortExpressionComparer.Ascending(s => s.ID), SortOptimisations.ComparesImmutableValuesOnly) .Bind(StatusList) diff --git a/Wabbajack/Views/Common/LogCpuView.xaml b/Wabbajack/Views/Common/LogCpuView.xaml index 703b0a50..d295edb9 100644 --- a/Wabbajack/Views/Common/LogCpuView.xaml +++ b/Wabbajack/Views/Common/LogCpuView.xaml @@ -5,6 +5,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:Wabbajack" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:mahapps="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro" d:DesignHeight="250" d:DesignWidth="800" mc:Ignorable="d"> @@ -12,7 +13,7 @@ - + - - - - - + - - - - - - - - - + Background="{StaticResource WindowBackgroundBrush}" + BorderThickness="0" + Foreground="Transparent" + Maximum="1" + Value="{Binding ProgressPercent, Mode=OneWay}" /> + +