diff options
Diffstat (limited to 'Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs')
-rw-r--r-- | Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs | 127 |
1 files changed, 46 insertions, 81 deletions
diff --git a/Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs b/Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs index cdc5de93..15ecaa77 100644 --- a/Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs +++ b/Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs @@ -16,7 +16,6 @@ namespace Ryujinx.Ava.Ui.Controls private static bool _isChoiceDialogOpen; private async static Task<UserResult> ShowContentDialog( - StyleableWindow window, string title, string primaryText, string secondaryText, @@ -28,35 +27,32 @@ namespace Ryujinx.Ava.Ui.Controls { UserResult result = UserResult.None; - ContentDialog contentDialog = window.ContentDialog; + ContentDialog contentDialog = new ContentDialog(); await ShowDialog(); async Task ShowDialog() { - if (contentDialog != null) - { - contentDialog.Title = title; - contentDialog.PrimaryButtonText = primaryButton; - contentDialog.SecondaryButtonText = secondaryButton; - contentDialog.CloseButtonText = closeButton; - contentDialog.Content = CreateDialogTextContent(primaryText, secondaryText, iconSymbol); + contentDialog.Title = title; + contentDialog.PrimaryButtonText = primaryButton; + contentDialog.SecondaryButtonText = secondaryButton; + contentDialog.CloseButtonText = closeButton; + contentDialog.Content = CreateDialogTextContent(primaryText, secondaryText, iconSymbol); - contentDialog.PrimaryButtonCommand = MiniCommand.Create(() => - { - result = primaryButtonResult; - }); - contentDialog.SecondaryButtonCommand = MiniCommand.Create(() => - { - result = UserResult.No; - }); - contentDialog.CloseButtonCommand = MiniCommand.Create(() => - { - result = UserResult.Cancel; - }); + contentDialog.PrimaryButtonCommand = MiniCommand.Create(() => + { + result = primaryButtonResult; + }); + contentDialog.SecondaryButtonCommand = MiniCommand.Create(() => + { + result = UserResult.No; + }); + contentDialog.CloseButtonCommand = MiniCommand.Create(() => + { + result = UserResult.Cancel; + }); - await contentDialog.ShowAsync(ContentDialogPlacement.Popup); - }; + await contentDialog.ShowAsync(ContentDialogPlacement.Popup); } return result; @@ -78,35 +74,30 @@ namespace Ryujinx.Ava.Ui.Controls UserResult result = UserResult.None; - ContentDialog contentDialog = window.ContentDialog; - - Window overlay = window; - - if (contentDialog != null) + ContentDialog contentDialog = new ContentDialog { - contentDialog.PrimaryButtonClick += DeferClose; - contentDialog.Title = title; - contentDialog.PrimaryButtonText = primaryButton; - contentDialog.SecondaryButtonText = secondaryButton; - contentDialog.CloseButtonText = closeButton; - contentDialog.Content = CreateDialogTextContent(primaryText, secondaryText, iconSymbol); - - contentDialog.PrimaryButtonCommand = MiniCommand.Create(() => + Title = title, + PrimaryButtonText = primaryButton, + SecondaryButtonText = secondaryButton, + CloseButtonText = closeButton, + Content = CreateDialogTextContent(primaryText, secondaryText, iconSymbol), + PrimaryButtonCommand = MiniCommand.Create(() => { result = primaryButton == LocaleManager.Instance["InputDialogYes"] ? UserResult.Yes : UserResult.Ok; - }); - contentDialog.SecondaryButtonCommand = MiniCommand.Create(() => - { - contentDialog.PrimaryButtonClick -= DeferClose; - result = UserResult.No; - }); - contentDialog.CloseButtonCommand = MiniCommand.Create(() => - { - contentDialog.PrimaryButtonClick -= DeferClose; - result = UserResult.Cancel; - }); - await contentDialog.ShowAsync(ContentDialogPlacement.Popup); + }), }; + contentDialog.SecondaryButtonCommand = MiniCommand.Create(() => + { + contentDialog.PrimaryButtonClick -= DeferClose; + result = UserResult.No; + }); + contentDialog.CloseButtonCommand = MiniCommand.Create(() => + { + contentDialog.PrimaryButtonClick -= DeferClose; + result = UserResult.Cancel; + }); + contentDialog.PrimaryButtonClick += DeferClose; + await contentDialog.ShowAsync(ContentDialogPlacement.Popup); return result; @@ -141,7 +132,7 @@ namespace Ryujinx.Ava.Ui.Controls if (doWhileDeferred != null) { - await doWhileDeferred(overlay); + await doWhileDeferred(window); deferResetEvent.Set(); } @@ -191,7 +182,6 @@ namespace Ryujinx.Ava.Ui.Controls } public static async Task<UserResult> CreateInfoDialog( - StyleableWindow window, string primary, string secondaryText, string acceptButton, @@ -199,7 +189,6 @@ namespace Ryujinx.Ava.Ui.Controls string title) { return await ShowContentDialog( - window, title, primary, secondaryText, @@ -210,7 +199,6 @@ namespace Ryujinx.Ava.Ui.Controls } internal static async Task<UserResult> CreateConfirmationDialog( - StyleableWindow window, string primaryText, string secondaryText, string acceptButtonText, @@ -219,7 +207,6 @@ namespace Ryujinx.Ava.Ui.Controls UserResult primaryButtonResult = UserResult.Yes) { return await ShowContentDialog( - window, string.IsNullOrWhiteSpace(title) ? LocaleManager.Instance["DialogConfirmationTitle"] : title, primaryText, secondaryText, @@ -235,10 +222,9 @@ namespace Ryujinx.Ava.Ui.Controls return new(mainText, secondaryText); } - internal static async Task CreateUpdaterInfoDialog(StyleableWindow window, string primary, string secondaryText) + internal static async Task CreateUpdaterInfoDialog(string primary, string secondaryText) { await ShowContentDialog( - window, LocaleManager.Instance["DialogUpdaterTitle"], primary, secondaryText, @@ -248,24 +234,9 @@ namespace Ryujinx.Ava.Ui.Controls (int)Symbol.Important); } - internal static async Task ShowNotAvailableMessage(StyleableWindow window) - { - // Temporary placeholder for features to be added - await ShowContentDialog( - window, - "Feature Not Available", - "The selected feature is not available in this version.", - "", - "", - "", - LocaleManager.Instance["InputDialogOk"], - (int)Symbol.Important); - } - - internal static async Task CreateWarningDialog(StyleableWindow window, string primary, string secondaryText) + internal static async Task CreateWarningDialog(string primary, string secondaryText) { await ShowContentDialog( - window, LocaleManager.Instance["DialogWarningTitle"], primary, secondaryText, @@ -275,12 +246,11 @@ namespace Ryujinx.Ava.Ui.Controls (int)Symbol.Important); } - internal static async Task CreateErrorDialog(StyleableWindow owner, string errorMessage, string secondaryErrorMessage = "") + internal static async Task CreateErrorDialog(string errorMessage, string secondaryErrorMessage = "") { Logger.Error?.Print(LogClass.Application, errorMessage); await ShowContentDialog( - owner, LocaleManager.Instance["DialogErrorTitle"], LocaleManager.Instance["DialogErrorMessage"], errorMessage, @@ -290,7 +260,7 @@ namespace Ryujinx.Ava.Ui.Controls (int)Symbol.Dismiss); } - internal static async Task<bool> CreateChoiceDialog(StyleableWindow window, string title, string primary, string secondaryText) + internal static async Task<bool> CreateChoiceDialog(string title, string primary, string secondaryText) { if (_isChoiceDialogOpen) { @@ -301,7 +271,6 @@ namespace Ryujinx.Ava.Ui.Controls UserResult response = await ShowContentDialog( - window, title, primary, secondaryText, @@ -316,19 +285,17 @@ namespace Ryujinx.Ava.Ui.Controls return response == UserResult.Yes; } - internal static async Task<bool> CreateExitDialog(StyleableWindow owner) + internal static async Task<bool> CreateExitDialog() { return await CreateChoiceDialog( - owner, LocaleManager.Instance["DialogExitTitle"], LocaleManager.Instance["DialogExitMessage"], LocaleManager.Instance["DialogExitSubMessage"]); } - internal static async Task<bool> CreateStopEmulationDialog(StyleableWindow owner) + internal static async Task<bool> CreateStopEmulationDialog() { return await CreateChoiceDialog( - owner, LocaleManager.Instance["DialogStopEmulationTitle"], LocaleManager.Instance["DialogStopEmulationMessage"], LocaleManager.Instance["DialogExitSubMessage"]); @@ -338,12 +305,10 @@ namespace Ryujinx.Ava.Ui.Controls string title, string mainText, string subText, - StyleableWindow owner, uint maxLength = int.MaxValue, string input = "") { var result = await InputDialog.ShowInputDialog( - owner, title, mainText, input, |