diff --git a/Wabbajack.Test/app.config b/Wabbajack.Test/app.config
index e936cc13..ec5c75f5 100644
--- a/Wabbajack.Test/app.config
+++ b/Wabbajack.Test/app.config
@@ -6,6 +6,10 @@
+
+
+
+
\ No newline at end of file
diff --git a/Wabbajack/App.config b/Wabbajack/App.config
index b0634730..5905ef43 100644
--- a/Wabbajack/App.config
+++ b/Wabbajack/App.config
@@ -10,6 +10,10 @@
+
+
+
+
diff --git a/Wabbajack/AppState.cs b/Wabbajack/AppState.cs
index 6ecc34ab..1b781501 100644
--- a/Wabbajack/AppState.cs
+++ b/Wabbajack/AppState.cs
@@ -1,4 +1,5 @@
-using System;
+using ReactiveUI;
+using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
@@ -101,8 +102,8 @@ namespace Wabbajack
set
{
_htmlReport = value;
- RaisePropertyChanged();
- RaisePropertyChanged(nameof(ShowReportButton));
+ this.RaisePropertyChanged();
+ this.RaisePropertyChanged(nameof(ShowReportButton));
}
}
@@ -292,7 +293,7 @@ namespace Wabbajack
set
{
_splashScreenImage = value;
- RaisePropertyChanged();
+ this.RaisePropertyChanged();
}
}
diff --git a/Wabbajack/NexusApi/NexusApi.cs b/Wabbajack/NexusApi/NexusApi.cs
index 08713a1c..ead13582 100644
--- a/Wabbajack/NexusApi/NexusApi.cs
+++ b/Wabbajack/NexusApi/NexusApi.cs
@@ -1,4 +1,5 @@
-using System;
+using ReactiveUI;
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
@@ -136,8 +137,8 @@ namespace Wabbajack.NexusApi
_dailyRemaining = Math.Min(dailyRemaining, hourlyRemaining);
_hourlyRemaining = Math.Min(dailyRemaining, hourlyRemaining);
}
- RaisePropertyChanged(nameof(DailyRemaining));
- RaisePropertyChanged(nameof(HourlyRemaining));
+ this.RaisePropertyChanged(nameof(DailyRemaining));
+ this.RaisePropertyChanged(nameof(HourlyRemaining));
}
#endregion
diff --git a/Wabbajack/ViewModel.cs b/Wabbajack/ViewModel.cs
index 6f76989c..e7689f3e 100644
--- a/Wabbajack/ViewModel.cs
+++ b/Wabbajack/ViewModel.cs
@@ -1,20 +1,26 @@
-using System;
+using ReactiveUI;
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
+using System.Reactive.Disposables;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace Wabbajack
{
- public class ViewModel : INotifyPropertyChanged
+ public class ViewModel : ReactiveObject, IDisposable
{
- public event PropertyChangedEventHandler PropertyChanged;
+ private readonly Lazy _CompositeDisposable = new Lazy();
+ public CompositeDisposable CompositeDisposable => _CompositeDisposable.Value;
- protected void RaisePropertyChanged([CallerMemberName] string name = null)
+ public virtual void Dispose()
{
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
+ if (_CompositeDisposable.IsValueCreated)
+ {
+ _CompositeDisposable.Value.Dispose();
+ }
}
protected void RaiseAndSetIfChanged(
diff --git a/Wabbajack/Wabbajack.csproj b/Wabbajack/Wabbajack.csproj
index 4557dd5d..d8b2059e 100644
--- a/Wabbajack/Wabbajack.csproj
+++ b/Wabbajack/Wabbajack.csproj
@@ -105,6 +105,9 @@
..\packages\Costura.Fody.4.0.0\lib\net40\Costura.dll
+
+ ..\packages\DynamicData.6.13.17\lib\net461\DynamicData.dll
+
..\packages\SharpZipLib.1.2.0\lib\net45\ICSharpCode.SharpZipLib.dll
@@ -132,9 +135,28 @@
..\packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll
+
+ ..\packages\Pharmacist.Common.1.2.2\lib\netstandard2.0\Pharmacist.Common.dll
+
+
+
+ ..\packages\ReactiveUI.10.4.1\lib\net461\ReactiveUI.dll
+
+
+ ..\packages\ReactiveUI.Events.WPF.10.4.1\lib\net461\ReactiveUI.Events.WPF.dll
+
+
+ ..\packages\ReactiveUI.WPF.10.4.1\lib\net461\ReactiveUI.WPF.dll
+
..\packages\SharpCompress.0.23.0\lib\net45\SharpCompress.dll
+
+ ..\packages\Splat.9.1.1\lib\net461\Splat.dll
+
+
+ ..\packages\Splat.Drawing.9.1.1\lib\net461\Splat.Drawing.dll
+
..\packages\System.Buffers.4.4.0\lib\netstandard2.0\System.Buffers.dll
@@ -143,6 +165,11 @@
+
+ ..\packages\System.Drawing.Primitives.4.3.0\lib\net45\System.Drawing.Primitives.dll
+ True
+ True
+
..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll
@@ -151,14 +178,24 @@
..\packages\System.Numerics.Vectors.4.4.0\lib\net46\System.Numerics.Vectors.dll
+
+ ..\packages\System.Reactive.4.2.0\lib\net46\System.Reactive.dll
+
..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
+
+ ..\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
+
+
diff --git a/Wabbajack/packages.config b/Wabbajack/packages.config
index 48d6efbc..7dd622df 100644
--- a/Wabbajack/packages.config
+++ b/Wabbajack/packages.config
@@ -3,6 +3,7 @@
+
@@ -13,13 +14,23 @@
+
+
+
+
+
+
+
+
+
+