[Ryujinx.Ava] Address dotnet-format issues (#5361)

* dotnet format style --severity info

Some changes were manually reverted.

* dotnet format analyzers --serverity info

Some changes have been minimally adapted.

* Restore a few unused methods and variables

* Silence dotnet format IDE0060 warnings

* Silence dotnet format IDE0052 warnings

* Silence dotnet format IDE0059 warnings

* Address or silence dotnet format IDE1006 warnings

* Address dotnet format CA1816 warnings

* Address dotnet format CA1822 warnings

* Address or silence dotnet format CA1069 warnings

* Make dotnet format succeed in style mode

* Address dotnet format CA1401 warnings

* Address remaining dotnet format analyzer warnings

* Address review comments

* dotnet-format fixes after rebase

* Address most dotnet format whitespace warnings

* Apply dotnet format whitespace formatting

A few of them have been manually reverted and the corresponding warning was silenced

* Format if-blocks correctly

* Another rebase, another dotnet format run

* Run dotnet format whitespace after rebase

* Run dotnet format style after rebase

* Run dotnet format after rebase and remove unused usings

- analyzers
- style
- whitespace

* Add comments to disabled warnings

* Remove a few unused parameters

* Simplify properties and array initialization, Use const when possible, Remove trailing commas

* Start working on disabled warnings

* Fix and silence a few dotnet-format warnings again

* Address IDE0260 warnings

* Address a few disabled IDE0060 warnings

* Silence IDE0060 in .editorconfig

* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"

This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.

* dotnet format whitespace after rebase

* dotnet format pass with new editorconfig

* Fix naming style issues

* Apply suggestions from code review

Co-authored-by: Ac_K <Acoustik666@gmail.com>

* Revert one suggestion

* Second dotnet format pass and fix build issues

* Final pass of dotnet format

* Add trailing commas

* Fix formatting issues

* Keep unnecessary assignment in IconColorPicker.cs

* Use using declarations and extend resource lifetimes

* Fix rebase issues

* Adjust comment spacing

* Fix typo

* Fix naming issues

* Apply suggestions from code review

Co-authored-by: Ac_K <Acoustik666@gmail.com>

* Revert unintentional change

* Remove unused file

* Remove static keyword from ViewModels

Binding of static members doesn't work and is silently ignored.

---------

Co-authored-by: Ac_K <Acoustik666@gmail.com>
This commit is contained in:
TSRBerry
2023-07-07 23:03:27 +02:00
committed by GitHub
parent 8a363b5df2
commit 6c515e1822
108 changed files with 1140 additions and 1503 deletions

View File

@@ -29,7 +29,7 @@ namespace Ryujinx.Ava.UI.Views.Input
foreach (ILogical visual in SettingButtons.GetLogicalDescendants())
{
if (visual is ToggleButton button && !(visual is CheckBox))
if (visual is ToggleButton button && visual is not CheckBox)
{
button.Checked += Button_Checked;
button.Unchecked += Button_Unchecked;
@@ -177,4 +177,4 @@ namespace Ryujinx.Ava.UI.Views.Input
ViewModel.Dispose();
}
}
}
}

View File

@@ -10,7 +10,7 @@ namespace Ryujinx.Ava.UI.Views.Input
{
public partial class MotionInputView : UserControl
{
private MotionInputViewModel _viewModel;
private readonly MotionInputViewModel _viewModel;
public MotionInputView()
{
@@ -30,7 +30,7 @@ namespace Ryujinx.Ava.UI.Views.Input
MirrorInput = config.MirrorInput,
Sensitivity = config.Sensitivity,
GyroDeadzone = config.GyroDeadzone,
EnableCemuHookMotion = config.EnableCemuHookMotion
EnableCemuHookMotion = config.EnableCemuHookMotion,
};
InitializeComponent();
@@ -47,7 +47,7 @@ namespace Ryujinx.Ava.UI.Views.Input
PrimaryButtonText = LocaleManager.Instance[LocaleKeys.ControllerSettingsSave],
SecondaryButtonText = "",
CloseButtonText = LocaleManager.Instance[LocaleKeys.ControllerSettingsClose],
Content = content
Content = content,
};
contentDialog.PrimaryButtonClick += (sender, args) =>
{
@@ -65,4 +65,4 @@ namespace Ryujinx.Ava.UI.Views.Input
await contentDialog.ShowAsync();
}
}
}
}

View File

@@ -10,7 +10,7 @@ namespace Ryujinx.Ava.UI.Views.Input
{
public partial class RumbleInputView : UserControl
{
private RumbleInputViewModel _viewModel;
private readonly RumbleInputViewModel _viewModel;
public RumbleInputView()
{
@@ -24,11 +24,11 @@ namespace Ryujinx.Ava.UI.Views.Input
_viewModel = new RumbleInputViewModel
{
StrongRumble = config.StrongRumble,
WeakRumble = config.WeakRumble
WeakRumble = config.WeakRumble,
};
InitializeComponent();
DataContext = _viewModel;
}
@@ -55,4 +55,4 @@ namespace Ryujinx.Ava.UI.Views.Input
await contentDialog.ShowAsync();
}
}
}
}

View File

@@ -38,26 +38,26 @@ namespace Ryujinx.Ava.UI.Views.Main
{
List<CheckBox> checkBoxes = new();
foreach (var item in Enum.GetValues(typeof (FileTypes)))
foreach (var item in Enum.GetValues(typeof(FileTypes)))
{
string fileName = Enum.GetName(typeof (FileTypes), item);
checkBoxes.Add(new CheckBox()
string fileName = Enum.GetName(typeof(FileTypes), item);
checkBoxes.Add(new CheckBox
{
Content = $".{fileName}",
IsChecked = ((FileTypes)item).GetConfigValue(ConfigurationState.Instance.Ui.ShownFileTypes),
Command = MiniCommand.Create(() => ViewModel.ToggleFileType(fileName))
Command = MiniCommand.Create(() => ViewModel.ToggleFileType(fileName)),
});
}
return checkBoxes.ToArray();
}
private MenuItem[] GenerateLanguageMenuItems()
private static MenuItem[] GenerateLanguageMenuItems()
{
List<MenuItem> menuItems = new();
string localePath = "Ryujinx.Ava/Assets/Locales";
string localeExt = ".json";
string localeExt = ".json";
string[] localesPath = EmbeddedResources.GetAllAvailableResources(localePath, localeExt);
@@ -67,7 +67,7 @@ namespace Ryujinx.Ava.UI.Views.Main
{
string languageCode = Path.GetFileNameWithoutExtension(locale).Split('.').Last();
string languageJson = EmbeddedResources.ReadAllText($"{localePath}/{languageCode}{localeExt}");
var strings = JsonHelper.Deserialize(languageJson, CommonJsonContext.Default.StringDictionary);
var strings = JsonHelper.Deserialize(languageJson, CommonJsonContext.Default.StringDictionary);
if (!strings.TryGetValue("Language", out string languageName))
{
@@ -76,11 +76,11 @@ namespace Ryujinx.Ava.UI.Views.Main
MenuItem menuItem = new()
{
Header = languageName,
Header = languageName,
Command = MiniCommand.Create(() =>
{
ViewModel.ChangeLanguage(languageCode);
})
MainWindowViewModel.ChangeLanguage(languageCode);
}),
};
menuItems.Add(menuItem);
@@ -236,4 +236,4 @@ namespace Ryujinx.Ava.UI.Views.Main
Window.Close();
}
}
}
}

View File

@@ -49,4 +49,4 @@ namespace Ryujinx.Ava.UI.Views.Main
ConfigurationState.Instance.Graphics.AspectRatio.Value = (int)aspectRatio + 1 > Enum.GetNames(typeof(AspectRatio)).Length - 1 ? AspectRatio.Fixed4x3 : aspectRatio + 1;
}
}
}
}

View File

@@ -12,7 +12,7 @@ namespace Ryujinx.Ava.UI.Views.Main
public partial class MainViewControls : UserControl
{
public MainWindowViewModel ViewModel;
public MainViewControls()
{
InitializeComponent();
@@ -37,7 +37,7 @@ namespace Ryujinx.Ava.UI.Views.Main
ViewModel.Sort(Enum.Parse<ApplicationSort>(button.Tag.ToString()));
}
}
public void Order_Checked(object sender, RoutedEventArgs args)
{
if (sender is RadioButton button)
@@ -45,10 +45,10 @@ namespace Ryujinx.Ava.UI.Views.Main
ViewModel.Sort(button.Tag.ToString() != "Descending");
}
}
private void SearchBox_OnKeyUp(object sender, KeyEventArgs e)
{
ViewModel.SearchText = SearchBox.Text;
}
}
}
}

View File

@@ -9,4 +9,4 @@ namespace Ryujinx.Ava.UI.Views.Settings
InitializeComponent();
}
}
}
}

View File

@@ -9,4 +9,4 @@ namespace Ryujinx.Ava.UI.Views.Settings
InitializeComponent();
}
}
}
}

View File

@@ -9,4 +9,4 @@ namespace Ryujinx.Ava.UI.Views.Settings
InitializeComponent();
}
}
}
}

View File

@@ -12,12 +12,12 @@ namespace Ryujinx.Ava.UI.Views.Settings
public partial class SettingsHotkeysView : UserControl
{
private ButtonKeyAssigner _currentAssigner;
private IGamepadDriver AvaloniaKeyboardDriver;
private readonly IGamepadDriver _avaloniaKeyboardDriver;
public SettingsHotkeysView()
{
InitializeComponent();
AvaloniaKeyboardDriver = new AvaloniaKeyboardDriver(this);
_avaloniaKeyboardDriver = new AvaloniaKeyboardDriver(this);
}
private void MouseClick(object sender, PointerPressedEventArgs e)
@@ -28,7 +28,7 @@ namespace Ryujinx.Ava.UI.Views.Settings
PointerPressed -= MouseClick;
}
private void Button_Checked(object sender, RoutedEventArgs e)
{
if (sender is ToggleButton button)
@@ -46,7 +46,7 @@ namespace Ryujinx.Ava.UI.Views.Settings
PointerPressed += MouseClick;
var keyboard = (IKeyboard)AvaloniaKeyboardDriver.GetGamepad(AvaloniaKeyboardDriver.GamepadsIds[0]);
var keyboard = (IKeyboard)_avaloniaKeyboardDriver.GetGamepad(_avaloniaKeyboardDriver.GamepadsIds[0]);
IButtonAssigner assigner = new KeyboardKeyAssigner(keyboard);
_currentAssigner.GetInputAndAssign(assigner);
@@ -78,4 +78,4 @@ namespace Ryujinx.Ava.UI.Views.Settings
_currentAssigner = null;
}
}
}
}

View File

@@ -14,4 +14,4 @@ namespace Ryujinx.Ava.UI.Views.Settings
ControllerSettings.Dispose();
}
}
}
}

View File

@@ -9,4 +9,4 @@ namespace Ryujinx.Ava.UI.Views.Settings
InitializeComponent();
}
}
}
}

View File

@@ -9,4 +9,4 @@ namespace Ryujinx.Ava.UI.Views.Settings
InitializeComponent();
}
}
}
}

View File

@@ -15,7 +15,7 @@ namespace Ryujinx.Ava.UI.Views.Settings
public SettingsSystemView()
{
InitializeComponent();
FuncMultiValueConverter<string, string> converter = new(parts => string.Format("{0} {1} {2}", parts.ToArray()).Trim());
MultiBinding tzMultiBinding = new() { Converter = converter };
@@ -49,4 +49,4 @@ namespace Ryujinx.Ava.UI.Views.Settings
}
}
}
}
}

View File

@@ -1,5 +1,5 @@
<UserControl
x:Class="Ryujinx.Ava.UI.Views.Settings.SettingsUIView"
x:Class="Ryujinx.Ava.UI.Views.Settings.SettingsUiView"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

View File

@@ -1,4 +1,5 @@
using Avalonia.Controls;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Interactivity;
using Ryujinx.Ava.Common.Locale;
@@ -9,11 +10,11 @@ using System.Linq;
namespace Ryujinx.Ava.UI.Views.Settings
{
public partial class SettingsUIView : UserControl
public partial class SettingsUiView : UserControl
{
public SettingsViewModel ViewModel;
public SettingsUIView()
public SettingsUiView()
{
InitializeComponent();
}
@@ -29,7 +30,7 @@ namespace Ryujinx.Ava.UI.Views.Settings
}
else
{
if (Avalonia.Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
path = await new OpenFolderDialog().ShowAsync(desktop.MainWindow);
@@ -60,15 +61,15 @@ namespace Ryujinx.Ava.UI.Views.Settings
public async void BrowseTheme(object sender, RoutedEventArgs e)
{
var dialog = new OpenFileDialog()
var dialog = new OpenFileDialog
{
Title = LocaleManager.Instance[LocaleKeys.SettingsSelectThemeFileDialogTitle],
AllowMultiple = false
AllowMultiple = false,
};
dialog.Filters.Add(new FileDialogFilter() { Extensions = { "xaml" }, Name = LocaleManager.Instance[LocaleKeys.SettingsXamlThemeFile] });
dialog.Filters.Add(new FileDialogFilter { Extensions = { "xaml" }, Name = LocaleManager.Instance[LocaleKeys.SettingsXamlThemeFile] });
if (Avalonia.Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
if (Application.Current.ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
var file = await dialog.ShowAsync(desktop.MainWindow);
@@ -79,4 +80,4 @@ namespace Ryujinx.Ava.UI.Views.Settings
}
}
}
}
}

View File

@@ -20,7 +20,7 @@ namespace Ryujinx.Ava.UI.Views.User
private bool _isNewUser;
public TempProfile TempProfile { get; set; }
public uint MaxProfileNameLength => 0x20;
public static uint MaxProfileNameLength => 0x20;
public bool IsDeletable => _profile.UserId != AccountManager.DefaultUserId;
public UserEditorView()
@@ -39,17 +39,17 @@ namespace Ryujinx.Ava.UI.Views.User
switch (arg.NavigationMode)
{
case NavigationMode.New:
var args = ((NavigationDialogHost parent, UserProfile profile, bool isNewUser))arg.Parameter;
_isNewUser = args.isNewUser;
_profile = args.profile;
var (parent, profile, isNewUser) = ((NavigationDialogHost parent, UserProfile profile, bool isNewUser))arg.Parameter;
_isNewUser = isNewUser;
_profile = profile;
TempProfile = new TempProfile(_profile);
_parent = args.parent;
_parent = parent;
break;
}
((ContentDialog)_parent.Parent).Title = $"{LocaleManager.Instance[LocaleKeys.UserProfileWindowTitle]} - " +
$"{ (_isNewUser ? LocaleManager.Instance[LocaleKeys.UserEditorTitleCreate] : LocaleManager.Instance[LocaleKeys.UserEditorTitle])}";
$"{(_isNewUser ? LocaleManager.Instance[LocaleKeys.UserEditorTitleCreate] : LocaleManager.Instance[LocaleKeys.UserEditorTitle])}";
DataContext = TempProfile;
@@ -162,4 +162,4 @@ namespace Ryujinx.Ava.UI.Views.User
}
}
}
}
}

View File

@@ -11,6 +11,7 @@ using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.PixelFormats;
using SixLabors.ImageSharp.Processing;
using System.IO;
using Image = SixLabors.ImageSharp.Image;
namespace Ryujinx.Ava.UI.Views.User
{
@@ -70,7 +71,7 @@ namespace Ryujinx.Ava.UI.Views.User
if (ViewModel.SelectedImage != null)
{
MemoryStream streamJpg = new();
SixLabors.ImageSharp.Image avatarImage = SixLabors.ImageSharp.Image.Load(ViewModel.SelectedImage, new PngDecoder());
Image avatarImage = Image.Load(ViewModel.SelectedImage, new PngDecoder());
avatarImage.Mutate(x => x.BackgroundColor(new Rgba32(
ViewModel.BackgroundColor.R,
@@ -85,4 +86,4 @@ namespace Ryujinx.Ava.UI.Views.User
}
}
}
}
}

View File

@@ -67,7 +67,7 @@ namespace Ryujinx.Ava.UI.Views.User
dialog.Filters.Add(new FileDialogFilter
{
Name = LocaleManager.Instance[LocaleKeys.AllSupportedFormats],
Extensions = { "jpg", "jpeg", "png", "bmp" }
Extensions = { "jpg", "jpeg", "png", "bmp" },
});
dialog.Filters.Add(new FileDialogFilter { Name = "JPEG", Extensions = { "jpg", "jpeg" } });
dialog.Filters.Add(new FileDialogFilter { Name = "PNG", Extensions = { "png" } });
@@ -108,17 +108,15 @@ namespace Ryujinx.Ava.UI.Views.User
private static byte[] ProcessProfileImage(byte[] buffer)
{
using (Image image = Image.Load(buffer))
{
image.Mutate(x => x.Resize(256, 256));
using Image image = Image.Load(buffer);
using (MemoryStream streamJpg = new())
{
image.SaveAsJpeg(streamJpg);
image.Mutate(x => x.Resize(256, 256));
return streamJpg.ToArray();
}
}
using MemoryStream streamJpg = new();
image.SaveAsJpeg(streamJpg);
return streamJpg.ToArray();
}
}
}
}

View File

@@ -48,4 +48,4 @@ namespace Ryujinx.Ava.UI.Views.User
_parent?.RecoverLostAccounts();
}
}
}
}

View File

@@ -18,6 +18,7 @@ using Ryujinx.HLE.HOS.Services.Account.Acc;
using System;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
using Button = Avalonia.Controls.Button;
using UserId = LibHac.Fs.UserId;
namespace Ryujinx.Ava.UI.Views.User
@@ -47,12 +48,12 @@ namespace Ryujinx.Ava.UI.Views.User
switch (arg.NavigationMode)
{
case NavigationMode.New:
var args = ((NavigationDialogHost parent, AccountManager accountManager, HorizonClient client, VirtualFileSystem virtualFileSystem))arg.Parameter;
_accountManager = args.accountManager;
_horizonClient = args.client;
_virtualFileSystem = args.virtualFileSystem;
var (parent, accountManager, client, virtualFileSystem) = ((NavigationDialogHost parent, AccountManager accountManager, HorizonClient client, VirtualFileSystem virtualFileSystem))arg.Parameter;
_accountManager = accountManager;
_horizonClient = client;
_virtualFileSystem = virtualFileSystem;
_parent = args.parent;
_parent = parent;
break;
}
@@ -94,7 +95,7 @@ namespace Ryujinx.Ava.UI.Views.User
var save = saveDataInfo[i];
if (save.ProgramId.Value != 0)
{
var saveModel = new SaveModel(save, _virtualFileSystem);
var saveModel = new SaveModel(save);
saves.Add(saveModel);
}
}
@@ -114,7 +115,7 @@ namespace Ryujinx.Ava.UI.Views.User
private void OpenLocation(object sender, RoutedEventArgs e)
{
if (sender is Avalonia.Controls.Button button)
if (sender is Button button)
{
if (button.DataContext is SaveModel saveModel)
{
@@ -125,7 +126,7 @@ namespace Ryujinx.Ava.UI.Views.User
private async void Delete(object sender, RoutedEventArgs e)
{
if (sender is Avalonia.Controls.Button button)
if (sender is Button button)
{
if (button.DataContext is SaveModel saveModel)
{
@@ -144,4 +145,4 @@ namespace Ryujinx.Ava.UI.Views.User
}
}
}
}
}

View File

@@ -5,8 +5,9 @@ using FluentAvalonia.UI.Controls;
using FluentAvalonia.UI.Navigation;
using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.UI.Controls;
using Ryujinx.Ava.UI.Models;
using Ryujinx.Ava.UI.ViewModels;
using UserProfile = Ryujinx.Ava.UI.Models.UserProfile;
using Button = Avalonia.Controls.Button;
namespace Ryujinx.Ava.UI.Views.User
{
@@ -101,7 +102,7 @@ namespace Ryujinx.Ava.UI.Views.User
private void EditUser(object sender, RoutedEventArgs e)
{
if (sender is Avalonia.Controls.Button button)
if (sender is Button button)
{
if (button.DataContext is UserProfile userProfile)
{
@@ -125,4 +126,4 @@ namespace Ryujinx.Ava.UI.Views.User
((ContentDialog)_parent.Parent).Hide();
}
}
}
}