aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs')
-rw-r--r--Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs127
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,