diff --git a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs index 7e4c55e4d..c03c4c45f 100644 --- a/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs +++ b/src/Ryujinx/UI/Applet/AvaHostUIHandler.cs @@ -75,31 +75,32 @@ namespace Ryujinx.Ava.UI.Applet bool opened = false; UserResult response = await ContentDialogHelper.ShowDeferredContentDialog(_parent, - title, - message, - string.Empty, - LocaleManager.Instance[LocaleKeys.DialogOpenSettingsWindowLabel], - string.Empty, - LocaleManager.Instance[LocaleKeys.SettingsButtonClose], - (int)Symbol.Important, - deferEvent, - async window => - { - if (opened) - { - return; - } + title, + message, + string.Empty, + LocaleManager.Instance[LocaleKeys.DialogOpenSettingsWindowLabel], + string.Empty, + LocaleManager.Instance[LocaleKeys.SettingsButtonClose], + (int)Symbol.Important, + deferEvent, + async window => + { + if (opened) + { + return; + } - opened = true; + opened = true; - _parent.SettingsWindow = new SettingsWindow(_parent.VirtualFileSystem, _parent.ContentManager); + _parent.SettingsWindow = + new SettingsWindow(_parent.VirtualFileSystem, _parent.ContentManager); - await _parent.SettingsWindow.ShowDialog(window); + await _parent.SettingsWindow.ShowDialog(window); - _parent.SettingsWindow = null; + _parent.SettingsWindow = null; - opened = false; - }); + opened = false; + }); if (response == UserResult.Ok) { @@ -110,7 +111,9 @@ namespace Ryujinx.Ava.UI.Applet } catch (Exception ex) { - await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogMessageDialogErrorExceptionMessage, ex)); + await ContentDialogHelper.CreateErrorDialog( + LocaleManager.Instance.UpdateAndGetDynamicValue( + LocaleKeys.DialogMessageDialogErrorExceptionMessage, ex)); dialogCloseEvent.Set(); } @@ -134,7 +137,9 @@ namespace Ryujinx.Ava.UI.Applet try { _parent.ViewModel.AppHost.NpadManager.BlockInputUpdates(); - (UserResult result, string userInput) = await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.SoftwareKeyboard], args); + (UserResult result, string userInput) = + await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.SoftwareKeyboard], + args); if (result == UserResult.Ok) { @@ -146,7 +151,9 @@ namespace Ryujinx.Ava.UI.Applet { error = true; - await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogSoftwareKeyboardErrorExceptionMessage, ex)); + await ContentDialogHelper.CreateErrorDialog( + LocaleManager.Instance.UpdateAndGetDynamicValue( + LocaleKeys.DialogSoftwareKeyboardErrorExceptionMessage, ex)); } finally { @@ -177,7 +184,8 @@ namespace Ryujinx.Ava.UI.Applet args.InitialText = "Ryujinx"; args.StringLengthMin = 1; args.StringLengthMax = 25; - (UserResult result, string userInput) = await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.CabinetDialog], args); + (UserResult result, string userInput) = + await SwkbdAppletDialog.ShowInputDialog(LocaleManager.Instance[LocaleKeys.CabinetDialog], args); if (result == UserResult.Ok) { inputText = userInput; @@ -201,11 +209,13 @@ namespace Ryujinx.Ava.UI.Applet Dispatcher.UIThread.InvokeAsync(async () => { dialogCloseEvent.Set(); - await ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.CabinetScanDialog], - string.Empty, - LocaleManager.Instance[LocaleKeys.InputDialogOk], - string.Empty, - LocaleManager.Instance[LocaleKeys.CabinetTitle]); + await ContentDialogHelper.CreateInfoDialog( + LocaleManager.Instance[LocaleKeys.CabinetScanDialog], + string.Empty, + LocaleManager.Instance[LocaleKeys.InputDialogOk], + string.Empty, + LocaleManager.Instance[LocaleKeys.CabinetTitle] + ); }); dialogCloseEvent.WaitOne(); } @@ -217,7 +227,8 @@ namespace Ryujinx.Ava.UI.Applet _parent.ViewModel.AppHost?.Stop(); } - public bool DisplayErrorAppletDialog(string title, string message, string[] buttons, (uint Module, uint Description)? errorCode = null) + public bool DisplayErrorAppletDialog(string title, string message, string[] buttons, + (uint Module, uint Description)? errorCode = null) { ManualResetEvent dialogCloseEvent = new(false); @@ -229,9 +240,7 @@ namespace Ryujinx.Ava.UI.Applet { ErrorAppletWindow msgDialog = new(_parent, buttons, message) { - Title = title, - WindowStartupLocation = WindowStartupLocation.CenterScreen, - Width = 400 + Title = title, WindowStartupLocation = WindowStartupLocation.CenterScreen, Width = 400 }; object response = await msgDialog.Run(); @@ -249,7 +258,9 @@ namespace Ryujinx.Ava.UI.Applet { dialogCloseEvent.Set(); - await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.DialogErrorAppletErrorExceptionMessage, ex)); + await ContentDialogHelper.CreateErrorDialog( + LocaleManager.Instance.UpdateAndGetDynamicValue( + LocaleKeys.DialogErrorAppletErrorExceptionMessage, ex)); } }); @@ -259,37 +270,36 @@ namespace Ryujinx.Ava.UI.Applet } public IDynamicTextInputHandler CreateDynamicTextInputHandler() => new AvaloniaDynamicTextInputHandler(_parent); - + public UserProfile ShowPlayerSelectDialog() { UserId selected = UserId.Null; byte[] defaultGuestImage = EmbeddedResources.Read("Ryujinx.HLE/HOS/Services/Account/Acc/GuestUserImage.jpg"); UserProfile guest = new(new UserId("00000000000000000000000000000080"), "Guest", defaultGuestImage); - + ManualResetEvent dialogCloseEvent = new(false); - + Dispatcher.UIThread.InvokeAsync(async () => { ObservableCollection profiles = []; NavigationDialogHost nav = new(); - + _parent.AccountManager.GetAllUsers() .OrderBy(x => x.Name) .ForEach(profile => profiles.Add(new Models.UserProfile(profile, nav))); - + profiles.Add(new Models.UserProfile(guest, nav)); ProfileSelectorDialogViewModel viewModel = new() { - Profiles = profiles, - SelectedUserId = _parent.AccountManager.LastOpenedUser.UserId + Profiles = profiles, SelectedUserId = _parent.AccountManager.LastOpenedUser.UserId }; (selected, _) = await ProfileSelectorDialog.ShowInputDialog(viewModel); - + dialogCloseEvent.Set(); }); - + dialogCloseEvent.WaitOne(); - + UserProfile profile = _parent.AccountManager.LastOpenedUser; if (selected == guest.UserId) { @@ -310,6 +320,7 @@ namespace Ryujinx.Ava.UI.Applet } } } + return profile; } }