* Refactor * Apply suggestions from code review Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update src/Ryujinx/UI/Views/Settings/SettingsHotkeysView.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update src/Ryujinx.Input/ButtonValueType.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Add empty line * Requested renames * Update src/Ryujinx/UI/Views/Settings/SettingsHotkeysView.axaml.cs Co-authored-by: gdkchan <gab.dark.100@gmail.com> * Make parent models private readonly * Fix ControllerInputView * Make line shorter * Mac keys in locale * Double line break * Fix build * Get rid of _isValid * Fix potential race condition * Rename HasAnyButtonPressed to IsAnyButtonPressed * Use switches * Simplify enumeration --------- Co-authored-by: Ac_K <Acoustik666@gmail.com> Co-authored-by: gdkchan <gab.dark.100@gmail.com> Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
62 lines
1.8 KiB
C#
62 lines
1.8 KiB
C#
using Avalonia.Controls;
|
|
using Ryujinx.Ava.Common.Locale;
|
|
using Ryujinx.Ava.UI.Helpers;
|
|
using Ryujinx.Ava.UI.Models;
|
|
using Ryujinx.Ava.UI.ViewModels.Input;
|
|
|
|
namespace Ryujinx.Ava.UI.Views.Input
|
|
{
|
|
public partial class InputView : UserControl
|
|
{
|
|
private bool _dialogOpen;
|
|
private InputViewModel ViewModel { get; set; }
|
|
|
|
public InputView()
|
|
{
|
|
DataContext = ViewModel = new InputViewModel(this);
|
|
|
|
InitializeComponent();
|
|
}
|
|
|
|
public void SaveCurrentProfile()
|
|
{
|
|
ViewModel.Save();
|
|
}
|
|
|
|
private async void PlayerIndexBox_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
|
|
{
|
|
if (ViewModel.IsModified && !_dialogOpen)
|
|
{
|
|
_dialogOpen = true;
|
|
|
|
var result = await ContentDialogHelper.CreateConfirmationDialog(
|
|
LocaleManager.Instance[LocaleKeys.DialogControllerSettingsModifiedConfirmMessage],
|
|
LocaleManager.Instance[LocaleKeys.DialogControllerSettingsModifiedConfirmSubMessage],
|
|
LocaleManager.Instance[LocaleKeys.InputDialogYes],
|
|
LocaleManager.Instance[LocaleKeys.InputDialogNo],
|
|
LocaleManager.Instance[LocaleKeys.RyujinxConfirm]);
|
|
|
|
if (result == UserResult.Yes)
|
|
{
|
|
ViewModel.Save();
|
|
}
|
|
|
|
_dialogOpen = false;
|
|
|
|
ViewModel.IsModified = false;
|
|
|
|
if (e.AddedItems.Count > 0)
|
|
{
|
|
var player = (PlayerModel)e.AddedItems[0];
|
|
ViewModel.PlayerId = player.Id;
|
|
}
|
|
}
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
ViewModel.Dispose();
|
|
}
|
|
}
|
|
}
|