From 7d9a5feccbedc32dfeec00478c3a67ffff26dc60 Mon Sep 17 00:00:00 2001 From: Emmanuel Hansen Date: Mon, 11 Jul 2022 22:25:33 +0000 Subject: Avalonia - Couple fixes and improvements (#3451) * fix updater check crash * remove line * reduce cheat window sizes * enable tiered compilation and r2r * remove warning on LaunchState * remove warnings related to tasks * addressed review * undo csproj indentation * fix tabs in axaml file * remove double line * remove R2R --- Ryujinx.Ava/Ui/Windows/CheatWindow.axaml | 14 ++++++++++---- Ryujinx.Ava/Ui/Windows/DlcManagerWindow.axaml.cs | 13 +++++++++---- Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs | 13 +++++++++---- Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml.cs | 15 +++++++++++---- 4 files changed, 39 insertions(+), 16 deletions(-) (limited to 'Ryujinx.Ava/Ui/Windows') diff --git a/Ryujinx.Ava/Ui/Windows/CheatWindow.axaml b/Ryujinx.Ava/Ui/Windows/CheatWindow.axaml index 1685ee80..a5a4b0ee 100644 --- a/Ryujinx.Ava/Ui/Windows/CheatWindow.axaml +++ b/Ryujinx.Ava/Ui/Windows/CheatWindow.axaml @@ -7,7 +7,6 @@ xmlns:model="clr-namespace:Ryujinx.Ava.Ui.Models" xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows" mc:Ignorable="d" - SizeToContent="Height" Width="500" MinHeight="500" Height="500" WindowStartupLocation="CenterOwner" MinWidth="500"> @@ -45,6 +44,13 @@ VerticalAlignment="Stretch" Name="CheatsView" MinHeight="300"> + + + + + @@ -56,9 +62,9 @@ - - - + + + diff --git a/Ryujinx.Ava/Ui/Windows/DlcManagerWindow.axaml.cs b/Ryujinx.Ava/Ui/Windows/DlcManagerWindow.axaml.cs index cb2ed324..7450c64f 100644 --- a/Ryujinx.Ava/Ui/Windows/DlcManagerWindow.axaml.cs +++ b/Ryujinx.Ava/Ui/Windows/DlcManagerWindow.axaml.cs @@ -2,6 +2,7 @@ using Avalonia; using Avalonia.Collections; using Avalonia.Controls; using Avalonia.Markup.Xaml; +using Avalonia.Threading; using LibHac.Common; using LibHac.Fs; using LibHac.Fs.Fsa; @@ -21,6 +22,7 @@ using System.Diagnostics; using System.IO; using System.Linq; using System.Text; +using System.Threading.Tasks; using Path = System.IO.Path; namespace Ryujinx.Ava.Ui.Windows @@ -125,15 +127,18 @@ namespace Ryujinx.Ava.Ui.Windows } catch (Exception ex) { - ContentDialogHelper.CreateErrorDialog(this, + Dispatcher.UIThread.InvokeAsync(async () => + { + await ContentDialogHelper.CreateErrorDialog(this, string.Format(LocaleManager.Instance[ "DialogDlcLoadNcaErrorMessage"], ex.Message, containerPath)); + }); } return null; } - private void AddDlc(string path) + private async Task AddDlc(string path) { if (!File.Exists(path) || Dlcs.FirstOrDefault(x => x.ContainerPath == path) != null) { @@ -175,7 +180,7 @@ namespace Ryujinx.Ava.Ui.Windows if (!containsDlc) { - ContentDialogHelper.CreateErrorDialog(this, LocaleManager.Instance["DialogDlcNoDlcErrorMessage"]); + await ContentDialogHelper.CreateErrorDialog(this, LocaleManager.Instance["DialogDlcNoDlcErrorMessage"]); } } } @@ -214,7 +219,7 @@ namespace Ryujinx.Ava.Ui.Windows { foreach (string file in files) { - AddDlc(file); + await AddDlc(file); } } } diff --git a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs b/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs index bea84e3b..2b5c10e2 100644 --- a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs +++ b/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs @@ -120,8 +120,6 @@ namespace Ryujinx.Ava.Ui.Windows InputManager = new InputManager(new AvaloniaKeyboardDriver(this), new SDL2GamepadDriver()); LoadGameList(); - - CheckLaunchState(); } _rendererWaitEvent = new AutoResetEvent(false); @@ -451,7 +449,7 @@ namespace Ryujinx.Ava.Ui.Windows RefreshFirmwareStatus(); } - protected async void CheckLaunchState() + protected void CheckLaunchState() { if (ShowKeyErrorOnLoad) { @@ -470,7 +468,7 @@ namespace Ryujinx.Ava.Ui.Windows if (ConfigurationState.Instance.CheckUpdatesOnStart.Value && Updater.CanUpdate(false, this)) { - await Updater.BeginParse(this, false).ContinueWith(task => + Updater.BeginParse(this, false).ContinueWith(task => { Logger.Error?.Print(LogClass.Application, $"Updater Error: {task.Exception}"); }, TaskContinuationOptions.OnlyOnFaulted); @@ -537,6 +535,13 @@ namespace Ryujinx.Ava.Ui.Windows LoadHotKeys(); } + protected override void OnOpened(EventArgs e) + { + base.OnOpened(e); + + CheckLaunchState(); + } + public static void UpdateGraphicsConfig() { int resScale = ConfigurationState.Instance.Graphics.ResScale; diff --git a/Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml.cs b/Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml.cs index edc1abcd..e465dc6e 100644 --- a/Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml.cs +++ b/Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml.cs @@ -24,6 +24,7 @@ using System.Text; using Path = System.IO.Path; using SpanHelpers = LibHac.Common.SpanHelpers; using LibHac.Tools.FsSystem; +using Avalonia.Threading; namespace Ryujinx.Ava.Ui.Windows { @@ -151,14 +152,20 @@ namespace Ryujinx.Ava.Ui.Windows } else { - ContentDialogHelper.CreateErrorDialog(this, - LocaleManager.Instance["DialogUpdateAddUpdateErrorMessage"]); + Dispatcher.UIThread.Post(async () => + { + await ContentDialogHelper.CreateErrorDialog(this, + LocaleManager.Instance["DialogUpdateAddUpdateErrorMessage"]); + }); } } catch (Exception ex) { - ContentDialogHelper.CreateErrorDialog(this, - string.Format(LocaleManager.Instance["DialogDlcLoadNcaErrorMessage"], ex.Message, path)); + Dispatcher.UIThread.Post(async () => + { + await ContentDialogHelper.CreateErrorDialog(this, + string.Format(LocaleManager.Instance["DialogDlcLoadNcaErrorMessage"], ex.Message, path)); + }); } } } -- cgit v1.2.3