diff --git a/Ryujinx.Ava/App.axaml b/Ryujinx.Ava/App.axaml
index eb9ffd865..72bc0deee 100644
--- a/Ryujinx.Ava/App.axaml
+++ b/Ryujinx.Ava/App.axaml
@@ -4,6 +4,6 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sty="using:FluentAvalonia.Styling">
-
+
\ No newline at end of file
diff --git a/Ryujinx.Ava/App.axaml.cs b/Ryujinx.Ava/App.axaml.cs
index 3c28c0191..e59f9bd39 100644
--- a/Ryujinx.Ava/App.axaml.cs
+++ b/Ryujinx.Ava/App.axaml.cs
@@ -5,8 +5,9 @@ using Avalonia.Styling;
using Avalonia.Threading;
using FluentAvalonia.Styling;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common;
using Ryujinx.Common.Logging;
using Ryujinx.Ui.Common.Configuration;
diff --git a/Ryujinx.Ava/AppHost.cs b/Ryujinx.Ava/AppHost.cs
index c1b3355a4..f8bd032cb 100644
--- a/Ryujinx.Ava/AppHost.cs
+++ b/Ryujinx.Ava/AppHost.cs
@@ -11,9 +11,10 @@ using Ryujinx.Audio.Integration;
using Ryujinx.Ava.Common;
using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.Input;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Logging;
diff --git a/Ryujinx.Ava/Common/ApplicationHelper.cs b/Ryujinx.Ava/Common/ApplicationHelper.cs
index 7f7666142..0c562dfe0 100644
--- a/Ryujinx.Ava/Common/ApplicationHelper.cs
+++ b/Ryujinx.Ava/Common/ApplicationHelper.cs
@@ -12,8 +12,9 @@ using LibHac.Tools.Fs;
using LibHac.Tools.FsSystem;
using LibHac.Tools.FsSystem.NcaUtils;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common.Logging;
using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS;
diff --git a/Ryujinx.Ava/Common/Locale/LocaleManager.cs b/Ryujinx.Ava/Common/Locale/LocaleManager.cs
index 41b981368..acbbf2dff 100644
--- a/Ryujinx.Ava/Common/Locale/LocaleManager.cs
+++ b/Ryujinx.Ava/Common/Locale/LocaleManager.cs
@@ -1,4 +1,4 @@
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.Common;
using Ryujinx.Common.Utilities;
using Ryujinx.Ui.Common.Configuration;
diff --git a/Ryujinx.Ava/Helper/MetalHelper.cs b/Ryujinx.Ava/Helper/MetalHelper.cs
index 2d4d828b8..ea3477eb9 100644
--- a/Ryujinx.Ava/Helper/MetalHelper.cs
+++ b/Ryujinx.Ava/Helper/MetalHelper.cs
@@ -3,7 +3,7 @@ using System.Runtime.Versioning;
using System.Runtime.InteropServices;
using Avalonia;
-namespace Ryujinx.Ava.Ui.Helper
+namespace Ryujinx.Ava.UI.Helper
{
public delegate void UpdateBoundsCallbackDelegate(Rect rect);
diff --git a/Ryujinx.Ava/Modules/Updater/Updater.cs b/Ryujinx.Ava/Modules/Updater/Updater.cs
index b3a1ef30c..d495131f0 100644
--- a/Ryujinx.Ava/Modules/Updater/Updater.cs
+++ b/Ryujinx.Ava/Modules/Updater/Updater.cs
@@ -7,8 +7,9 @@ using ICSharpCode.SharpZipLib.Zip;
using Newtonsoft.Json.Linq;
using Ryujinx.Ava;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common;
using Ryujinx.Common.Logging;
using Ryujinx.Ui.Common.Helper;
diff --git a/Ryujinx.Ava/Program.cs b/Ryujinx.Ava/Program.cs
index 023e31df3..142d7820b 100644
--- a/Ryujinx.Ava/Program.cs
+++ b/Ryujinx.Ava/Program.cs
@@ -1,7 +1,7 @@
using ARMeilleure.Translation.PTC;
using Avalonia;
using Avalonia.Threading;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.GraphicsDriver;
diff --git a/Ryujinx.Ava/Ui/Applet/AvaHostUiHandler.cs b/Ryujinx.Ava/UI/Applet/AvaHostUiHandler.cs
similarity index 98%
rename from Ryujinx.Ava/Ui/Applet/AvaHostUiHandler.cs
rename to Ryujinx.Ava/UI/Applet/AvaHostUiHandler.cs
index a8d6a6dff..a8e76275c 100644
--- a/Ryujinx.Ava/Ui/Applet/AvaHostUiHandler.cs
+++ b/Ryujinx.Ava/UI/Applet/AvaHostUiHandler.cs
@@ -2,8 +2,9 @@ using Avalonia.Controls;
using Avalonia.Threading;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.HLE;
using Ryujinx.HLE.HOS.Applets;
using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types;
@@ -11,7 +12,7 @@ using Ryujinx.HLE.Ui;
using System;
using System.Threading;
-namespace Ryujinx.Ava.Ui.Applet
+namespace Ryujinx.Ava.UI.Applet
{
internal class AvaHostUiHandler : IHostUiHandler
{
diff --git a/Ryujinx.Ava/Ui/Applet/AvaloniaDynamicTextInputHandler.cs b/Ryujinx.Ava/UI/Applet/AvaloniaDynamicTextInputHandler.cs
similarity index 97%
rename from Ryujinx.Ava/Ui/Applet/AvaloniaDynamicTextInputHandler.cs
rename to Ryujinx.Ava/UI/Applet/AvaloniaDynamicTextInputHandler.cs
index 78692ceda..314746e76 100644
--- a/Ryujinx.Ava/Ui/Applet/AvaloniaDynamicTextInputHandler.cs
+++ b/Ryujinx.Ava/UI/Applet/AvaloniaDynamicTextInputHandler.cs
@@ -3,15 +3,16 @@ using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Threading;
using Ryujinx.Ava.Input;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.HLE.Ui;
using System;
using System.Threading;
using HidKey = Ryujinx.Common.Configuration.Hid.Key;
-namespace Ryujinx.Ava.Ui.Applet
+namespace Ryujinx.Ava.UI.Applet
{
class AvaloniaDynamicTextInputHandler : IDynamicTextInputHandler
{
diff --git a/Ryujinx.Ava/Ui/Applet/AvaloniaHostUiTheme.cs b/Ryujinx.Ava/UI/Applet/AvaloniaHostUiTheme.cs
similarity index 96%
rename from Ryujinx.Ava/Ui/Applet/AvaloniaHostUiTheme.cs
rename to Ryujinx.Ava/UI/Applet/AvaloniaHostUiTheme.cs
index 8034b506e..fe5e27210 100644
--- a/Ryujinx.Ava/Ui/Applet/AvaloniaHostUiTheme.cs
+++ b/Ryujinx.Ava/UI/Applet/AvaloniaHostUiTheme.cs
@@ -1,9 +1,9 @@
using Avalonia.Media;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.HLE.Ui;
using System;
-namespace Ryujinx.Ava.Ui.Applet
+namespace Ryujinx.Ava.UI.Applet
{
class AvaloniaHostUiTheme : IHostUiTheme
{
diff --git a/Ryujinx.Ava/Ui/Applet/ErrorAppletWindow.axaml b/Ryujinx.Ava/UI/Applet/ErrorAppletWindow.axaml
similarity index 93%
rename from Ryujinx.Ava/Ui/Applet/ErrorAppletWindow.axaml
rename to Ryujinx.Ava/UI/Applet/ErrorAppletWindow.axaml
index aae66ccca..211b47254 100644
--- a/Ryujinx.Ava/Ui/Applet/ErrorAppletWindow.axaml
+++ b/Ryujinx.Ava/UI/Applet/ErrorAppletWindow.axaml
@@ -1,11 +1,10 @@
diff --git a/Ryujinx.Ava/Ui/Applet/SwkbdAppletDialog.axaml.cs b/Ryujinx.Ava/UI/Applet/SwkbdAppletDialog.axaml.cs
similarity index 98%
rename from Ryujinx.Ava/Ui/Applet/SwkbdAppletDialog.axaml.cs
rename to Ryujinx.Ava/UI/Applet/SwkbdAppletDialog.axaml.cs
index ee329bc29..80be29798 100644
--- a/Ryujinx.Ava/Ui/Applet/SwkbdAppletDialog.axaml.cs
+++ b/Ryujinx.Ava/UI/Applet/SwkbdAppletDialog.axaml.cs
@@ -6,12 +6,13 @@ using Avalonia.Media;
using FluentAvalonia.Core;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.HLE.HOS.Applets;
using System;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
internal partial class SwkbdAppletDialog : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Controls/GameGridView.axaml b/Ryujinx.Ava/UI/Controls/GameGridView.axaml
similarity index 98%
rename from Ryujinx.Ava/Ui/Controls/GameGridView.axaml
rename to Ryujinx.Ava/UI/Controls/GameGridView.axaml
index b0669463b..1c4d7638e 100644
--- a/Ryujinx.Ava/Ui/Controls/GameGridView.axaml
+++ b/Ryujinx.Ava/UI/Controls/GameGridView.axaml
@@ -1,19 +1,19 @@
-
+
\ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Controls/NavigationDialogHost.axaml.cs b/Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml.cs
similarity index 97%
rename from Ryujinx.Ava/Ui/Controls/NavigationDialogHost.axaml.cs
rename to Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml.cs
index ced883286..98f9e9e3d 100644
--- a/Ryujinx.Ava/Ui/Controls/NavigationDialogHost.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml.cs
@@ -3,13 +3,13 @@ using Avalonia.Controls;
using FluentAvalonia.UI.Controls;
using LibHac;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS.Services.Account.Acc;
using System;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class NavigationDialogHost : UserControl
{
diff --git a/Ryujinx.Ava/UI/Controls/ProfileImageSelectionDialog.axaml b/Ryujinx.Ava/UI/Controls/ProfileImageSelectionDialog.axaml
new file mode 100644
index 000000000..56f8152ae
--- /dev/null
+++ b/Ryujinx.Ava/UI/Controls/ProfileImageSelectionDialog.axaml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Controls/ProfileImageSelectionDialog.axaml.cs b/Ryujinx.Ava/UI/Controls/ProfileImageSelectionDialog.axaml.cs
similarity index 97%
rename from Ryujinx.Ava/Ui/Controls/ProfileImageSelectionDialog.axaml.cs
rename to Ryujinx.Ava/UI/Controls/ProfileImageSelectionDialog.axaml.cs
index 5d361af92..00183b698 100644
--- a/Ryujinx.Ava/Ui/Controls/ProfileImageSelectionDialog.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/ProfileImageSelectionDialog.axaml.cs
@@ -4,15 +4,15 @@ using Avalonia.VisualTree;
using FluentAvalonia.UI.Controls;
using FluentAvalonia.UI.Navigation;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.HLE.FileSystem;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;
using System.IO;
using Image = SixLabors.ImageSharp.Image;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class ProfileImageSelectionDialog : UserControl
{
diff --git a/Ryujinx.Ava/UI/Controls/RendererHost.axaml b/Ryujinx.Ava/UI/Controls/RendererHost.axaml
new file mode 100644
index 000000000..1cc557f06
--- /dev/null
+++ b/Ryujinx.Ava/UI/Controls/RendererHost.axaml
@@ -0,0 +1,11 @@
+
+
diff --git a/Ryujinx.Ava/Ui/Controls/RendererHost.axaml.cs b/Ryujinx.Ava/UI/Controls/RendererHost.axaml.cs
similarity index 98%
rename from Ryujinx.Ava/Ui/Controls/RendererHost.axaml.cs
rename to Ryujinx.Ava/UI/Controls/RendererHost.axaml.cs
index b6986b7c8..97058fa49 100644
--- a/Ryujinx.Ava/Ui/Controls/RendererHost.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/RendererHost.axaml.cs
@@ -1,13 +1,14 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
+using Ryujinx.Ava.UI.Helpers;
using Ryujinx.Common.Configuration;
using Silk.NET.Vulkan;
using SPB.Graphics.OpenGL;
using SPB.Windowing;
using System;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class RendererHost : UserControl, IDisposable
{
diff --git a/Ryujinx.Ava/UI/Controls/SaveManager.axaml b/Ryujinx.Ava/UI/Controls/SaveManager.axaml
new file mode 100644
index 000000000..b0dc4c6f7
--- /dev/null
+++ b/Ryujinx.Ava/UI/Controls/SaveManager.axaml
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Controls/SaveManager.axaml.cs b/Ryujinx.Ava/UI/Controls/SaveManager.axaml.cs
similarity index 97%
rename from Ryujinx.Ava/Ui/Controls/SaveManager.axaml.cs
rename to Ryujinx.Ava/UI/Controls/SaveManager.axaml.cs
index 499cd918e..9910481c5 100644
--- a/Ryujinx.Ava/Ui/Controls/SaveManager.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/SaveManager.axaml.cs
@@ -7,16 +7,16 @@ using LibHac.Fs;
using LibHac.Fs.Shim;
using Ryujinx.Ava.Common;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Models;
+using Ryujinx.Ava.UI.Models;
using Ryujinx.HLE.FileSystem;
using Ryujinx.Ui.App.Common;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
-using UserProfile = Ryujinx.Ava.Ui.Models.UserProfile;
+using UserProfile = Ryujinx.Ava.UI.Models.UserProfile;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class SaveManager : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Controls/UpdateWaitWindow.axaml b/Ryujinx.Ava/UI/Controls/UpdateWaitWindow.axaml
similarity index 92%
rename from Ryujinx.Ava/Ui/Controls/UpdateWaitWindow.axaml
rename to Ryujinx.Ava/UI/Controls/UpdateWaitWindow.axaml
index 8309e3690..c5041230d 100644
--- a/Ryujinx.Ava/Ui/Controls/UpdateWaitWindow.axaml
+++ b/Ryujinx.Ava/UI/Controls/UpdateWaitWindow.axaml
@@ -1,10 +1,9 @@
-
+
@@ -43,13 +40,13 @@
Margin="5"
HorizontalAlignment="Stretch"
Click="ChangePictureButton_Click"
- Content="{Locale:Locale UserProfilesChangeProfileImage}" />
+ Content="{locale:Locale UserProfilesChangeProfileImage}" />
+ Content="{locale:Locale UserProfilesSetProfileImage}" />
-
+
-
+
+ Content="{locale:Locale Save}" />
+ Content="{locale:Locale Discard}" />
diff --git a/Ryujinx.Ava/Ui/Controls/UserEditor.axaml.cs b/Ryujinx.Ava/UI/Controls/UserEditor.axaml.cs
similarity index 95%
rename from Ryujinx.Ava/Ui/Controls/UserEditor.axaml.cs
rename to Ryujinx.Ava/UI/Controls/UserEditor.axaml.cs
index f5b51e4e3..19fa29e51 100644
--- a/Ryujinx.Ava/Ui/Controls/UserEditor.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/UserEditor.axaml.cs
@@ -4,10 +4,11 @@ using Avalonia.Interactivity;
using FluentAvalonia.UI.Controls;
using FluentAvalonia.UI.Navigation;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Models;
-using UserProfile = Ryujinx.Ava.Ui.Models.UserProfile;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Models;
+using UserProfile = Ryujinx.Ava.UI.Models.UserProfile;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class UserEditor : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Controls/UserRecoverer.axaml b/Ryujinx.Ava/UI/Controls/UserRecoverer.axaml
similarity index 70%
rename from Ryujinx.Ava/Ui/Controls/UserRecoverer.axaml
rename to Ryujinx.Ava/UI/Controls/UserRecoverer.axaml
index 0efb50190..69f3d36a2 100644
--- a/Ryujinx.Ava/Ui/Controls/UserRecoverer.axaml
+++ b/Ryujinx.Ava/UI/Controls/UserRecoverer.axaml
@@ -1,17 +1,18 @@
-
+
@@ -32,7 +33,7 @@
+ Text="{locale:Locale UserProfilesRecoverHeading}"/>
+ Content="{locale:Locale Recover}"/>
diff --git a/Ryujinx.Ava/Ui/Controls/UserRecoverer.axaml.cs b/Ryujinx.Ava/UI/Controls/UserRecoverer.axaml.cs
similarity index 92%
rename from Ryujinx.Ava/Ui/Controls/UserRecoverer.axaml.cs
rename to Ryujinx.Ava/UI/Controls/UserRecoverer.axaml.cs
index f093686dd..9f29fddbd 100644
--- a/Ryujinx.Ava/Ui/Controls/UserRecoverer.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/UserRecoverer.axaml.cs
@@ -4,10 +4,10 @@ using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using FluentAvalonia.UI.Controls;
using FluentAvalonia.UI.Navigation;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.ViewModels;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class UserRecoverer : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Controls/UserSelector.axaml b/Ryujinx.Ava/UI/Controls/UserSelector.axaml
similarity index 88%
rename from Ryujinx.Ava/Ui/Controls/UserSelector.axaml
rename to Ryujinx.Ava/UI/Controls/UserSelector.axaml
index 7cfdc481d..002d27a06 100644
--- a/Ryujinx.Ava/Ui/Controls/UserSelector.axaml
+++ b/Ryujinx.Ava/UI/Controls/UserSelector.axaml
@@ -1,21 +1,20 @@
-
+
@@ -109,21 +108,21 @@
Grid.Column="0"
Margin="2"
Command="{Binding AddUser}"
- Content="{Locale:Locale UserProfilesAddNewProfile}" />
+ Content="{locale:Locale UserProfilesAddNewProfile}" />
+ Content="{locale:Locale UserProfilesRecoverLostAccounts}" />
\ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Controls/UserSelector.axaml.cs b/Ryujinx.Ava/UI/Controls/UserSelector.axaml.cs
similarity index 94%
rename from Ryujinx.Ava/Ui/Controls/UserSelector.axaml.cs
rename to Ryujinx.Ava/UI/Controls/UserSelector.axaml.cs
index 8d93088c7..bd8c561e6 100644
--- a/Ryujinx.Ava/Ui/Controls/UserSelector.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/UserSelector.axaml.cs
@@ -2,10 +2,10 @@ using Avalonia.Controls;
using Avalonia.Interactivity;
using FluentAvalonia.UI.Controls;
using FluentAvalonia.UI.Navigation;
-using Ryujinx.Ava.Ui.ViewModels;
-using UserProfile = Ryujinx.Ava.Ui.Models.UserProfile;
+using Ryujinx.Ava.UI.ViewModels;
+using UserProfile = Ryujinx.Ava.UI.Models.UserProfile;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class UserSelector : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Controls/ApplicationOpenedEventArgs.cs b/Ryujinx.Ava/UI/Helpers/ApplicationOpenedEventArgs.cs
similarity index 91%
rename from Ryujinx.Ava/Ui/Controls/ApplicationOpenedEventArgs.cs
rename to Ryujinx.Ava/UI/Helpers/ApplicationOpenedEventArgs.cs
index 9909bd6a2..ebf5c16ec 100644
--- a/Ryujinx.Ava/Ui/Controls/ApplicationOpenedEventArgs.cs
+++ b/Ryujinx.Ava/UI/Helpers/ApplicationOpenedEventArgs.cs
@@ -1,7 +1,7 @@
using Avalonia.Interactivity;
using Ryujinx.Ui.App.Common;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
public class ApplicationOpenedEventArgs : RoutedEventArgs
{
diff --git a/Ryujinx.Ava/Ui/Controls/AvaloniaGlxContext.cs b/Ryujinx.Ava/UI/Helpers/AvaloniaGlxContext.cs
similarity index 91%
rename from Ryujinx.Ava/Ui/Controls/AvaloniaGlxContext.cs
rename to Ryujinx.Ava/UI/Helpers/AvaloniaGlxContext.cs
index d48de41dd..6b696ba73 100644
--- a/Ryujinx.Ava/Ui/Controls/AvaloniaGlxContext.cs
+++ b/Ryujinx.Ava/UI/Helpers/AvaloniaGlxContext.cs
@@ -2,7 +2,7 @@
using System;
using System.Runtime.Versioning;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
[SupportedOSPlatform("linux")]
internal class AvaloniaGlxContext : SPB.Platform.GLX.GLXOpenGLContext
diff --git a/Ryujinx.Ava/Ui/Controls/AvaloniaWglContext.cs b/Ryujinx.Ava/UI/Helpers/AvaloniaWglContext.cs
similarity index 91%
rename from Ryujinx.Ava/Ui/Controls/AvaloniaWglContext.cs
rename to Ryujinx.Ava/UI/Helpers/AvaloniaWglContext.cs
index 01e9b9207..b63a973a1 100644
--- a/Ryujinx.Ava/Ui/Controls/AvaloniaWglContext.cs
+++ b/Ryujinx.Ava/UI/Helpers/AvaloniaWglContext.cs
@@ -2,7 +2,7 @@
using System;
using System.Runtime.Versioning;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
[SupportedOSPlatform("windows")]
internal class AvaloniaWglContext : SPB.Platform.WGL.WGLOpenGLContext
diff --git a/Ryujinx.Ava/Ui/Controls/BitmapArrayValueConverter.cs b/Ryujinx.Ava/UI/Helpers/BitmapArrayValueConverter.cs
similarity index 96%
rename from Ryujinx.Ava/Ui/Controls/BitmapArrayValueConverter.cs
rename to Ryujinx.Ava/UI/Helpers/BitmapArrayValueConverter.cs
index d037e5f11..3fd368f89 100644
--- a/Ryujinx.Ava/Ui/Controls/BitmapArrayValueConverter.cs
+++ b/Ryujinx.Ava/UI/Helpers/BitmapArrayValueConverter.cs
@@ -5,7 +5,7 @@ using System;
using System.Globalization;
using System.IO;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
internal class BitmapArrayValueConverter : IValueConverter
{
diff --git a/Ryujinx.Ava/Ui/Controls/ButtonKeyAssigner.cs b/Ryujinx.Ava/UI/Helpers/ButtonKeyAssigner.cs
similarity index 98%
rename from Ryujinx.Ava/Ui/Controls/ButtonKeyAssigner.cs
rename to Ryujinx.Ava/UI/Helpers/ButtonKeyAssigner.cs
index a83ef9614..6730b5711 100644
--- a/Ryujinx.Ava/Ui/Controls/ButtonKeyAssigner.cs
+++ b/Ryujinx.Ava/UI/Helpers/ButtonKeyAssigner.cs
@@ -8,7 +8,7 @@ using System;
using System.Linq;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
internal class ButtonKeyAssigner
{
diff --git a/Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs b/Ryujinx.Ava/UI/Helpers/ContentDialogHelper.cs
similarity index 99%
rename from Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs
rename to Ryujinx.Ava/UI/Helpers/ContentDialogHelper.cs
index eca476449..cf30d99b8 100644
--- a/Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs
+++ b/Ryujinx.Ava/UI/Helpers/ContentDialogHelper.cs
@@ -1,20 +1,19 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes;
-using Avalonia.Controls.Primitives;
using Avalonia.Media;
using Avalonia.Threading;
using FluentAvalonia.Core;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common.Logging;
using System;
using System.Threading;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
public static class ContentDialogHelper
{
diff --git a/Ryujinx.Ava/Ui/Controls/EmbeddedWindow.cs b/Ryujinx.Ava/UI/Helpers/EmbeddedWindow.cs
similarity index 97%
rename from Ryujinx.Ava/Ui/Controls/EmbeddedWindow.cs
rename to Ryujinx.Ava/UI/Helpers/EmbeddedWindow.cs
index 05b2cc5bd..bdeceaeae 100644
--- a/Ryujinx.Ava/Ui/Controls/EmbeddedWindow.cs
+++ b/Ryujinx.Ava/UI/Helpers/EmbeddedWindow.cs
@@ -2,7 +2,7 @@ using Avalonia;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Platform;
-using Ryujinx.Ava.Ui.Helper;
+using Ryujinx.Ava.UI.Helper;
using SPB.Graphics;
using SPB.Platform;
using SPB.Platform.GLX;
@@ -10,9 +10,9 @@ using System;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Threading.Tasks;
-using static Ryujinx.Ava.Ui.Controls.Win32NativeInterop;
+using static Ryujinx.Ava.UI.Helpers.Win32NativeInterop;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
public class EmbeddedWindow : NativeControlHost
{
@@ -199,7 +199,7 @@ namespace Ryujinx.Ava.Ui.Controls
KeyModifiers.None));
break;
}
- return DefWindowProc(hWnd, msg, (IntPtr)wParam, (IntPtr)lParam);
+ return DefWindowProc(hWnd, msg, wParam, lParam);
}
[SupportedOSPlatform("macos")]
diff --git a/Ryujinx.Ava/UI/Helpers/Glyph.cs b/Ryujinx.Ava/UI/Helpers/Glyph.cs
new file mode 100644
index 000000000..4aae854f7
--- /dev/null
+++ b/Ryujinx.Ava/UI/Helpers/Glyph.cs
@@ -0,0 +1,9 @@
+namespace Ryujinx.Ava.UI.Helpers
+{
+ public enum Glyph
+ {
+ List,
+ Grid,
+ Chip
+ }
+}
diff --git a/Ryujinx.Ava/Ui/Controls/GlyphValueConverter.cs b/Ryujinx.Ava/UI/Helpers/GlyphValueConverter.cs
similarity index 97%
rename from Ryujinx.Ava/Ui/Controls/GlyphValueConverter.cs
rename to Ryujinx.Ava/UI/Helpers/GlyphValueConverter.cs
index 63c6a17d7..3d6c9c018 100644
--- a/Ryujinx.Ava/Ui/Controls/GlyphValueConverter.cs
+++ b/Ryujinx.Ava/UI/Helpers/GlyphValueConverter.cs
@@ -4,7 +4,7 @@ using FluentAvalonia.UI.Controls;
using System;
using System.Collections.Generic;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
public class GlyphValueConverter : MarkupExtension
{
diff --git a/Ryujinx.Ava/Ui/Controls/HotKeyControl.cs b/Ryujinx.Ava/UI/Helpers/HotKeyControl.cs
similarity index 98%
rename from Ryujinx.Ava/Ui/Controls/HotKeyControl.cs
rename to Ryujinx.Ava/UI/Helpers/HotKeyControl.cs
index d3ab1e8f9..f1fad1576 100644
--- a/Ryujinx.Ava/Ui/Controls/HotKeyControl.cs
+++ b/Ryujinx.Ava/UI/Helpers/HotKeyControl.cs
@@ -4,7 +4,7 @@ using Avalonia.Input;
using System;
using System.Windows.Input;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
public class HotKeyControl : ContentControl, ICommandSource
{
diff --git a/Ryujinx.Ava/Ui/Controls/IGlContextExtension.cs b/Ryujinx.Ava/UI/Helpers/IGlContextExtension.cs
similarity index 94%
rename from Ryujinx.Ava/Ui/Controls/IGlContextExtension.cs
rename to Ryujinx.Ava/UI/Helpers/IGlContextExtension.cs
index 79d6658d6..e69774c30 100644
--- a/Ryujinx.Ava/Ui/Controls/IGlContextExtension.cs
+++ b/Ryujinx.Ava/UI/Helpers/IGlContextExtension.cs
@@ -2,7 +2,7 @@ using Avalonia.OpenGL;
using SPB.Graphics.OpenGL;
using System;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
internal static class IGlContextExtension
{
diff --git a/Ryujinx.Ava/Ui/Controls/KeyValueConverter.cs b/Ryujinx.Ava/UI/Helpers/KeyValueConverter.cs
similarity index 97%
rename from Ryujinx.Ava/Ui/Controls/KeyValueConverter.cs
rename to Ryujinx.Ava/UI/Helpers/KeyValueConverter.cs
index ac0b622b2..8d5c2815a 100644
--- a/Ryujinx.Ava/Ui/Controls/KeyValueConverter.cs
+++ b/Ryujinx.Ava/UI/Helpers/KeyValueConverter.cs
@@ -4,7 +4,7 @@ using Ryujinx.Common.Configuration.Hid.Controller;
using System;
using System.Globalization;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
internal class KeyValueConverter : IValueConverter
{
diff --git a/Ryujinx.Ava/Ui/Controls/MiniCommand.cs b/Ryujinx.Ava/UI/Helpers/MiniCommand.cs
similarity index 98%
rename from Ryujinx.Ava/Ui/Controls/MiniCommand.cs
rename to Ryujinx.Ava/UI/Helpers/MiniCommand.cs
index e14cfa6fd..305182c92 100644
--- a/Ryujinx.Ava/Ui/Controls/MiniCommand.cs
+++ b/Ryujinx.Ava/UI/Helpers/MiniCommand.cs
@@ -2,7 +2,7 @@
using System.Threading.Tasks;
using System.Windows.Input;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Helpers
{
public sealed class MiniCommand : MiniCommand, ICommand
{
diff --git a/Ryujinx.Ava/Ui/Controls/OffscreenTextBox.cs b/Ryujinx.Ava/UI/Helpers/OffscreenTextBox.cs
similarity index 96%
rename from Ryujinx.Ava/Ui/Controls/OffscreenTextBox.cs
rename to Ryujinx.Ava/UI/Helpers/OffscreenTextBox.cs
index ffe5bddea..785e785cd 100644
--- a/Ryujinx.Ava/Ui/Controls/OffscreenTextBox.cs
+++ b/Ryujinx.Ava/UI/Helpers/OffscreenTextBox.cs
@@ -2,7 +2,7 @@ using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
public class OffscreenTextBox : TextBox
{
diff --git a/Ryujinx.Ava/Ui/Controls/OpenGLEmbeddedWindow.cs b/Ryujinx.Ava/UI/Helpers/OpenGLEmbeddedWindow.cs
similarity index 95%
rename from Ryujinx.Ava/Ui/Controls/OpenGLEmbeddedWindow.cs
rename to Ryujinx.Ava/UI/Helpers/OpenGLEmbeddedWindow.cs
index f32bf0415..db77f66bf 100644
--- a/Ryujinx.Ava/Ui/Controls/OpenGLEmbeddedWindow.cs
+++ b/Ryujinx.Ava/UI/Helpers/OpenGLEmbeddedWindow.cs
@@ -1,16 +1,13 @@
-using Avalonia;
-using Avalonia.OpenGL;
using OpenTK.Graphics.OpenGL;
using Ryujinx.Common.Configuration;
using SPB.Graphics;
using SPB.Graphics.OpenGL;
using SPB.Platform;
-using SPB.Platform.GLX;
using SPB.Platform.WGL;
using SPB.Windowing;
using System;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
public class OpenGLEmbeddedWindow : EmbeddedWindow
{
diff --git a/Ryujinx.Ava/Ui/Controls/OpenToolkitBindingsContext.cs b/Ryujinx.Ava/UI/Helpers/OpenToolkitBindingsContext.cs
similarity index 92%
rename from Ryujinx.Ava/Ui/Controls/OpenToolkitBindingsContext.cs
rename to Ryujinx.Ava/UI/Helpers/OpenToolkitBindingsContext.cs
index 3a767ce9c..efb703bab 100644
--- a/Ryujinx.Ava/Ui/Controls/OpenToolkitBindingsContext.cs
+++ b/Ryujinx.Ava/UI/Helpers/OpenToolkitBindingsContext.cs
@@ -1,7 +1,7 @@
using OpenTK;
using System;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
internal class OpenToolkitBindingsContext : IBindingsContext
{
diff --git a/Ryujinx.Ava/Ui/Controls/SPBOpenGLContext.cs b/Ryujinx.Ava/UI/Helpers/SPBOpenGLContext.cs
similarity index 97%
rename from Ryujinx.Ava/Ui/Controls/SPBOpenGLContext.cs
rename to Ryujinx.Ava/UI/Helpers/SPBOpenGLContext.cs
index 45c6187e4..21f206c83 100644
--- a/Ryujinx.Ava/Ui/Controls/SPBOpenGLContext.cs
+++ b/Ryujinx.Ava/UI/Helpers/SPBOpenGLContext.cs
@@ -5,7 +5,7 @@ using SPB.Graphics.OpenGL;
using SPB.Platform;
using SPB.Windowing;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
class SPBOpenGLContext : IOpenGLContext
{
diff --git a/Ryujinx.Ava/Ui/Controls/UserErrorDialog.cs b/Ryujinx.Ava/UI/Helpers/UserErrorDialog.cs
similarity index 98%
rename from Ryujinx.Ava/Ui/Controls/UserErrorDialog.cs
rename to Ryujinx.Ava/UI/Helpers/UserErrorDialog.cs
index 0b2d2c117..ab8d6edca 100644
--- a/Ryujinx.Ava/Ui/Controls/UserErrorDialog.cs
+++ b/Ryujinx.Ava/UI/Helpers/UserErrorDialog.cs
@@ -1,10 +1,10 @@
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Ui.Common;
using Ryujinx.Ui.Common.Helper;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
internal class UserErrorDialog
{
diff --git a/Ryujinx.Ava/Ui/Controls/UserResult.cs b/Ryujinx.Ava/UI/Helpers/UserResult.cs
similarity index 78%
rename from Ryujinx.Ava/Ui/Controls/UserResult.cs
rename to Ryujinx.Ava/UI/Helpers/UserResult.cs
index 6eb89a90f..57802804f 100644
--- a/Ryujinx.Ava/Ui/Controls/UserResult.cs
+++ b/Ryujinx.Ava/UI/Helpers/UserResult.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
public enum UserResult
{
diff --git a/Ryujinx.Ava/Ui/Controls/VulkanEmbeddedWindow.cs b/Ryujinx.Ava/UI/Helpers/VulkanEmbeddedWindow.cs
similarity index 96%
rename from Ryujinx.Ava/Ui/Controls/VulkanEmbeddedWindow.cs
rename to Ryujinx.Ava/UI/Helpers/VulkanEmbeddedWindow.cs
index b9c5f75f5..6581610b6 100644
--- a/Ryujinx.Ava/Ui/Controls/VulkanEmbeddedWindow.cs
+++ b/Ryujinx.Ava/UI/Helpers/VulkanEmbeddedWindow.cs
@@ -1,5 +1,4 @@
using Avalonia.Platform;
-using Ryujinx.Ava.Ui.Controls;
using Silk.NET.Vulkan;
using SPB.Graphics.Vulkan;
using SPB.Platform.GLX;
@@ -10,7 +9,7 @@ using SPB.Windowing;
using System;
using System.Runtime.Versioning;
-namespace Ryujinx.Ava.Ui
+namespace Ryujinx.Ava.UI.Helpers
{
public class VulkanEmbeddedWindow : EmbeddedWindow
{
diff --git a/Ryujinx.Ava/Ui/Controls/Win32NativeInterop.cs b/Ryujinx.Ava/UI/Helpers/Win32NativeInterop.cs
similarity index 99%
rename from Ryujinx.Ava/Ui/Controls/Win32NativeInterop.cs
rename to Ryujinx.Ava/UI/Helpers/Win32NativeInterop.cs
index 81e2fee90..1e6e3c3bd 100644
--- a/Ryujinx.Ava/Ui/Controls/Win32NativeInterop.cs
+++ b/Ryujinx.Ava/UI/Helpers/Win32NativeInterop.cs
@@ -2,7 +2,7 @@
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Helpers
{
[SupportedOSPlatform("windows")]
internal partial class Win32NativeInterop
diff --git a/Ryujinx.Ava/Ui/Models/Amiibo.cs b/Ryujinx.Ava/UI/Models/Amiibo.cs
similarity index 98%
rename from Ryujinx.Ava/Ui/Models/Amiibo.cs
rename to Ryujinx.Ava/UI/Models/Amiibo.cs
index 8644ab52c..d0ccafd08 100644
--- a/Ryujinx.Ava/Ui/Models/Amiibo.cs
+++ b/Ryujinx.Ava/UI/Models/Amiibo.cs
@@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
public class Amiibo
{
diff --git a/Ryujinx.Ava/Ui/Models/CheatModel.cs b/Ryujinx.Ava/UI/Models/CheatModel.cs
similarity index 92%
rename from Ryujinx.Ava/Ui/Models/CheatModel.cs
rename to Ryujinx.Ava/UI/Models/CheatModel.cs
index 5011d3981..a7507add9 100644
--- a/Ryujinx.Ava/Ui/Models/CheatModel.cs
+++ b/Ryujinx.Ava/UI/Models/CheatModel.cs
@@ -1,7 +1,7 @@
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.ViewModels;
using System;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
public class CheatModel : BaseModel
{
diff --git a/Ryujinx.Ava/Ui/Models/CheatsList.cs b/Ryujinx.Ava/UI/Models/CheatsList.cs
similarity index 97%
rename from Ryujinx.Ava/Ui/Models/CheatsList.cs
rename to Ryujinx.Ava/UI/Models/CheatsList.cs
index 8231e5211..e674f4eb7 100644
--- a/Ryujinx.Ava/Ui/Models/CheatsList.cs
+++ b/Ryujinx.Ava/UI/Models/CheatsList.cs
@@ -3,7 +3,7 @@ using System.Collections.Specialized;
using System.ComponentModel;
using System.Linq;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
public class CheatsList : ObservableCollection
{
diff --git a/Ryujinx.Ava/Ui/Models/ControllerModel.cs b/Ryujinx.Ava/UI/Models/ControllerModel.cs
similarity index 78%
rename from Ryujinx.Ava/Ui/Models/ControllerModel.cs
rename to Ryujinx.Ava/UI/Models/ControllerModel.cs
index 23df40021..2af2d13b8 100644
--- a/Ryujinx.Ava/Ui/Models/ControllerModel.cs
+++ b/Ryujinx.Ava/UI/Models/ControllerModel.cs
@@ -1,6 +1,6 @@
using Ryujinx.Common.Configuration.Hid;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
internal record ControllerModel(ControllerType Type, string Name);
}
diff --git a/Ryujinx.Ava/Ui/Models/DeviceType.cs b/Ryujinx.Ava/UI/Models/DeviceType.cs
similarity index 74%
rename from Ryujinx.Ava/Ui/Models/DeviceType.cs
rename to Ryujinx.Ava/UI/Models/DeviceType.cs
index cb1520d0a..fa2e620cc 100644
--- a/Ryujinx.Ava/Ui/Models/DeviceType.cs
+++ b/Ryujinx.Ava/UI/Models/DeviceType.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
public enum DeviceType
{
diff --git a/Ryujinx.Ava/Ui/Models/DownloadableContentModel.cs b/Ryujinx.Ava/UI/Models/DownloadableContentModel.cs
similarity index 91%
rename from Ryujinx.Ava/Ui/Models/DownloadableContentModel.cs
rename to Ryujinx.Ava/UI/Models/DownloadableContentModel.cs
index 5f3ca0317..3070fc029 100644
--- a/Ryujinx.Ava/Ui/Models/DownloadableContentModel.cs
+++ b/Ryujinx.Ava/UI/Models/DownloadableContentModel.cs
@@ -1,6 +1,6 @@
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.ViewModels;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
public class DownloadableContentModel : BaseModel
{
diff --git a/Ryujinx.Ava/Ui/Models/Generic/LastPlayedSortComparer.cs b/Ryujinx.Ava/UI/Models/Generic/LastPlayedSortComparer.cs
similarity index 95%
rename from Ryujinx.Ava/Ui/Models/Generic/LastPlayedSortComparer.cs
rename to Ryujinx.Ava/UI/Models/Generic/LastPlayedSortComparer.cs
index 7e26cfbfc..b322ed64e 100644
--- a/Ryujinx.Ava/Ui/Models/Generic/LastPlayedSortComparer.cs
+++ b/Ryujinx.Ava/UI/Models/Generic/LastPlayedSortComparer.cs
@@ -3,7 +3,7 @@ using Ryujinx.Ui.App.Common;
using System;
using System.Collections.Generic;
-namespace Ryujinx.Ava.Ui.Models.Generic
+namespace Ryujinx.Ava.UI.Models.Generic
{
internal class LastPlayedSortComparer : IComparer
{
diff --git a/Ryujinx.Ava/Ui/Models/InputConfiguration.cs b/Ryujinx.Ava/UI/Models/InputConfiguration.cs
similarity index 99%
rename from Ryujinx.Ava/Ui/Models/InputConfiguration.cs
rename to Ryujinx.Ava/UI/Models/InputConfiguration.cs
index 53bf7eedb..2acd716ba 100644
--- a/Ryujinx.Ava/Ui/Models/InputConfiguration.cs
+++ b/Ryujinx.Ava/UI/Models/InputConfiguration.cs
@@ -1,11 +1,11 @@
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.Common.Configuration.Hid;
using Ryujinx.Common.Configuration.Hid.Controller;
using Ryujinx.Common.Configuration.Hid.Controller.Motion;
using Ryujinx.Common.Configuration.Hid.Keyboard;
using System;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
internal class InputConfiguration : BaseModel
{
diff --git a/Ryujinx.Ava/Ui/Models/PlayerModel.cs b/Ryujinx.Ava/UI/Models/PlayerModel.cs
similarity index 77%
rename from Ryujinx.Ava/Ui/Models/PlayerModel.cs
rename to Ryujinx.Ava/UI/Models/PlayerModel.cs
index ec8f3fce5..f0b1bf7a8 100644
--- a/Ryujinx.Ava/Ui/Models/PlayerModel.cs
+++ b/Ryujinx.Ava/UI/Models/PlayerModel.cs
@@ -1,6 +1,6 @@
using Ryujinx.Common.Configuration.Hid;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
public record PlayerModel(PlayerIndex Id, string Name);
}
diff --git a/Ryujinx.Ava/Ui/Models/ProfileImageModel.cs b/Ryujinx.Ava/UI/Models/ProfileImageModel.cs
similarity index 89%
rename from Ryujinx.Ava/Ui/Models/ProfileImageModel.cs
rename to Ryujinx.Ava/UI/Models/ProfileImageModel.cs
index 1c9f3b053..63da7b449 100644
--- a/Ryujinx.Ava/Ui/Models/ProfileImageModel.cs
+++ b/Ryujinx.Ava/UI/Models/ProfileImageModel.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
public class ProfileImageModel
{
diff --git a/Ryujinx.Ava/Ui/Models/SaveModel.cs b/Ryujinx.Ava/UI/Models/SaveModel.cs
similarity index 95%
rename from Ryujinx.Ava/Ui/Models/SaveModel.cs
rename to Ryujinx.Ava/UI/Models/SaveModel.cs
index 70478cea9..c93111047 100644
--- a/Ryujinx.Ava/Ui/Models/SaveModel.cs
+++ b/Ryujinx.Ava/UI/Models/SaveModel.cs
@@ -4,9 +4,10 @@ using LibHac.Fs.Shim;
using LibHac.Ncm;
using Ryujinx.Ava.Common;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.ViewModels;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.ViewModels;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.HLE.FileSystem;
using Ryujinx.Ui.App.Common;
using System;
@@ -14,7 +15,7 @@ using System.IO;
using System.Linq;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
public class SaveModel : BaseModel
{
diff --git a/Ryujinx.Ava/Ui/Models/StatusUpdatedEventArgs.cs b/Ryujinx.Ava/UI/Models/StatusUpdatedEventArgs.cs
similarity index 96%
rename from Ryujinx.Ava/Ui/Models/StatusUpdatedEventArgs.cs
rename to Ryujinx.Ava/UI/Models/StatusUpdatedEventArgs.cs
index da042cdff..ea2b90385 100644
--- a/Ryujinx.Ava/Ui/Models/StatusUpdatedEventArgs.cs
+++ b/Ryujinx.Ava/UI/Models/StatusUpdatedEventArgs.cs
@@ -1,6 +1,6 @@
using System;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
internal class StatusUpdatedEventArgs : EventArgs
{
diff --git a/Ryujinx.Ava/Ui/Models/TempProfile.cs b/Ryujinx.Ava/UI/Models/TempProfile.cs
similarity index 94%
rename from Ryujinx.Ava/Ui/Models/TempProfile.cs
rename to Ryujinx.Ava/UI/Models/TempProfile.cs
index 4e6d34462..2dd7a6c82 100644
--- a/Ryujinx.Ava/Ui/Models/TempProfile.cs
+++ b/Ryujinx.Ava/UI/Models/TempProfile.cs
@@ -1,8 +1,8 @@
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.HLE.HOS.Services.Account.Acc;
using System;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
public class TempProfile : BaseModel
{
diff --git a/Ryujinx.Ava/Ui/Models/TimeZone.cs b/Ryujinx.Ava/UI/Models/TimeZone.cs
similarity index 92%
rename from Ryujinx.Ava/Ui/Models/TimeZone.cs
rename to Ryujinx.Ava/UI/Models/TimeZone.cs
index a1bad0510..cb6cc2fdc 100644
--- a/Ryujinx.Ava/Ui/Models/TimeZone.cs
+++ b/Ryujinx.Ava/UI/Models/TimeZone.cs
@@ -1,4 +1,4 @@
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
internal class TimeZone
{
diff --git a/Ryujinx.Ava/Ui/Models/TitleUpdateModel.cs b/Ryujinx.Ava/UI/Models/TitleUpdateModel.cs
similarity index 95%
rename from Ryujinx.Ava/Ui/Models/TitleUpdateModel.cs
rename to Ryujinx.Ava/UI/Models/TitleUpdateModel.cs
index 2bf6dbfa1..772032229 100644
--- a/Ryujinx.Ava/Ui/Models/TitleUpdateModel.cs
+++ b/Ryujinx.Ava/UI/Models/TitleUpdateModel.cs
@@ -1,7 +1,7 @@
using LibHac.Ns;
using Ryujinx.Ava.Common.Locale;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
internal class TitleUpdateModel
{
diff --git a/Ryujinx.Ava/Ui/Models/UserProfile.cs b/Ryujinx.Ava/UI/Models/UserProfile.cs
similarity index 94%
rename from Ryujinx.Ava/Ui/Models/UserProfile.cs
rename to Ryujinx.Ava/UI/Models/UserProfile.cs
index c0ea9451a..869db6610 100644
--- a/Ryujinx.Ava/Ui/Models/UserProfile.cs
+++ b/Ryujinx.Ava/UI/Models/UserProfile.cs
@@ -1,9 +1,9 @@
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.HLE.HOS.Services.Account.Acc;
using Profile = Ryujinx.HLE.HOS.Services.Account.Acc.UserProfile;
-namespace Ryujinx.Ava.Ui.Models
+namespace Ryujinx.Ava.UI.Models
{
public class UserProfile : BaseModel
{
diff --git a/Ryujinx.Ava/Ui/ViewModels/AmiiboWindowViewModel.cs b/Ryujinx.Ava/UI/ViewModels/AmiiboWindowViewModel.cs
similarity index 98%
rename from Ryujinx.Ava/Ui/ViewModels/AmiiboWindowViewModel.cs
rename to Ryujinx.Ava/UI/ViewModels/AmiiboWindowViewModel.cs
index d007e0e74..cf94a9aa7 100644
--- a/Ryujinx.Ava/Ui/ViewModels/AmiiboWindowViewModel.cs
+++ b/Ryujinx.Ava/UI/ViewModels/AmiiboWindowViewModel.cs
@@ -3,9 +3,10 @@ using Avalonia.Collections;
using Avalonia.Media.Imaging;
using Avalonia.Threading;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Utilities;
@@ -19,7 +20,7 @@ using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.ViewModels
+namespace Ryujinx.Ava.UI.ViewModels
{
public class AmiiboWindowViewModel : BaseModel, IDisposable
{
diff --git a/Ryujinx.Ava/Ui/ViewModels/AvatarProfileViewModel.cs b/Ryujinx.Ava/UI/ViewModels/AvatarProfileViewModel.cs
similarity index 99%
rename from Ryujinx.Ava/Ui/ViewModels/AvatarProfileViewModel.cs
rename to Ryujinx.Ava/UI/ViewModels/AvatarProfileViewModel.cs
index c29837414..1d0906237 100644
--- a/Ryujinx.Ava/Ui/ViewModels/AvatarProfileViewModel.cs
+++ b/Ryujinx.Ava/UI/ViewModels/AvatarProfileViewModel.cs
@@ -8,7 +8,7 @@ using LibHac.Ncm;
using LibHac.Tools.Fs;
using LibHac.Tools.FsSystem;
using LibHac.Tools.FsSystem.NcaUtils;
-using Ryujinx.Ava.Ui.Models;
+using Ryujinx.Ava.UI.Models;
using Ryujinx.HLE.FileSystem;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Formats.Png;
@@ -24,7 +24,7 @@ using System.Threading;
using System.Threading.Tasks;
using Color = Avalonia.Media.Color;
-namespace Ryujinx.Ava.Ui.ViewModels
+namespace Ryujinx.Ava.UI.ViewModels
{
internal class AvatarProfileViewModel : BaseModel, IDisposable
{
diff --git a/Ryujinx.Ava/Ui/ViewModels/BaseModel.cs b/Ryujinx.Ava/UI/ViewModels/BaseModel.cs
similarity index 91%
rename from Ryujinx.Ava/Ui/ViewModels/BaseModel.cs
rename to Ryujinx.Ava/UI/ViewModels/BaseModel.cs
index abb14c7d0..5a3717fd3 100644
--- a/Ryujinx.Ava/Ui/ViewModels/BaseModel.cs
+++ b/Ryujinx.Ava/UI/ViewModels/BaseModel.cs
@@ -1,7 +1,7 @@
using System.ComponentModel;
using System.Runtime.CompilerServices;
-namespace Ryujinx.Ava.Ui.ViewModels
+namespace Ryujinx.Ava.UI.ViewModels
{
public class BaseModel : INotifyPropertyChanged
{
diff --git a/Ryujinx.Ava/Ui/ViewModels/ControllerSettingsViewModel.cs b/Ryujinx.Ava/UI/ViewModels/ControllerSettingsViewModel.cs
similarity index 99%
rename from Ryujinx.Ava/Ui/ViewModels/ControllerSettingsViewModel.cs
rename to Ryujinx.Ava/UI/ViewModels/ControllerSettingsViewModel.cs
index c76903168..692d2a8ca 100644
--- a/Ryujinx.Ava/Ui/ViewModels/ControllerSettingsViewModel.cs
+++ b/Ryujinx.Ava/UI/ViewModels/ControllerSettingsViewModel.cs
@@ -5,9 +5,10 @@ using Avalonia.Svg.Skia;
using Avalonia.Threading;
using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.Input;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Configuration.Hid;
@@ -28,7 +29,7 @@ using ConfigGamepadInputId = Ryujinx.Common.Configuration.Hid.Controller.Gamepad
using ConfigStickInputId = Ryujinx.Common.Configuration.Hid.Controller.StickInputId;
using Key = Ryujinx.Common.Configuration.Hid.Key;
-namespace Ryujinx.Ava.Ui.ViewModels
+namespace Ryujinx.Ava.UI.ViewModels
{
public class ControllerSettingsViewModel : BaseModel, IDisposable
{
diff --git a/Ryujinx.Ava/Ui/ViewModels/MainWindowViewModel.cs b/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
similarity index 99%
rename from Ryujinx.Ava/Ui/ViewModels/MainWindowViewModel.cs
rename to Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
index 06513e37c..e6d971930 100644
--- a/Ryujinx.Ava/Ui/ViewModels/MainWindowViewModel.cs
+++ b/Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs
@@ -12,8 +12,9 @@ using LibHac.Ncm;
using Ryujinx.Ava.Common;
using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.Input;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Logging;
@@ -35,7 +36,7 @@ using System.Threading.Tasks;
using Path = System.IO.Path;
using ShaderCacheLoadingState = Ryujinx.Graphics.Gpu.Shader.ShaderCacheState;
-namespace Ryujinx.Ava.Ui.ViewModels
+namespace Ryujinx.Ava.UI.ViewModels
{
internal class MainWindowViewModel : BaseModel
{
diff --git a/Ryujinx.Ava/Ui/ViewModels/SettingsViewModel.cs b/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs
similarity index 98%
rename from Ryujinx.Ava/Ui/ViewModels/SettingsViewModel.cs
rename to Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs
index c752697b9..de1bde46b 100644
--- a/Ryujinx.Ava/Ui/ViewModels/SettingsViewModel.cs
+++ b/Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs
@@ -9,8 +9,9 @@ using Ryujinx.Audio.Backends.SDL2;
using Ryujinx.Audio.Backends.SoundIo;
using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.Input;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Configuration.Hid;
using Ryujinx.Common.GraphicsDriver;
@@ -25,9 +26,9 @@ using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
-using TimeZone = Ryujinx.Ava.Ui.Models.TimeZone;
+using TimeZone = Ryujinx.Ava.UI.Models.TimeZone;
-namespace Ryujinx.Ava.Ui.ViewModels
+namespace Ryujinx.Ava.UI.ViewModels
{
internal class SettingsViewModel : BaseModel
{
@@ -41,7 +42,6 @@ namespace Ryujinx.Ava.Ui.ViewModels
private float _customResolutionScale;
private int _resolutionScale;
private int _graphicsBackendMultithreadingIndex;
- private float _previousVolumeLevel;
private float _volume;
private bool _isVulkanAvailable = true;
private bool _directoryChanged = false;
@@ -390,8 +390,6 @@ namespace Ryujinx.Ava.Ui.ViewModels
TimeOffset = dateTimeOffset.TimeOfDay;
KeyboardHotkeys = config.Hid.Hotkeys.Value;
-
- _previousVolumeLevel = Volume;
}
public void SaveSettings()
@@ -479,9 +477,7 @@ namespace Ryujinx.Ava.Ui.ViewModels
config.ToFileFormat().SaveConfig(Program.ConfigurationPath);
MainWindow.UpdateGraphicsConfig();
-
- _previousVolumeLevel = Volume;
-
+
if (_owner is SettingsWindow owner)
{
owner.ControllerSettings?.SaveCurrentProfile();
diff --git a/Ryujinx.Ava/Ui/ViewModels/UserProfileViewModel.cs b/Ryujinx.Ava/UI/ViewModels/UserProfileViewModel.cs
similarity index 93%
rename from Ryujinx.Ava/Ui/ViewModels/UserProfileViewModel.cs
rename to Ryujinx.Ava/UI/ViewModels/UserProfileViewModel.cs
index eb9f69d63..7b2e1d39c 100644
--- a/Ryujinx.Ava/Ui/ViewModels/UserProfileViewModel.cs
+++ b/Ryujinx.Ava/UI/ViewModels/UserProfileViewModel.cs
@@ -5,15 +5,17 @@ using LibHac.Common;
using LibHac.Fs;
using LibHac.Fs.Shim;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Controls;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
using Ryujinx.HLE.HOS.Services.Account.Acc;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
-using UserProfile = Ryujinx.Ava.Ui.Models.UserProfile;
+using UserId = Ryujinx.HLE.HOS.Services.Account.Acc.UserId;
+using UserProfile = Ryujinx.Ava.UI.Models.UserProfile;
-namespace Ryujinx.Ava.Ui.ViewModels
+namespace Ryujinx.Ava.UI.ViewModels
{
public class UserProfileViewModel : BaseModel, IDisposable
{
@@ -46,7 +48,7 @@ namespace Ryujinx.Ava.Ui.ViewModels
{
_selectedProfile = value;
- OnPropertyChanged(nameof(SelectedProfile));
+ OnPropertyChanged();
OnPropertyChanged(nameof(IsHighlightedProfileDeletable));
OnPropertyChanged(nameof(IsHighlightedProfileEditable));
}
@@ -63,7 +65,7 @@ namespace Ryujinx.Ava.Ui.ViewModels
{
_highlightedProfile = value;
- OnPropertyChanged(nameof(HighlightedProfile));
+ OnPropertyChanged();
OnPropertyChanged(nameof(IsHighlightedProfileDeletable));
OnPropertyChanged(nameof(IsHighlightedProfileEditable));
}
@@ -104,7 +106,7 @@ namespace Ryujinx.Ava.Ui.ViewModels
Span saveDataInfo = stackalloc SaveDataInfo[10];
- HashSet lostAccounts = new HashSet();
+ HashSet lostAccounts = new HashSet();
while (true)
{
@@ -118,7 +120,7 @@ namespace Ryujinx.Ava.Ui.ViewModels
for (int i = 0; i < readCount; i++)
{
var save = saveDataInfo[i];
- var id = new HLE.HOS.Services.Account.Acc.UserId((long)save.UserId.Id.Low, (long)save.UserId.Id.High);
+ var id = new UserId((long)save.UserId.Id.Low, (long)save.UserId.Id.High);
if (Profiles.FirstOrDefault( x=> x.UserId == id) == null)
{
lostAccounts.Add(id);
diff --git a/Ryujinx.Ava/Ui/Windows/AboutWindow.axaml b/Ryujinx.Ava/UI/Windows/AboutWindow.axaml
similarity index 98%
rename from Ryujinx.Ava/Ui/Windows/AboutWindow.axaml
rename to Ryujinx.Ava/UI/Windows/AboutWindow.axaml
index f3e42eb7e..08d28740b 100644
--- a/Ryujinx.Ava/Ui/Windows/AboutWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/AboutWindow.axaml
@@ -1,11 +1,11 @@
+
diff --git a/Ryujinx.Ava/Ui/Windows/AmiiboWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml.cs
similarity index 94%
rename from Ryujinx.Ava/Ui/Windows/AmiiboWindow.axaml.cs
rename to Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml.cs
index e0efdf436..68d16f350 100644
--- a/Ryujinx.Ava/Ui/Windows/AmiiboWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml.cs
@@ -1,9 +1,9 @@
using Avalonia.Interactivity;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.ViewModels;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class AmiiboWindow : StyleableWindow
{
diff --git a/Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml b/Ryujinx.Ava/UI/Windows/AvatarWindow.axaml
similarity index 65%
rename from Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml
rename to Ryujinx.Ava/UI/Windows/AvatarWindow.axaml
index a1099d1b5..c90ce0221 100644
--- a/Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/AvatarWindow.axaml
@@ -1,23 +1,24 @@
-
+
-
+
@@ -43,9 +44,9 @@
-
+
-
diff --git a/Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/AvatarWindow.axaml.cs
similarity index 93%
rename from Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml.cs
rename to Ryujinx.Ava/UI/Windows/AvatarWindow.axaml.cs
index 2189f47d8..e060d65e9 100644
--- a/Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/AvatarWindow.axaml.cs
@@ -2,12 +2,12 @@ using Avalonia.Controls;
using Avalonia.Interactivity;
using FluentAvalonia.UI.Controls;
using FluentAvalonia.UI.Navigation;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.HLE.FileSystem;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class AvatarWindow : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Windows/CheatWindow.axaml b/Ryujinx.Ava/UI/Windows/CheatWindow.axaml
similarity index 96%
rename from Ryujinx.Ava/Ui/Windows/CheatWindow.axaml
rename to Ryujinx.Ava/UI/Windows/CheatWindow.axaml
index 8d313d647..3557ed696 100644
--- a/Ryujinx.Ava/Ui/Windows/CheatWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/CheatWindow.axaml
@@ -1,12 +1,12 @@
+
+
+
+
+
+
+
diff --git a/Ryujinx.Ava/Ui/Windows/ContentDialogOverlayWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/ContentDialogOverlayWindow.axaml.cs
similarity index 95%
rename from Ryujinx.Ava/Ui/Windows/ContentDialogOverlayWindow.axaml.cs
rename to Ryujinx.Ava/UI/Windows/ContentDialogOverlayWindow.axaml.cs
index 7a51e64d0..3f77124d9 100644
--- a/Ryujinx.Ava/Ui/Windows/ContentDialogOverlayWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/ContentDialogOverlayWindow.axaml.cs
@@ -3,7 +3,7 @@ using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Avalonia.Media;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class ContentDialogOverlayWindow : StyleableWindow
{
diff --git a/Ryujinx.Ava/Ui/Windows/ControllerSettingsWindow.axaml b/Ryujinx.Ava/UI/Windows/ControllerSettingsWindow.axaml
similarity index 99%
rename from Ryujinx.Ava/Ui/Windows/ControllerSettingsWindow.axaml
rename to Ryujinx.Ava/UI/Windows/ControllerSettingsWindow.axaml
index 3e8dc41eb..f6bb1aa42 100644
--- a/Ryujinx.Ava/Ui/Windows/ControllerSettingsWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/ControllerSettingsWindow.axaml
@@ -1,13 +1,13 @@
-
+
-
+
-
+
-
-
-
-
+
+
+
+
+ Glyph="{helpers:GlyphValueConverter List}" />
+ Glyph="{helpers:GlyphValueConverter Grid}" />
+
diff --git a/Ryujinx.Ava/Ui/Windows/MotionSettingsWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/MotionSettingsWindow.axaml.cs
similarity index 96%
rename from Ryujinx.Ava/Ui/Windows/MotionSettingsWindow.axaml.cs
rename to Ryujinx.Ava/UI/Windows/MotionSettingsWindow.axaml.cs
index b47819841..215525fcf 100644
--- a/Ryujinx.Ava/Ui/Windows/MotionSettingsWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/MotionSettingsWindow.axaml.cs
@@ -1,12 +1,12 @@
using Avalonia.Controls;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.Common.Configuration.Hid.Controller;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class MotionSettingsWindow : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Windows/RumbleSettingsWindow.axaml b/Ryujinx.Ava/UI/Windows/RumbleSettingsWindow.axaml
similarity index 75%
rename from Ryujinx.Ava/Ui/Windows/RumbleSettingsWindow.axaml
rename to Ryujinx.Ava/UI/Windows/RumbleSettingsWindow.axaml
index 120643aad..e47cc5bd1 100644
--- a/Ryujinx.Ava/Ui/Windows/RumbleSettingsWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/RumbleSettingsWindow.axaml
@@ -1,13 +1,12 @@
-
+
diff --git a/Ryujinx.Ava/Ui/Windows/RumbleSettingsWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/RumbleSettingsWindow.axaml.cs
similarity index 95%
rename from Ryujinx.Ava/Ui/Windows/RumbleSettingsWindow.axaml.cs
rename to Ryujinx.Ava/UI/Windows/RumbleSettingsWindow.axaml.cs
index afb5a33ac..f645ae359 100644
--- a/Ryujinx.Ava/Ui/Windows/RumbleSettingsWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/RumbleSettingsWindow.axaml.cs
@@ -1,12 +1,12 @@
using Avalonia.Controls;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.Common.Configuration.Hid.Controller;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class RumbleSettingsWindow : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Windows/SettingsWindow.axaml b/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml
similarity index 99%
rename from Ryujinx.Ava/Ui/Windows/SettingsWindow.axaml
rename to Ryujinx.Ava/UI/Windows/SettingsWindow.axaml
index bd3dd613e..e25500828 100644
--- a/Ryujinx.Ava/Ui/Windows/SettingsWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml
@@ -1,14 +1,14 @@
-
+
@@ -935,7 +935,7 @@
Tag="CpuPage">
+ Glyph="{helpers:GlyphValueConverter Chip}" />
-
-
\ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Controls/ProfileImageSelectionDialog.axaml b/Ryujinx.Ava/Ui/Controls/ProfileImageSelectionDialog.axaml
deleted file mode 100644
index 7bbd03ca2..000000000
--- a/Ryujinx.Ava/Ui/Controls/ProfileImageSelectionDialog.axaml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Controls/RendererHost.axaml b/Ryujinx.Ava/Ui/Controls/RendererHost.axaml
deleted file mode 100644
index 45bc1b2b8..000000000
--- a/Ryujinx.Ava/Ui/Controls/RendererHost.axaml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
diff --git a/Ryujinx.Ava/Ui/Controls/SaveManager.axaml b/Ryujinx.Ava/Ui/Controls/SaveManager.axaml
deleted file mode 100644
index 8721d2a7b..000000000
--- a/Ryujinx.Ava/Ui/Controls/SaveManager.axaml
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Windows/ContentDialogOverlayWindow.axaml b/Ryujinx.Ava/Ui/Windows/ContentDialogOverlayWindow.axaml
deleted file mode 100644
index 037b7af85..000000000
--- a/Ryujinx.Ava/Ui/Windows/ContentDialogOverlayWindow.axaml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-