From ec6cb0abb4b7669895b6e96fd7581c93b5abd691 Mon Sep 17 00:00:00 2001
From: Mary Guillemard <mary@mary.zone>
Date: Sat, 2 Mar 2024 12:51:05 +0100
Subject: 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>
---
 .../UI/Views/Input/MotionInputView.axaml.cs        | 68 ++++++++++++++++++++++
 1 file changed, 68 insertions(+)
 create mode 100644 src/Ryujinx/UI/Views/Input/MotionInputView.axaml.cs

(limited to 'src/Ryujinx/UI/Views/Input/MotionInputView.axaml.cs')

diff --git a/src/Ryujinx/UI/Views/Input/MotionInputView.axaml.cs b/src/Ryujinx/UI/Views/Input/MotionInputView.axaml.cs
new file mode 100644
index 00000000..1b340752
--- /dev/null
+++ b/src/Ryujinx/UI/Views/Input/MotionInputView.axaml.cs
@@ -0,0 +1,68 @@
+using Avalonia.Controls;
+using FluentAvalonia.UI.Controls;
+using Ryujinx.Ava.Common.Locale;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.ViewModels;
+using Ryujinx.Common.Configuration.Hid.Controller;
+using System.Threading.Tasks;
+
+namespace Ryujinx.Ava.UI.Views.Input
+{
+    public partial class MotionInputView : UserControl
+    {
+        private readonly MotionInputViewModel _viewModel;
+
+        public MotionInputView()
+        {
+            InitializeComponent();
+        }
+
+        public MotionInputView(ControllerInputViewModel viewModel)
+        {
+            var config = viewModel.Configuration as InputConfiguration<GamepadInputId, StickInputId>;
+
+            _viewModel = new MotionInputViewModel
+            {
+                Slot = config.Slot,
+                AltSlot = config.AltSlot,
+                DsuServerHost = config.DsuServerHost,
+                DsuServerPort = config.DsuServerPort,
+                MirrorInput = config.MirrorInput,
+                Sensitivity = config.Sensitivity,
+                GyroDeadzone = config.GyroDeadzone,
+                EnableCemuHookMotion = config.EnableCemuHookMotion,
+            };
+
+            InitializeComponent();
+            DataContext = _viewModel;
+        }
+
+        public static async Task Show(ControllerInputViewModel viewModel)
+        {
+            MotionInputView content = new(viewModel);
+
+            ContentDialog contentDialog = new()
+            {
+                Title = LocaleManager.Instance[LocaleKeys.ControllerMotionTitle],
+                PrimaryButtonText = LocaleManager.Instance[LocaleKeys.ControllerSettingsSave],
+                SecondaryButtonText = "",
+                CloseButtonText = LocaleManager.Instance[LocaleKeys.ControllerSettingsClose],
+                Content = content,
+            };
+            contentDialog.PrimaryButtonClick += (sender, args) =>
+            {
+                var config = viewModel.Configuration as InputConfiguration<GamepadInputId, StickInputId>;
+                config.Slot = content._viewModel.Slot;
+                config.Sensitivity = content._viewModel.Sensitivity;
+                config.GyroDeadzone = content._viewModel.GyroDeadzone;
+                config.AltSlot = content._viewModel.AltSlot;
+                config.DsuServerHost = content._viewModel.DsuServerHost;
+                config.DsuServerPort = content._viewModel.DsuServerPort;
+                config.EnableCemuHookMotion = content._viewModel.EnableCemuHookMotion;
+                config.MirrorInput = content._viewModel.MirrorInput;
+            };
+
+            await contentDialog.ShowAsync();
+        }
+    }
+}
-- 
cgit v1.2.3-70-g09d2