Files
Kenji-NX/src/Ryujinx/UI/Views/Input/RumbleInputView.axaml.cs
T
KeatonTheBot 47e55acf21 UI: Update Avalonia to v12.1
- Avalonia to 12.1.1

- FluentAvalonia to 3.0.2

- Move DevTools Ctrl+F12 keybind to app initialization
2026-08-16 16:37:27 -05:00

58 lines
1.7 KiB
C#

using Avalonia.Controls;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.UI.Models.Input;
using Ryujinx.Ava.UI.ViewModels.Input;
using System.Threading.Tasks;
namespace Ryujinx.Ava.UI.Views.Input
{
public partial class RumbleInputView : UserControl
{
private readonly RumbleInputViewModel _viewModel;
public RumbleInputView()
{
InitializeComponent();
}
public RumbleInputView(ControllerInputViewModel viewModel)
{
GamepadInputConfig config = viewModel.Config;
_viewModel = new RumbleInputViewModel
{
StrongRumble = config.StrongRumble,
WeakRumble = config.WeakRumble,
};
InitializeComponent();
DataContext = _viewModel;
}
public static async Task Show(ControllerInputViewModel viewModel)
{
RumbleInputView content = new(viewModel);
FAContentDialog contentDialog = new()
{
Title = LocaleManager.Instance[LocaleKeys.ControllerRumbleTitle],
PrimaryButtonText = LocaleManager.Instance[LocaleKeys.ControllerSettingsSave],
SecondaryButtonText = "",
CloseButtonText = LocaleManager.Instance[LocaleKeys.ControllerSettingsClose],
Content = content,
};
contentDialog.PrimaryButtonClick += (_, _) =>
{
GamepadInputConfig config = viewModel.Config;
config.StrongRumble = content._viewModel.StrongRumble;
config.WeakRumble = content._viewModel.WeakRumble;
};
await contentDialog.ShowAsync();
}
}
}