Removed Dispatcher members in favor of static reference

This commit is contained in:
Justin Swanson 2019-10-11 17:34:59 -05:00
parent 5ebf9af0aa
commit 2b57e1590c
4 changed files with 9 additions and 15 deletions

View File

@ -37,8 +37,6 @@ namespace Wabbajack
public volatile bool Dirty;
public readonly Dispatcher dispatcher;
// Command properties
public IReactiveCommand ChangePathCommand => ReactiveCommand.Create(ExecuteChangePath);
public IReactiveCommand ChangeDownloadPathCommand => ReactiveCommand.Create(ExecuteChangeDownloadPath);
@ -49,7 +47,7 @@ namespace Wabbajack
public IReactiveCommand OpenModListPropertiesCommand => ReactiveCommand.Create(OpenModListProperties);
public IReactiveCommand SlideShowNextItemCommand { get; }
public AppState(Dispatcher d, TaskMode mode)
public AppState(TaskMode mode)
{
_wabbajackLogo = UIUtils.BitmapImageFromResource("Wabbajack.UI.banner.png");
_splashScreenImage = _wabbajackLogo;
@ -74,7 +72,6 @@ namespace Wabbajack
Mode = mode;
Dirty = false;
dispatcher = d;
slideshowThread = new Thread(UpdateLoop)
{
@ -313,7 +310,7 @@ namespace Wabbajack
lock (InternalStatus)
{
CPUStatus[] data = InternalStatus.ToArray();
dispatcher.Invoke(() =>
Application.Current.Dispatcher.Invoke(() =>
{
for (var idx = 0; idx < data.Length; idx += 1)
if (idx >= Status.Count)
@ -370,7 +367,7 @@ namespace Wabbajack
public void LogMsg(string msg)
{
dispatcher.Invoke(() => Log.Add(msg));
Application.Current.Dispatcher.Invoke(() => Log.Add(msg));
}
public void SetProgress(int id, string msg, int progress)

View File

@ -30,7 +30,7 @@ namespace Wabbajack
InitializeComponent();
var context = new AppState(Dispatcher, TaskMode.BUILDING);
var context = new AppState(TaskMode.BUILDING);
context.LogMsg($"Wabbajack Build - {ThisAssembly.Git.Sha}");
SetupHandlers(context);
DataContext = context;
@ -39,7 +39,6 @@ namespace Wabbajack
Utils.SetLoggerFn(s => context.LogMsg(s));
Utils.SetStatusFn((msg, progress) => WorkQueue.Report(msg, progress));
UIUtils.Dispatcher = Dispatcher;
_state._nexusSiteURL = "https://github.com/wabbajack-tools/wabbajack";

View File

@ -98,7 +98,7 @@ namespace Wabbajack.UI
_appState.SplashScreenImage = _appState._noneImage;
if (slide.ImageURL != null && slide.Image != null)
{
_appState.dispatcher.Invoke(() =>
System.Windows.Application.Current.Dispatcher.Invoke(() =>
{
if (!CachedSlides.ContainsKey(slide.ModID)) return;
_appState.SplashScreenImage = slide.Image;
@ -123,7 +123,7 @@ namespace Wabbajack.UI
{
if (UseSync)
{
_appState.dispatcher.Invoke(() =>
System.Windows.Application.Current.Dispatcher.Invoke(() =>
{
using (var stream = new HttpClient().GetStreamSync(slide.ImageURL))
stream.CopyTo(ms);
@ -139,7 +139,7 @@ namespace Wabbajack.UI
}
ms.Seek(0, SeekOrigin.Begin);
_appState.dispatcher.Invoke(() =>
System.Windows.Application.Current.Dispatcher.Invoke(() =>
{
var image = new BitmapImage();
image.BeginInit();

View File

@ -14,10 +14,10 @@ namespace Wabbajack
public static string ShowFolderSelectionDialog(string prompt)
{
if (Dispatcher.Thread != Thread.CurrentThread)
if (System.Windows.Application.Current.Dispatcher.Thread != Thread.CurrentThread)
{
var task = new TaskCompletionSource<string>();
Dispatcher.Invoke(() =>
System.Windows.Application.Current.Dispatcher.Invoke(() =>
{
try
{
@ -76,7 +76,5 @@ namespace Wabbajack
return ofd.FileName;
return null;
}
public static Dispatcher Dispatcher { get; set; }
}
}