aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs
diff options
context:
space:
mode:
authorMary Guillemard <mary@mary.zone>2024-03-02 12:51:05 +0100
committerGitHub <noreply@github.com>2024-03-02 12:51:05 +0100
commitec6cb0abb4b7669895b6e96fd7581c93b5abd691 (patch)
tree128c862ff5faea0b219467656d4023bee7faefb5 /src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs
parent53b5985da6b9d7b281d9fc25b93bfd1d1918a107 (diff)
infra: Make Avalonia the default UI (#6375)
* misc: Move Ryujinx project to Ryujinx.Gtk3 This breaks release CI for now but that's fine. Signed-off-by: Mary Guillemard <mary@mary.zone> * misc: Move Ryujinx.Ava project to Ryujinx This breaks CI for now, but it's fine. Signed-off-by: Mary Guillemard <mary@mary.zone> * infra: Make Avalonia the default UI Should fix CI after the previous changes. GTK3 isn't build by the release job anymore, only by PR CI. This also ensure that the test-ava update package is still generated to allow update from the old testing channel. Signed-off-by: Mary Guillemard <mary@mary.zone> * Fix missing copy in create_app_bundle.sh Signed-off-by: Mary Guillemard <mary@mary.zone> * Fix syntax error Signed-off-by: Mary Guillemard <mary@mary.zone> --------- Signed-off-by: Mary Guillemard <mary@mary.zone>
Diffstat (limited to 'src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs')
-rw-r--r--src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs140
1 files changed, 0 insertions, 140 deletions
diff --git a/src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs b/src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs
deleted file mode 100644
index 279af07c..00000000
--- a/src/Ryujinx.Ava/UI/Applet/ControllerAppletDialog.axaml.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-using Avalonia.Controls;
-using Avalonia.Styling;
-using Avalonia.Svg.Skia;
-using Avalonia.Threading;
-using FluentAvalonia.UI.Controls;
-using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.UI.Helpers;
-using Ryujinx.Ava.UI.Windows;
-using Ryujinx.Common;
-using Ryujinx.HLE.HOS.Applets;
-using Ryujinx.HLE.HOS.Services.Hid;
-using System;
-using System.Linq;
-using System.Threading.Tasks;
-
-namespace Ryujinx.Ava.UI.Applet
-{
- internal partial class ControllerAppletDialog : UserControl
- {
- private const string ProControllerResource = "Ryujinx.Ava/Assets/Icons/Controller_ProCon.svg";
- private const string JoyConPairResource = "Ryujinx.Ava/Assets/Icons/Controller_JoyConPair.svg";
- private const string JoyConLeftResource = "Ryujinx.Ava/Assets/Icons/Controller_JoyConLeft.svg";
- private const string JoyConRightResource = "Ryujinx.Ava/Assets/Icons/Controller_JoyConRight.svg";
-
- public static SvgImage ProControllerImage => GetResource(ProControllerResource);
- public static SvgImage JoyconPairImage => GetResource(JoyConPairResource);
- public static SvgImage JoyconLeftImage => GetResource(JoyConLeftResource);
- public static SvgImage JoyconRightImage => GetResource(JoyConRightResource);
-
- public string PlayerCount { get; set; } = "";
- public bool SupportsProController { get; set; }
- public bool SupportsLeftJoycon { get; set; }
- public bool SupportsRightJoycon { get; set; }
- public bool SupportsJoyconPair { get; set; }
- public bool IsDocked { get; set; }
-
- private readonly MainWindow _mainWindow;
-
- public ControllerAppletDialog(MainWindow mainWindow, ControllerAppletUIArgs args)
- {
- if (args.PlayerCountMin == args.PlayerCountMax)
- {
- PlayerCount = args.PlayerCountMin.ToString();
- }
- else
- {
- PlayerCount = $"{args.PlayerCountMin} - {args.PlayerCountMax}";
- }
-
- SupportsProController = (args.SupportedStyles & ControllerType.ProController) != 0;
- SupportsLeftJoycon = (args.SupportedStyles & ControllerType.JoyconLeft) != 0;
- SupportsRightJoycon = (args.SupportedStyles & ControllerType.JoyconRight) != 0;
- SupportsJoyconPair = (args.SupportedStyles & ControllerType.JoyconPair) != 0;
-
- IsDocked = args.IsDocked;
-
- _mainWindow = mainWindow;
-
- DataContext = this;
-
- InitializeComponent();
- }
-
- public ControllerAppletDialog(MainWindow mainWindow)
- {
- _mainWindow = mainWindow;
- DataContext = this;
-
- InitializeComponent();
- }
-
- public static async Task<UserResult> ShowControllerAppletDialog(MainWindow window, ControllerAppletUIArgs args)
- {
- ContentDialog contentDialog = new();
- UserResult result = UserResult.Cancel;
- ControllerAppletDialog content = new(window, args);
-
- contentDialog.Title = LocaleManager.Instance[LocaleKeys.DialogControllerAppletTitle];
- contentDialog.Content = content;
-
- void Handler(ContentDialog sender, ContentDialogClosedEventArgs eventArgs)
- {
- if (eventArgs.Result == ContentDialogResult.Primary)
- {
- result = UserResult.Ok;
- }
- }
-
- contentDialog.Closed += Handler;
-
- Style bottomBorder = new(x => x.OfType<Grid>().Name("DialogSpace").Child().OfType<Border>());
- bottomBorder.Setters.Add(new Setter(IsVisibleProperty, false));
-
- contentDialog.Styles.Add(bottomBorder);
-
- await ContentDialogHelper.ShowAsync(contentDialog);
-
- return result;
- }
-
- private static SvgImage GetResource(string path)
- {
- SvgImage image = new();
-
- if (!string.IsNullOrWhiteSpace(path))
- {
- SvgSource source = new(default(Uri));
-
- source.Load(EmbeddedResources.GetStream(path));
-
- image.Source = source;
- }
-
- return image;
- }
-
- public void OpenSettingsWindow()
- {
- if (_mainWindow.SettingsWindow == null)
- {
- Dispatcher.UIThread.InvokeAsync(async () =>
- {
- _mainWindow.SettingsWindow = new SettingsWindow(_mainWindow.VirtualFileSystem, _mainWindow.ContentManager);
- _mainWindow.SettingsWindow.NavPanel.Content = _mainWindow.SettingsWindow.InputPage;
- _mainWindow.SettingsWindow.NavPanel.SelectedItem = _mainWindow.SettingsWindow.NavPanel.MenuItems.ElementAt(1);
-
- await ContentDialogHelper.ShowWindowAsync(_mainWindow.SettingsWindow, _mainWindow);
- _mainWindow.SettingsWindow = null;
- this.Close();
- });
- }
- }
-
- public void Close()
- {
- ((ContentDialog)Parent)?.Hide();
- }
- }
-}
-