aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIsaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>2022-12-29 14:24:05 +0000
committerGitHub <noreply@github.com>2022-12-29 15:24:05 +0100
commit76671d63d4f3ea18f8ad99e9ce9f0b2ec9a2599d (patch)
tree05013214e4696a9254369d0706173f58877f6a83
parent3d1a0bf3749afa14da5b5ba1e0666fdb78c99beb (diff)
Ava GUI: Restructure `Ryujinx.Ava` (#4165)1.1.496
* Restructure `Ryujinx.Ava` * Stylistic consistency * Update Ryujinx.Ava/UI/Controls/UserEditor.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Controls/UserEditor.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Controls/UserSelector.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Controls/SaveManager.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Controls/SaveManager.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Windows/SettingsWindow.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Helpers/EmbeddedWindow.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Helpers/EmbeddedWindow.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Helpers/EmbeddedWindow.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Helpers/EmbeddedWindow.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Windows/SettingsWindow.axaml.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/ViewModels/UserProfileViewModel.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/ViewModels/UserProfileViewModel.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Update Ryujinx.Ava/UI/Helpers/EmbeddedWindow.cs Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com> * Fix redundancies * Remove redunancies * Add back elses Co-authored-by: TSRBerry <20988865+TSRBerry@users.noreply.github.com>
-rw-r--r--Ryujinx.Ava/App.axaml2
-rw-r--r--Ryujinx.Ava/App.axaml.cs5
-rw-r--r--Ryujinx.Ava/AppHost.cs7
-rw-r--r--Ryujinx.Ava/Common/ApplicationHelper.cs5
-rw-r--r--Ryujinx.Ava/Common/Locale/LocaleManager.cs2
-rw-r--r--Ryujinx.Ava/Helper/MetalHelper.cs2
-rw-r--r--Ryujinx.Ava/Modules/Updater/Updater.cs5
-rw-r--r--Ryujinx.Ava/Program.cs2
-rw-r--r--Ryujinx.Ava/UI/Applet/AvaHostUiHandler.cs (renamed from Ryujinx.Ava/Ui/Applet/AvaHostUiHandler.cs)7
-rw-r--r--Ryujinx.Ava/UI/Applet/AvaloniaDynamicTextInputHandler.cs (renamed from Ryujinx.Ava/Ui/Applet/AvaloniaDynamicTextInputHandler.cs)7
-rw-r--r--Ryujinx.Ava/UI/Applet/AvaloniaHostUiTheme.cs (renamed from Ryujinx.Ava/Ui/Applet/AvaloniaHostUiTheme.cs)4
-rw-r--r--Ryujinx.Ava/UI/Applet/ErrorAppletWindow.axaml (renamed from Ryujinx.Ava/Ui/Applet/ErrorAppletWindow.axaml)3
-rw-r--r--Ryujinx.Ava/UI/Applet/ErrorAppletWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Applet/ErrorAppletWindow.axaml.cs)4
-rw-r--r--Ryujinx.Ava/UI/Applet/SwkbdAppletDialog.axaml (renamed from Ryujinx.Ava/Ui/Applet/SwkbdAppletDialog.axaml)3
-rw-r--r--Ryujinx.Ava/UI/Applet/SwkbdAppletDialog.axaml.cs (renamed from Ryujinx.Ava/Ui/Applet/SwkbdAppletDialog.axaml.cs)5
-rw-r--r--Ryujinx.Ava/UI/Controls/GameGridView.axaml (renamed from Ryujinx.Ava/Ui/Controls/GameGridView.axaml)6
-rw-r--r--Ryujinx.Ava/UI/Controls/GameGridView.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/GameGridView.axaml.cs)5
-rw-r--r--Ryujinx.Ava/UI/Controls/GameListView.axaml (renamed from Ryujinx.Ava/Ui/Controls/GameListView.axaml)7
-rw-r--r--Ryujinx.Ava/UI/Controls/GameListView.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/GameListView.axaml.cs)5
-rw-r--r--Ryujinx.Ava/UI/Controls/InputDialog.axaml (renamed from Ryujinx.Ava/Ui/Controls/InputDialog.axaml)2
-rw-r--r--Ryujinx.Ava/UI/Controls/InputDialog.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/InputDialog.axaml.cs)5
-rw-r--r--Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml16
-rw-r--r--Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/NavigationDialogHost.axaml.cs)4
-rw-r--r--Ryujinx.Ava/UI/Controls/ProfileImageSelectionDialog.axaml57
-rw-r--r--Ryujinx.Ava/UI/Controls/ProfileImageSelectionDialog.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/ProfileImageSelectionDialog.axaml.cs)6
-rw-r--r--Ryujinx.Ava/UI/Controls/RendererHost.axaml11
-rw-r--r--Ryujinx.Ava/UI/Controls/RendererHost.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/RendererHost.axaml.cs)3
-rw-r--r--Ryujinx.Ava/UI/Controls/SaveManager.axaml175
-rw-r--r--Ryujinx.Ava/UI/Controls/SaveManager.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/SaveManager.axaml.cs)6
-rw-r--r--Ryujinx.Ava/UI/Controls/UpdateWaitWindow.axaml (renamed from Ryujinx.Ava/Ui/Controls/UpdateWaitWindow.axaml)3
-rw-r--r--Ryujinx.Ava/UI/Controls/UpdateWaitWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/UpdateWaitWindow.axaml.cs)4
-rw-r--r--Ryujinx.Ava/UI/Controls/UserEditor.axaml (renamed from Ryujinx.Ava/Ui/Controls/UserEditor.axaml)23
-rw-r--r--Ryujinx.Ava/UI/Controls/UserEditor.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/UserEditor.axaml.cs)7
-rw-r--r--Ryujinx.Ava/UI/Controls/UserRecoverer.axaml (renamed from Ryujinx.Ava/Ui/Controls/UserRecoverer.axaml)33
-rw-r--r--Ryujinx.Ava/UI/Controls/UserRecoverer.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/UserRecoverer.axaml.cs)6
-rw-r--r--Ryujinx.Ava/UI/Controls/UserSelector.axaml (renamed from Ryujinx.Ava/Ui/Controls/UserSelector.axaml)21
-rw-r--r--Ryujinx.Ava/UI/Controls/UserSelector.axaml.cs (renamed from Ryujinx.Ava/Ui/Controls/UserSelector.axaml.cs)6
-rw-r--r--Ryujinx.Ava/UI/Helpers/ApplicationOpenedEventArgs.cs (renamed from Ryujinx.Ava/Ui/Controls/ApplicationOpenedEventArgs.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/AvaloniaGlxContext.cs (renamed from Ryujinx.Ava/Ui/Controls/AvaloniaGlxContext.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/AvaloniaWglContext.cs (renamed from Ryujinx.Ava/Ui/Controls/AvaloniaWglContext.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/BitmapArrayValueConverter.cs (renamed from Ryujinx.Ava/Ui/Controls/BitmapArrayValueConverter.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/ButtonKeyAssigner.cs (renamed from Ryujinx.Ava/Ui/Controls/ButtonKeyAssigner.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/ContentDialogHelper.cs (renamed from Ryujinx.Ava/Ui/Controls/ContentDialogHelper.cs)7
-rw-r--r--Ryujinx.Ava/UI/Helpers/EmbeddedWindow.cs (renamed from Ryujinx.Ava/Ui/Controls/EmbeddedWindow.cs)8
-rw-r--r--Ryujinx.Ava/UI/Helpers/Glyph.cs9
-rw-r--r--Ryujinx.Ava/UI/Helpers/GlyphValueConverter.cs (renamed from Ryujinx.Ava/Ui/Controls/GlyphValueConverter.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/HotKeyControl.cs (renamed from Ryujinx.Ava/Ui/Controls/HotKeyControl.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/IGlContextExtension.cs (renamed from Ryujinx.Ava/Ui/Controls/IGlContextExtension.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/KeyValueConverter.cs (renamed from Ryujinx.Ava/Ui/Controls/KeyValueConverter.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/MiniCommand.cs (renamed from Ryujinx.Ava/Ui/Controls/MiniCommand.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/OffscreenTextBox.cs (renamed from Ryujinx.Ava/Ui/Controls/OffscreenTextBox.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/OpenGLEmbeddedWindow.cs (renamed from Ryujinx.Ava/Ui/Controls/OpenGLEmbeddedWindow.cs)5
-rw-r--r--Ryujinx.Ava/UI/Helpers/OpenToolkitBindingsContext.cs (renamed from Ryujinx.Ava/Ui/Controls/OpenToolkitBindingsContext.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/SPBOpenGLContext.cs (renamed from Ryujinx.Ava/Ui/Controls/SPBOpenGLContext.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/UserErrorDialog.cs (renamed from Ryujinx.Ava/Ui/Controls/UserErrorDialog.cs)4
-rw-r--r--Ryujinx.Ava/UI/Helpers/UserResult.cs (renamed from Ryujinx.Ava/Ui/Controls/UserResult.cs)2
-rw-r--r--Ryujinx.Ava/UI/Helpers/VulkanEmbeddedWindow.cs (renamed from Ryujinx.Ava/Ui/Controls/VulkanEmbeddedWindow.cs)3
-rw-r--r--Ryujinx.Ava/UI/Helpers/Win32NativeInterop.cs (renamed from Ryujinx.Ava/Ui/Controls/Win32NativeInterop.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/Amiibo.cs (renamed from Ryujinx.Ava/Ui/Models/Amiibo.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/CheatModel.cs (renamed from Ryujinx.Ava/Ui/Models/CheatModel.cs)4
-rw-r--r--Ryujinx.Ava/UI/Models/CheatsList.cs (renamed from Ryujinx.Ava/Ui/Models/CheatsList.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/ControllerModel.cs (renamed from Ryujinx.Ava/Ui/Models/ControllerModel.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/DeviceType.cs (renamed from Ryujinx.Ava/Ui/Models/DeviceType.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/DownloadableContentModel.cs (renamed from Ryujinx.Ava/Ui/Models/DownloadableContentModel.cs)4
-rw-r--r--Ryujinx.Ava/UI/Models/Generic/LastPlayedSortComparer.cs (renamed from Ryujinx.Ava/Ui/Models/Generic/LastPlayedSortComparer.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/InputConfiguration.cs (renamed from Ryujinx.Ava/Ui/Models/InputConfiguration.cs)4
-rw-r--r--Ryujinx.Ava/UI/Models/PlayerModel.cs (renamed from Ryujinx.Ava/Ui/Models/PlayerModel.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/ProfileImageModel.cs (renamed from Ryujinx.Ava/Ui/Models/ProfileImageModel.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/SaveModel.cs (renamed from Ryujinx.Ava/Ui/Models/SaveModel.cs)9
-rw-r--r--Ryujinx.Ava/UI/Models/StatusUpdatedEventArgs.cs (renamed from Ryujinx.Ava/Ui/Models/StatusUpdatedEventArgs.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/TempProfile.cs (renamed from Ryujinx.Ava/Ui/Models/TempProfile.cs)4
-rw-r--r--Ryujinx.Ava/UI/Models/TimeZone.cs (renamed from Ryujinx.Ava/Ui/Models/TimeZone.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/TitleUpdateModel.cs (renamed from Ryujinx.Ava/Ui/Models/TitleUpdateModel.cs)2
-rw-r--r--Ryujinx.Ava/UI/Models/UserProfile.cs (renamed from Ryujinx.Ava/Ui/Models/UserProfile.cs)6
-rw-r--r--Ryujinx.Ava/UI/ViewModels/AmiiboWindowViewModel.cs (renamed from Ryujinx.Ava/Ui/ViewModels/AmiiboWindowViewModel.cs)9
-rw-r--r--Ryujinx.Ava/UI/ViewModels/AvatarProfileViewModel.cs (renamed from Ryujinx.Ava/Ui/ViewModels/AvatarProfileViewModel.cs)4
-rw-r--r--Ryujinx.Ava/UI/ViewModels/BaseModel.cs (renamed from Ryujinx.Ava/Ui/ViewModels/BaseModel.cs)2
-rw-r--r--Ryujinx.Ava/UI/ViewModels/ControllerSettingsViewModel.cs (renamed from Ryujinx.Ava/Ui/ViewModels/ControllerSettingsViewModel.cs)9
-rw-r--r--Ryujinx.Ava/UI/ViewModels/MainWindowViewModel.cs (renamed from Ryujinx.Ava/Ui/ViewModels/MainWindowViewModel.cs)7
-rw-r--r--Ryujinx.Ava/UI/ViewModels/SettingsViewModel.cs (renamed from Ryujinx.Ava/Ui/ViewModels/SettingsViewModel.cs)16
-rw-r--r--Ryujinx.Ava/UI/ViewModels/UserProfileViewModel.cs (renamed from Ryujinx.Ava/Ui/ViewModels/UserProfileViewModel.cs)16
-rw-r--r--Ryujinx.Ava/UI/Windows/AboutWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/AboutWindow.axaml)4
-rw-r--r--Ryujinx.Ava/UI/Windows/AboutWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/AboutWindow.axaml.cs)2
-rw-r--r--Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/AmiiboWindow.axaml)35
-rw-r--r--Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/AmiiboWindow.axaml.cs)6
-rw-r--r--Ryujinx.Ava/UI/Windows/AvatarWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml)37
-rw-r--r--Ryujinx.Ava/UI/Windows/AvatarWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml.cs)8
-rw-r--r--Ryujinx.Ava/UI/Windows/CheatWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/CheatWindow.axaml)6
-rw-r--r--Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/CheatWindow.axaml.cs)4
-rw-r--r--Ryujinx.Ava/UI/Windows/ContentDialogOverlayWindow.axaml29
-rw-r--r--Ryujinx.Ava/UI/Windows/ContentDialogOverlayWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/ContentDialogOverlayWindow.axaml.cs)2
-rw-r--r--Ryujinx.Ava/UI/Windows/ControllerSettingsWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/ControllerSettingsWindow.axaml)8
-rw-r--r--Ryujinx.Ava/UI/Windows/ControllerSettingsWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/ControllerSettingsWindow.axaml.cs)9
-rw-r--r--Ryujinx.Ava/UI/Windows/DownloadableContentManagerWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/DownloadableContentManagerWindow.axaml)4
-rw-r--r--Ryujinx.Ava/UI/Windows/DownloadableContentManagerWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/DownloadableContentManagerWindow.axaml.cs)7
-rw-r--r--Ryujinx.Ava/UI/Windows/IconColorPicker.cs (renamed from Ryujinx.Ava/Ui/Windows/IconColorPicker.cs)2
-rw-r--r--Ryujinx.Ava/UI/Windows/MainWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/MainWindow.axaml)26
-rw-r--r--Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs)11
-rw-r--r--Ryujinx.Ava/UI/Windows/MotionSettingsWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/MotionSettingsWindow.axaml)20
-rw-r--r--Ryujinx.Ava/UI/Windows/MotionSettingsWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/MotionSettingsWindow.axaml.cs)6
-rw-r--r--Ryujinx.Ava/UI/Windows/RumbleSettingsWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/RumbleSettingsWindow.axaml)19
-rw-r--r--Ryujinx.Ava/UI/Windows/RumbleSettingsWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/RumbleSettingsWindow.axaml.cs)6
-rw-r--r--Ryujinx.Ava/UI/Windows/SettingsWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/SettingsWindow.axaml)12
-rw-r--r--Ryujinx.Ava/UI/Windows/SettingsWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/SettingsWindow.axaml.cs)9
-rw-r--r--Ryujinx.Ava/UI/Windows/StyleableWindow.cs (renamed from Ryujinx.Ava/Ui/Windows/StyleableWindow.cs)2
-rw-r--r--Ryujinx.Ava/UI/Windows/TitleUpdateWindow.axaml (renamed from Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml)4
-rw-r--r--Ryujinx.Ava/UI/Windows/TitleUpdateWindow.axaml.cs (renamed from Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml.cs)7
-rw-r--r--Ryujinx.Ava/Ui/Controls/Glyph.cs9
-rw-r--r--Ryujinx.Ava/Ui/Controls/NavigationDialogHost.axaml11
-rw-r--r--Ryujinx.Ava/Ui/Controls/ProfileImageSelectionDialog.axaml32
-rw-r--r--Ryujinx.Ava/Ui/Controls/RendererHost.axaml8
-rw-r--r--Ryujinx.Ava/Ui/Controls/SaveManager.axaml103
-rw-r--r--Ryujinx.Ava/Ui/Windows/ContentDialogOverlayWindow.axaml28
113 files changed, 624 insertions, 506 deletions
diff --git a/Ryujinx.Ava/App.axaml b/Ryujinx.Ava/App.axaml
index eb9ffd86..72bc0dee 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">
<Application.Styles>
- <sty:FluentAvaloniaTheme UseSystemThemeOnWindows="False" />
+ <sty:FluentAvaloniaTheme PreferSystemTheme="False" />
</Application.Styles>
</Application> \ No newline at end of file
diff --git a/Ryujinx.Ava/App.axaml.cs b/Ryujinx.Ava/App.axaml.cs
index 3c28c019..e59f9bd3 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 c1b3355a..f8bd032c 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 7f766614..0c562dfe 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 41b98136..acbbf2df 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 2d4d828b..ea3477eb 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 b3a1ef30..d495131f 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 023e31df..142d7820 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
index a8d6a6df..a8e76275 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
index 78692ced..314746e7 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
index 8034b506..fe5e2721 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
index aae66ccc..211b4725 100644
--- a/Ryujinx.Ava/Ui/Applet/ErrorAppletWindow.axaml
+++ b/Ryujinx.Ava/UI/Applet/ErrorAppletWindow.axaml
@@ -1,11 +1,10 @@
<Window
- x:Class="Ryujinx.Ava.Ui.Applet.ErrorAppletWindow"
+ x:Class="Ryujinx.Ava.UI.Applet.ErrorAppletWindow"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
Title="{locale:Locale ErrorWindowTitle}"
Width="450"
Height="340"
diff --git a/Ryujinx.Ava/Ui/Applet/ErrorAppletWindow.axaml.cs b/Ryujinx.Ava/UI/Applet/ErrorAppletWindow.axaml.cs
index ce634576..a17826f8 100644
--- a/Ryujinx.Ava/Ui/Applet/ErrorAppletWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Applet/ErrorAppletWindow.axaml.cs
@@ -3,10 +3,10 @@ using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Threading;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Windows;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Applet
+namespace Ryujinx.Ava.UI.Applet
{
internal partial class ErrorAppletWindow : StyleableWindow
{
diff --git a/Ryujinx.Ava/Ui/Applet/SwkbdAppletDialog.axaml b/Ryujinx.Ava/UI/Applet/SwkbdAppletDialog.axaml
index 55895c1b..43ccf9e7 100644
--- a/Ryujinx.Ava/Ui/Applet/SwkbdAppletDialog.axaml
+++ b/Ryujinx.Ava/UI/Applet/SwkbdAppletDialog.axaml
@@ -1,10 +1,9 @@
<UserControl
- x:Class="Ryujinx.Ava.Ui.Controls.SwkbdAppletDialog"
+ x:Class="Ryujinx.Ava.UI.Controls.SwkbdAppletDialog"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
Width="400"
mc:Ignorable="d"
Focusable="True">
diff --git a/Ryujinx.Ava/Ui/Applet/SwkbdAppletDialog.axaml.cs b/Ryujinx.Ava/UI/Applet/SwkbdAppletDialog.axaml.cs
index ee329bc2..80be2979 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
index b0669463..1c4d7638 100644
--- a/Ryujinx.Ava/Ui/Controls/GameGridView.axaml
+++ b/Ryujinx.Ava/UI/Controls/GameGridView.axaml
@@ -1,19 +1,19 @@
<UserControl
- x:Class="Ryujinx.Ava.Ui.Controls.GameGridView"
+ x:Class="Ryujinx.Ava.UI.Controls.GameGridView"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:flex="clr-namespace:Avalonia.Flexbox;assembly=Avalonia.Flexbox"
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+ xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d"
Focusable="True">
<UserControl.Resources>
- <controls:BitmapArrayValueConverter x:Key="ByteImage" />
+ <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
<MenuFlyout x:Key="GameContextMenu" Opened="MenuBase_OnMenuOpened">
<MenuItem
Command="{Binding ToggleFavorite}"
diff --git a/Ryujinx.Ava/Ui/Controls/GameGridView.axaml.cs b/Ryujinx.Ava/UI/Controls/GameGridView.axaml.cs
index 4dfe4f0e..9965f750 100644
--- a/Ryujinx.Ava/Ui/Controls/GameGridView.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/GameGridView.axaml.cs
@@ -4,11 +4,12 @@ using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using LibHac.Common;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.Ui.App.Common;
using System;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class GameGridView : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Controls/GameListView.axaml b/Ryujinx.Ava/UI/Controls/GameListView.axaml
index 2c41cef8..d886ecbe 100644
--- a/Ryujinx.Ava/Ui/Controls/GameListView.axaml
+++ b/Ryujinx.Ava/UI/Controls/GameListView.axaml
@@ -1,19 +1,18 @@
<UserControl
- x:Class="Ryujinx.Ava.Ui.Controls.GameListView"
+ x:Class="Ryujinx.Ava.UI.Controls.GameListView"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:flex="clr-namespace:Avalonia.Flexbox;assembly=Avalonia.Flexbox"
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+ xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d"
Focusable="True">
<UserControl.Resources>
- <controls:BitmapArrayValueConverter x:Key="ByteImage" />
+ <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
<MenuFlyout x:Key="GameContextMenu" Opened="MenuBase_OnMenuOpened">
<MenuItem
Command="{Binding ToggleFavorite}"
diff --git a/Ryujinx.Ava/Ui/Controls/GameListView.axaml.cs b/Ryujinx.Ava/UI/Controls/GameListView.axaml.cs
index 1cca3bea..01e35990 100644
--- a/Ryujinx.Ava/Ui/Controls/GameListView.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/GameListView.axaml.cs
@@ -4,11 +4,12 @@ using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using LibHac.Common;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.Ui.App.Common;
using System;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class GameListView : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Controls/InputDialog.axaml b/Ryujinx.Ava/UI/Controls/InputDialog.axaml
index 56f96f82..ed1ceda3 100644
--- a/Ryujinx.Ava/Ui/Controls/InputDialog.axaml
+++ b/Ryujinx.Ava/UI/Controls/InputDialog.axaml
@@ -1,5 +1,5 @@
<UserControl
- x:Class="Ryujinx.Ava.Ui.Controls.InputDialog"
+ x:Class="Ryujinx.Ava.UI.Controls.InputDialog"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
diff --git a/Ryujinx.Ava/Ui/Controls/InputDialog.axaml.cs b/Ryujinx.Ava/UI/Controls/InputDialog.axaml.cs
index 3e78119d..abaabd3b 100644
--- a/Ryujinx.Ava/Ui/Controls/InputDialog.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/InputDialog.axaml.cs
@@ -1,10 +1,11 @@
using Avalonia.Controls;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Models;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Models;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class InputDialog : UserControl
{
diff --git a/Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml b/Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml
new file mode 100644
index 00000000..90720478
--- /dev/null
+++ b/Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml
@@ -0,0 +1,16 @@
+<UserControl
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+ mc:Ignorable="d"
+ d:DesignWidth="800"
+ d:DesignHeight="450"
+ x:Class="Ryujinx.Ava.UI.Controls.NavigationDialogHost"
+ Focusable="True">
+ <ui:Frame
+ HorizontalAlignment="Stretch"
+ VerticalAlignment="Stretch"
+ x:Name="ContentFrame" />
+</UserControl> \ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Controls/NavigationDialogHost.axaml.cs b/Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml.cs
index ced88328..98f9e9e3 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 00000000..56f8152a
--- /dev/null
+++ b/Ryujinx.Ava/UI/Controls/ProfileImageSelectionDialog.axaml
@@ -0,0 +1,57 @@
+<UserControl
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ mc:Ignorable="d"
+ x:Class="Ryujinx.Ava.UI.Controls.ProfileImageSelectionDialog"
+ Focusable="True">
+ <Grid
+ HorizontalAlignment="Stretch"
+ VerticalAlignment="Center"
+ Margin="5,10,5, 5">
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="70" />
+ <RowDefinition Height="Auto" />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+ <TextBlock
+ FontWeight="Bold"
+ FontSize="18"
+ HorizontalAlignment="Center"
+ Grid.Row="1"
+ Text="{locale:Locale ProfileImageSelectionHeader}" />
+ <TextBlock
+ FontWeight="Bold"
+ Grid.Row="2"
+ Margin="10"
+ MaxWidth="400"
+ TextWrapping="Wrap"
+ HorizontalAlignment="Center"
+ TextAlignment="Center"
+ Text="{locale:Locale ProfileImageSelectionNote}" />
+ <StackPanel
+ Margin="5,0"
+ Spacing="10"
+ Grid.Row="4"
+ HorizontalAlignment="Center"
+ Orientation="Horizontal">
+ <Button
+ Name="Import"
+ Click="Import_OnClick"
+ Width="200">
+ <TextBlock Text="{locale:Locale ProfileImageSelectionImportImage}" />
+ </Button>
+ <Button
+ Name="SelectFirmwareImage"
+ IsEnabled="{Binding FirmwareFound}"
+ Click="SelectFirmwareImage_OnClick"
+ Width="200">
+ <TextBlock Text="{locale:Locale ProfileImageSelectionSelectAvatar}" />
+ </Button>
+ </StackPanel>
+ </Grid>
+</UserControl> \ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Controls/ProfileImageSelectionDialog.axaml.cs b/Ryujinx.Ava/UI/Controls/ProfileImageSelectionDialog.axaml.cs
index 5d361af9..00183b69 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 00000000..1cc557f0
--- /dev/null
+++ b/Ryujinx.Ava/UI/Controls/RendererHost.axaml
@@ -0,0 +1,11 @@
+<UserControl
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ mc:Ignorable="d"
+ d:DesignWidth="800"
+ d:DesignHeight="450"
+ x:Class="Ryujinx.Ava.UI.Controls.RendererHost"
+ Focusable="True">
+</UserControl>
diff --git a/Ryujinx.Ava/Ui/Controls/RendererHost.axaml.cs b/Ryujinx.Ava/UI/Controls/RendererHost.axaml.cs
index b6986b7c..97058fa4 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 00000000..b0dc4c6f
--- /dev/null
+++ b/Ryujinx.Ava/UI/Controls/SaveManager.axaml
@@ -0,0 +1,175 @@
+<UserControl
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:models="clr-namespace:Ryujinx.Ava.UI.Models"
+ xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+ xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
+ mc:Ignorable="d"
+ d:DesignWidth="800"
+ d:DesignHeight="450"
+ Height="400"
+ Width="550"
+ x:Class="Ryujinx.Ava.UI.Controls.SaveManager"
+ Focusable="True">
+ <UserControl.Resources>
+ <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
+ </UserControl.Resources>
+ <Grid>
+ <Grid.RowDefinitions>
+ <RowDefinition Height="Auto" />
+ <RowDefinition />
+ </Grid.RowDefinitions>
+ <Grid
+ Grid.Row="0"
+ HorizontalAlignment="Stretch">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto" />
+ <ColumnDefinition />
+ </Grid.ColumnDefinitions>
+ <StackPanel
+ Spacing="10"
+ Orientation="Horizontal"
+ HorizontalAlignment="Left"
+ VerticalAlignment="Center">
+ <Label
+ Content="{locale:Locale CommonSort}"
+ VerticalAlignment="Center" />
+ <ComboBox SelectedIndex="{Binding SortIndex}" Width="100">
+ <ComboBoxItem>
+ <Label
+ VerticalAlignment="Center"
+ HorizontalContentAlignment="Left"
+ Content="{locale:Locale Name}" />
+ </ComboBoxItem>
+ <ComboBoxItem>
+ <Label
+ VerticalAlignment="Center"
+ HorizontalContentAlignment="Left"
+ Content="{locale:Locale Size}" />
+ </ComboBoxItem>
+ </ComboBox>
+ <ComboBox SelectedIndex="{Binding OrderIndex}" Width="150">
+ <ComboBoxItem>
+ <Label
+ VerticalAlignment="Center"
+ HorizontalContentAlignment="Left"
+ Content="{locale:Locale OrderAscending}" />
+ </ComboBoxItem>
+ <ComboBoxItem>
+ <Label
+ VerticalAlignment="Center"
+ HorizontalContentAlignment="Left"
+ Content="{locale:Locale Descending}" />
+ </ComboBoxItem>
+ </ComboBox>
+ </StackPanel>
+ <Grid
+ Grid.Column="1"
+ HorizontalAlignment="Stretch"
+ Margin="10,0, 0, 0">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition Width="Auto"/>
+ <ColumnDefinition/>
+ </Grid.ColumnDefinitions>
+ <Label
+ Content="{locale:Locale Search}"
+ VerticalAlignment="Center"/>
+ <TextBox
+ Margin="5,0,0,0"
+ Grid.Column="1"
+ HorizontalAlignment="Stretch"
+ Text="{Binding Search}"/>
+ </Grid>
+ </Grid>
+ <Border
+ Grid.Row="1"
+ Margin="0,5"
+ BorderThickness="1"
+ HorizontalAlignment="Stretch"
+ VerticalAlignment="Stretch">
+ <ListBox
+ Name="SaveList"
+ Items="{Binding View}"
+ HorizontalAlignment="Stretch"
+ VerticalAlignment="Stretch">
+ <ListBox.ItemTemplate>
+ <DataTemplate x:DataType="models:SaveModel">
+ <Grid HorizontalAlignment="Stretch" Margin="0,5">
+ <Grid.ColumnDefinitions>
+ <ColumnDefinition />
+ <ColumnDefinition Width="Auto" />
+ </Grid.ColumnDefinitions>
+ <StackPanel Grid.Column="0" Orientation="Horizontal">
+ <Border
+ Height="42"
+ Margin="2"
+ Width="42"
+ Padding="10"
+ IsVisible="{Binding !InGameList}">
+ <ui:SymbolIcon
+ Symbol="Help"
+ FontSize="30"
+ HorizontalAlignment="Center"
+ VerticalAlignment="Center" />
+ </Border>
+ <Image
+ IsVisible="{Binding InGameList}"
+ Margin="2"
+ Width="42"
+ Height="42"
+ Source="{Binding Icon,
+ Converter={StaticResource ByteImage}}" />
+ <TextBlock
+ MaxLines="3"
+ Width="320"
+ Margin="5"
+ TextWrapping="Wrap"
+ Text="{Binding Title}" VerticalAlignment="Center" />
+ </StackPanel>
+ <StackPanel
+ Grid.Column="1"
+ Spacing="10"
+ HorizontalAlignment="Right"
+ Orientation="Horizontal">
+ <Label
+ Content="{Binding SizeString}"
+ IsVisible="{Binding SizeAvailable}"
+ VerticalAlignment="Center"
+ HorizontalAlignment="Right" />
+ <Button
+ VerticalAlignment="Center"
+ HorizontalAlignment="Right"
+ Padding="10"
+ MinWidth="0"
+ MinHeight="0"
+ Name="OpenLocation"
+ Command="{Binding OpenLocation}">
+ <ui:SymbolIcon
+ Symbol="OpenFolder"
+ HorizontalAlignment="Center"
+ VerticalAlignment="Center" />
+ </Button>
+ <Button
+ VerticalAlignment="Center"
+ HorizontalAlignment="Right"
+ Padding="10"
+ MinWidth="0"
+ MinHeight="0"
+ Name="Delete"
+ Command="{Binding Delete}">
+ <ui:SymbolIcon
+ Symbol="Delete"
+ HorizontalAlignment="Center"
+ VerticalAlignment="Center" />
+ </Button>
+ </StackPanel>
+ </Grid>
+ </DataTemplate>
+ </ListBox.ItemTemplate>
+ </ListBox>
+ </Border>
+ </Grid>
+</UserControl> \ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Controls/SaveManager.axaml.cs b/Ryujinx.Ava/UI/Controls/SaveManager.axaml.cs
index 499cd918..9910481c 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
index 8309e369..c5041230 100644
--- a/Ryujinx.Ava/Ui/Controls/UpdateWaitWindow.axaml
+++ b/Ryujinx.Ava/UI/Controls/UpdateWaitWindow.axaml
@@ -1,10 +1,9 @@
<Window
- x:Class="Ryujinx.Ava.Ui.Controls.UpdateWaitWindow"
+ x:Class="Ryujinx.Ava.UI.Controls.UpdateWaitWindow"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
Title="Ryujinx - Waiting"
SizeToContent="WidthAndHeight"
WindowStartupLocation="CenterOwner"
diff --git a/Ryujinx.Ava/Ui/Controls/UpdateWaitWindow.axaml.cs b/Ryujinx.Ava/UI/Controls/UpdateWaitWindow.axaml.cs
index efea4339..9db7b5d4 100644
--- a/Ryujinx.Ava/Ui/Controls/UpdateWaitWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Controls/UpdateWaitWindow.axaml.cs
@@ -1,7 +1,7 @@
using Avalonia.Controls;
-using Ryujinx.Ava.Ui.Windows;
+using Ryujinx.Ava.UI.Windows;
-namespace Ryujinx.Ava.Ui.Controls
+namespace Ryujinx.Ava.UI.Controls
{
public partial class UpdateWaitWindow : StyleableWindow
{
diff --git a/Ryujinx.Ava/Ui/Controls/UserEditor.axaml b/Ryujinx.Ava/UI/Controls/UserEditor.axaml
index a00e4210..155f1cfe 100644
--- a/Ryujinx.Ava/Ui/Controls/UserEditor.axaml
+++ b/Ryujinx.Ava/UI/Controls/UserEditor.axaml
@@ -1,21 +1,18 @@
<UserControl
- x:Class="Ryujinx.Ava.Ui.Controls.UserEditor"
+ x:Class="Ryujinx.Ava.UI.Controls.UserEditor"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:Locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
+ xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:models="clr-namespace:Ryujinx.Ava.Ui.Models"
- xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
+ xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
Margin="0"
MinWidth="500"
Padding="0"
mc:Ignorable="d"
Focusable="True">
<UserControl.Resources>
- <controls:BitmapArrayValueConverter x:Key="ByteImage" />
+ <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
</UserControl.Resources>
<Grid Margin="0">
<Grid.ColumnDefinitions>
@@ -43,13 +40,13 @@
Margin="5"
HorizontalAlignment="Stretch"
Click="ChangePictureButton_Click"
- Content="{Locale:Locale UserProfilesChangeProfileImage}" />
+ Content="{locale:Locale UserProfilesChangeProfileImage}" />
<Button
Name="AddPictureButton"
Margin="5"
HorizontalAlignment="Stretch"
Click="ChangePictureButton_Click"
- Content="{Locale:Locale UserProfilesSetProfileImage}" />
+ Content="{locale:Locale UserProfilesSetProfileImage}" />
</StackPanel>
<StackPanel
Grid.Row="0"
@@ -58,14 +55,14 @@
HorizontalAlignment="Stretch"
Orientation="Vertical"
Spacing="10">
- <TextBlock Text="{Locale:Locale UserProfilesName}" />
+ <TextBlock Text="{locale:Locale UserProfilesName}" />
<TextBox
Name="NameBox"
Width="300"
HorizontalAlignment="Stretch"
MaxLength="{Binding MaxProfileNameLength}"
Text="{Binding Name}" />
- <TextBlock Name="IdText" Text="{Locale:Locale UserProfilesUserId}" />
+ <TextBlock Name="IdText" Text="{locale:Locale UserProfilesUserId}" />
<TextBlock Name="IdLabel" Text="{Binding UserId}" />
</StackPanel>
<StackPanel
@@ -78,12 +75,12 @@
<Button
Name="SaveButton"
Click="SaveButton_Click"
- Content="{Locale:Locale Save}" />
+ Content="{locale:Locale Save}" />
<Button
Name="CloseButton"
HorizontalAlignment="Right"
Click="CloseButton_Click"
- Content="{Locale:Locale Discard}" />
+ Content="{locale:Locale Discard}" />
</StackPanel>
</Grid>
</UserControl>
diff --git a/Ryujinx.Ava/Ui/Controls/UserEditor.axaml.cs b/Ryujinx.Ava/UI/Controls/UserEditor.axaml.cs
index f5b51e4e..19fa29e5 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
index 0efb5019..69f3d36a 100644
--- a/Ryujinx.Ava/Ui/Controls/UserRecoverer.axaml
+++ b/Ryujinx.Ava/UI/Controls/UserRecoverer.axaml
@@ -1,17 +1,18 @@
-<UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d"
- d:DesignWidth="800"
- d:DesignHeight="450"
- MinWidth="500"
- MinHeight="400"
- xmlns:Locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
- x:Class="Ryujinx.Ava.Ui.Controls.UserRecoverer"
- Focusable="True">
+<UserControl
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+ xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
+ mc:Ignorable="d"
+ d:DesignWidth="800"
+ d:DesignHeight="450"
+ MinWidth="500"
+ MinHeight="400"
+ x:Class="Ryujinx.Ava.UI.Controls.UserRecoverer"
+ Focusable="True">
<Design.DataContext>
<viewModels:UserProfileViewModel />
</Design.DataContext>
@@ -32,7 +33,7 @@
<ui:SymbolIcon Symbol="Back"/>
</Button>
<TextBlock Grid.Row="1"
- Text="{Locale:Locale UserProfilesRecoverHeading}"/>
+ Text="{locale:Locale UserProfilesRecoverHeading}"/>
<ListBox
Margin="5"
Grid.Row="2"
@@ -61,7 +62,7 @@
HorizontalAlignment="Right"
Command="{Binding Recover}"
CommandParameter="{Binding}"
- Content="{Locale:Locale Recover}"/>
+ Content="{locale:Locale Recover}"/>
</Grid>
</Border>
</DataTemplate>
diff --git a/Ryujinx.Ava/Ui/Controls/UserRecoverer.axaml.cs b/Ryujinx.Ava/UI/Controls/UserRecoverer.axaml.cs
index f093686d..9f29fddb 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
index 7cfdc481..002d27a0 100644
--- a/Ryujinx.Ava/Ui/Controls/UserSelector.axaml
+++ b/Ryujinx.Ava/UI/Controls/UserSelector.axaml
@@ -1,21 +1,20 @@
<UserControl
- x:Class="Ryujinx.Ava.Ui.Controls.UserSelector"
+ x:Class="Ryujinx.Ava.UI.Controls.UserSelector"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:Locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
+ xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:flex="clr-namespace:Avalonia.Flexbox;assembly=Avalonia.Flexbox"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
+ xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
+ xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
d:DesignHeight="450"
MinWidth="500"
d:DesignWidth="800"
mc:Ignorable="d"
Focusable="True">
<UserControl.Resources>
- <controls:BitmapArrayValueConverter x:Key="ByteImage" />
+ <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
</UserControl.Resources>
<Design.DataContext>
<viewModels:UserProfileViewModel />
@@ -109,21 +108,21 @@
Grid.Column="0"
Margin="2"
Command="{Binding AddUser}"
- Content="{Locale:Locale UserProfilesAddNewProfile}" />
+ Content="{locale:Locale UserProfilesAddNewProfile}" />
<Button
HorizontalAlignment="Stretch"
Grid.Row="0"
Margin="2"
Grid.Column="1"
Command="{Binding EditUser}"
- Content="{Locale:Locale UserProfilesEditProfile}"
+ Content="{locale:Locale UserProfilesEditProfile}"
IsEnabled="{Binding IsSelectedProfiledEditable}" />
<Button
HorizontalAlignment="Stretch"
Grid.Row="1"
Grid.Column="0"
Margin="2"
- Content="{Locale:Locale UserProfilesManageSaves}"
+ Content="{locale:Locale UserProfilesManageSaves}"
Command="{Binding ManageSaves}" />
<Button
HorizontalAlignment="Stretch"
@@ -131,7 +130,7 @@
Grid.Column="1"
Margin="2"
Command="{Binding DeleteUser}"
- Content="{Locale:Locale UserProfilesDeleteSelectedProfile}"
+ Content="{locale:Locale UserProfilesDeleteSelectedProfile}"
IsEnabled="{Binding IsSelectedProfileDeletable}" />
<Button
HorizontalAlignment="Stretch"
@@ -140,7 +139,7 @@
Grid.Column="0"
Margin="2"
Command="{Binding RecoverLostAccounts}"
- Content="{Locale:Locale UserProfilesRecoverLostAccounts}" />
+ Content="{locale:Locale UserProfilesRecoverLostAccounts}" />
</Grid>
</Grid>
</UserControl> \ No newline at end of file
diff --git a/Ryujinx.Ava/Ui/Controls/UserSelector.axaml.cs b/Ryujinx.Ava/UI/Controls/UserSelector.axaml.cs
index 8d93088c..bd8c561e 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
index 9909bd6a..ebf5c16e 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
index d48de41d..6b696ba7 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
index 01e9b920..b63a973a 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
index d037e5f1..3fd368f8 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
index a83ef961..6730b571 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
index eca47644..cf30d99b 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
index 05b2cc5b..bdeceaea 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 00000000..4aae854f
--- /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
index 63c6a17d..3d6c9c01 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
index d3ab1e8f..f1fad157 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
index 79d6658d..e69774c3 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
index ac0b622b..8d5c2815 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
index e14cfa6f..305182c9 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<T> : MiniCommand, ICommand
{
diff --git a/Ryujinx.Ava/Ui/Controls/OffscreenTextBox.cs b/Ryujinx.Ava/UI/Helpers/OffscreenTextBox.cs
index ffe5bdde..785e785c 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
index f32bf041..db77f66b 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
index 3a767ce9..efb703ba 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
index 45c6187e..21f206c8 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
index 0b2d2c11..ab8d6edc 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
index 6eb89a90..57802804 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
index b9c5f75f..6581610b 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
index 81e2fee9..1e6e3c3b 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
index 8644ab52..d0ccafd0 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
index 5011d398..a7507add 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
index 8231e521..e674f4eb 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<CheatModel>
{
diff --git a/Ryujinx.Ava/Ui/Models/ControllerModel.cs b/Ryujinx.Ava/UI/Models/ControllerModel.cs
index 23df4002..2af2d13b 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
index cb1520d0..fa2e620c 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
index 5f3ca031..3070fc02 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
index 7e26cfbf..b322ed64 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<ApplicationData>
{
diff --git a/Ryujinx.Ava/Ui/Models/InputConfiguration.cs b/Ryujinx.Ava/UI/Models/InputConfiguration.cs
index 53bf7eed..2acd716b 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<Key, Stick> : BaseModel
{
diff --git a/Ryujinx.Ava/Ui/Models/PlayerModel.cs b/Ryujinx.Ava/UI/Models/PlayerModel.cs
index ec8f3fce..f0b1bf7a 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
index 1c9f3b05..63da7b44 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
index 70478cea..c9311104 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
index da042cdf..ea2b9038 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
index 4e6d3446..2dd7a6c8 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
index a1bad051..cb6cc2fd 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
index 2bf6dbfa..77203222 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
index c0ea9451..869db661 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
index d007e0e7..cf94a9aa 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
index c2983741..1d090623 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
index abb14c7d..5a3717fd 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
index c7690316..692d2a8c 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
index 06513e37..e6d97193 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
index c752697b..de1bde46 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
index eb9f69d6..7b2e1d39 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> saveDataInfo = stackalloc SaveDataInfo[10];
- HashSet<HLE.HOS.Services.Account.Acc.UserId> lostAccounts = new HashSet<HLE.HOS.Services.Account.Acc.UserId>();
+ HashSet<UserId> lostAccounts = new HashSet<UserId>();
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
index f3e42eb7..08d28740 100644
--- a/Ryujinx.Ava/Ui/Windows/AboutWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/AboutWindow.axaml
@@ -1,11 +1,11 @@
<window:StyleableWindow
- x:Class="Ryujinx.Ava.Ui.Windows.AboutWindow"
+ x:Class="Ryujinx.Ava.UI.Windows.AboutWindow"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
+ xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
Width="850"
Height="550"
MinWidth="500"
diff --git a/Ryujinx.Ava/Ui/Windows/AboutWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/AboutWindow.axaml.cs
index 26090e19..2fb17e3a 100644
--- a/Ryujinx.Ava/Ui/Windows/AboutWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/AboutWindow.axaml.cs
@@ -9,7 +9,7 @@ using System.Net.Http;
using System.Net.NetworkInformation;
using System.Threading.Tasks;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class AboutWindow : StyleableWindow
{
diff --git a/Ryujinx.Ava/Ui/Windows/AmiiboWindow.axaml b/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml
index 427ab363..90d47b8e 100644
--- a/Ryujinx.Ava/Ui/Windows/AmiiboWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml
@@ -1,18 +1,23 @@
-<window:StyleableWindow xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d" d:DesignWidth="400" d:DesignHeight="350"
- x:Class="Ryujinx.Ava.Ui.Windows.AmiiboWindow"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
- xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
- xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- CanResize="False"
- WindowStartupLocation="CenterOwner"
- Width="800" MinHeight="650" Height="650"
- SizeToContent="Manual"
- MinWidth="600"
- Focusable="True">
+<window:StyleableWindow
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
+ xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
+ xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ mc:Ignorable="d"
+ d:DesignWidth="400"
+ d:DesignHeight="350"
+ x:Class="Ryujinx.Ava.UI.Windows.AmiiboWindow"
+ CanResize="False"
+ WindowStartupLocation="CenterOwner"
+ Width="800"
+ MinHeight="650"
+ Height="650"
+ SizeToContent="Manual"
+ MinWidth="600"
+ Focusable="True">
<Design.DataContext>
<viewModels:AmiiboWindowViewModel />
</Design.DataContext>
diff --git a/Ryujinx.Ava/Ui/Windows/AmiiboWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/AmiiboWindow.axaml.cs
index e0efdf43..68d16f35 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
index a1099d1b..c90ce022 100644
--- a/Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/AvatarWindow.axaml
@@ -1,23 +1,24 @@
-<UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d" d:DesignWidth="400" d:DesignHeight="350"
- x:Class="Ryujinx.Ava.Ui.Windows.AvatarWindow"
- Margin="0"
- Padding="0"
- xmlns:Locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
- xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
- x:CompileBindings="True"
- x:DataType="viewModels:AvatarProfileViewModel"
- Focusable="True">
+<UserControl
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
+ xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
+ mc:Ignorable="d" d:DesignWidth="400" d:DesignHeight="350"
+ x:Class="Ryujinx.Ava.UI.Windows.AvatarWindow"
+ Margin="0"
+ Padding="0"
+ x:CompileBindings="True"
+ x:DataType="viewModels:AvatarProfileViewModel"
+ Focusable="True">
<Design.DataContext>
<viewModels:AvatarProfileViewModel />
</Design.DataContext>
<UserControl.Resources>
- <controls:BitmapArrayValueConverter x:Key="ByteImage" />
+ <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
</UserControl.Resources>
<Grid Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
@@ -43,9 +44,9 @@
<ProgressBar Grid.Row="2" IsIndeterminate="{Binding IsIndeterminate}" Value="{Binding ImagesLoaded}" HorizontalAlignment="Stretch" Margin="5"
Maximum="{Binding ImageCount}" Minimum="0" />
<StackPanel Grid.Row="3" Orientation="Horizontal" Spacing="10" Margin="10" HorizontalAlignment="Center">
- <Button Content="{Locale:Locale AvatarChoose}" Width="200" Name="ChooseButton" Click="ChooseButton_OnClick" />
+ <Button Content="{locale:Locale AvatarChoose}" Width="200" Name="ChooseButton" Click="ChooseButton_OnClick" />
<ui:ColorPickerButton Color="{Binding BackgroundColor, Mode=TwoWay}" Name="ColorButton" />
- <Button HorizontalAlignment="Right" Content="{Locale:Locale Discard}" Click="CloseButton_OnClick"
+ <Button HorizontalAlignment="Right" Content="{locale:Locale Discard}" Click="CloseButton_OnClick"
Name="CloseButton"
Width="200" />
</StackPanel>
diff --git a/Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/AvatarWindow.axaml.cs
index 2189f47d..e060d65e 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
index 8d313d64..3557ed69 100644
--- a/Ryujinx.Ava/Ui/Windows/CheatWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/CheatWindow.axaml
@@ -1,12 +1,12 @@
<window:StyleableWindow
- x:Class="Ryujinx.Ava.Ui.Windows.CheatWindow"
+ x:Class="Ryujinx.Ava.UI.Windows.CheatWindow"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:model="clr-namespace:Ryujinx.Ava.Ui.Models"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
+ xmlns:model="clr-namespace:Ryujinx.Ava.UI.Models"
+ xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
Width="500"
Height="500"
MinWidth="500"
diff --git a/Ryujinx.Ava/Ui/Windows/CheatWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs
index cc8f5d0f..d31212c1 100644
--- a/Ryujinx.Ava/Ui/Windows/CheatWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs
@@ -1,13 +1,13 @@
using Avalonia.Collections;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Models;
+using Ryujinx.Ava.UI.Models;
using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS;
using System.Collections.Generic;
using System.IO;
using System.Linq;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class CheatWindow : StyleableWindow
{
diff --git a/Ryujinx.Ava/UI/Windows/ContentDialogOverlayWindow.axaml b/Ryujinx.Ava/UI/Windows/ContentDialogOverlayWindow.axaml
new file mode 100644
index 00000000..6cdcae2b
--- /dev/null
+++ b/Ryujinx.Ava/UI/Windows/ContentDialogOverlayWindow.axaml
@@ -0,0 +1,29 @@
+<window:StyleableWindow
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+ xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
+ mc:Ignorable="d"
+ d:DesignWidth="800"
+ d:DesignHeight="450"
+ x:Class="Ryujinx.Ava.UI.Windows.ContentDialogOverlayWindow"
+ Title="ContentDialogOverlayWindow"
+ Focusable="True">
+ <window:StyleableWindow.Styles>
+ <Style Selector="ui|ContentDialog /template/ Panel#LayoutRoot">
+ <Setter Property="Background"
+ Value="Transparent" />
+ </Style>
+ </window:StyleableWindow.Styles>
+ <ContentControl
+ Focusable="False"
+ IsVisible="False"
+ KeyboardNavigation.IsTabStop="False">
+ <ui:ContentDialog Name="ContentDialog"
+ IsPrimaryButtonEnabled="True"
+ IsSecondaryButtonEnabled="True"
+ IsVisible="False" />
+ </ContentControl>
+</window:StyleableWindow>
diff --git a/Ryujinx.Ava/Ui/Windows/ContentDialogOverlayWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/ContentDialogOverlayWindow.axaml.cs
index 7a51e64d..3f77124d 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
index 3e8dc41e..f6bb1aa4 100644
--- a/Ryujinx.Ava/Ui/Windows/ControllerSettingsWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/ControllerSettingsWindow.axaml
@@ -1,13 +1,13 @@
<UserControl
- x:Class="Ryujinx.Ava.Ui.Windows.ControllerSettingsWindow"
+ x:Class="Ryujinx.Ava.UI.Windows.ControllerSettingsWindow"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
+ xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
+ xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
d:DesignHeight="800"
@@ -19,7 +19,7 @@
<viewModels:ControllerSettingsViewModel />
</Design.DataContext>
<UserControl.Resources>
- <controls:KeyValueConverter x:Key="Key" />
+ <helpers:KeyValueConverter x:Key="Key" />
</UserControl.Resources>
<StackPanel
HorizontalAlignment="Stretch"
diff --git a/Ryujinx.Ava/Ui/Windows/ControllerSettingsWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/ControllerSettingsWindow.axaml.cs
index 8f2afc1d..df083085 100644
--- a/Ryujinx.Ava/Ui/Windows/ControllerSettingsWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/ControllerSettingsWindow.axaml.cs
@@ -4,15 +4,16 @@ using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.LogicalTree;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.Common.Configuration.Hid.Controller;
using Ryujinx.Input;
using Ryujinx.Input.Assigner;
using System;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class ControllerSettingsWindow : UserControl
{
diff --git a/Ryujinx.Ava/Ui/Windows/DownloadableContentManagerWindow.axaml b/Ryujinx.Ava/UI/Windows/DownloadableContentManagerWindow.axaml
index f3de6a77..e524d6e4 100644
--- a/Ryujinx.Ava/Ui/Windows/DownloadableContentManagerWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/DownloadableContentManagerWindow.axaml
@@ -1,11 +1,11 @@
<window:StyleableWindow
- x:Class="Ryujinx.Ava.Ui.Windows.DownloadableContentManagerWindow"
+ x:Class="Ryujinx.Ava.UI.Windows.DownloadableContentManagerWindow"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
+ xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
Width="800"
Height="500"
MinWidth="800"
diff --git a/Ryujinx.Ava/Ui/Windows/DownloadableContentManagerWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/DownloadableContentManagerWindow.axaml.cs
index e68214eb..11be9383 100644
--- a/Ryujinx.Ava/Ui/Windows/DownloadableContentManagerWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/DownloadableContentManagerWindow.axaml.cs
@@ -9,8 +9,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.Models;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Models;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Utilities;
using Ryujinx.HLE.FileSystem;
@@ -23,7 +24,7 @@ using System.Text;
using System.Threading.Tasks;
using Path = System.IO.Path;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class DownloadableContentManagerWindow : StyleableWindow
{
diff --git a/Ryujinx.Ava/Ui/Windows/IconColorPicker.cs b/Ryujinx.Ava/UI/Windows/IconColorPicker.cs
index c0a2602f..9dca83eb 100644
--- a/Ryujinx.Ava/Ui/Windows/IconColorPicker.cs
+++ b/Ryujinx.Ava/UI/Windows/IconColorPicker.cs
@@ -3,7 +3,7 @@ using SixLabors.ImageSharp.PixelFormats;
using System;
using System.Collections.Generic;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
static class IconColorPicker
{
diff --git a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml b/Ryujinx.Ava/UI/Windows/MainWindow.axaml
index 387587b6..1eb42279 100644
--- a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/MainWindow.axaml
@@ -1,15 +1,15 @@
<window:StyleableWindow
- x:Class="Ryujinx.Ava.Ui.Windows.MainWindow"
+ x:Class="Ryujinx.Ava.UI.Windows.MainWindow"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
+ xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:models="clr-namespace:Ryujinx.Ava.Ui.Models"
xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
+ xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
+ xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
+ xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
Title="Ryujinx"
Width="1280"
Height="777"
@@ -31,19 +31,19 @@
<viewModels:MainWindowViewModel />
</Design.DataContext>
<Window.Resources>
- <controls:BitmapArrayValueConverter x:Key="ByteImage" />
+ <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
</Window.Resources>
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
- <controls:OffscreenTextBox Name="HiddenTextBox" Grid.Row="0" />
+ <helpers:OffscreenTextBox Name="HiddenTextBox" Grid.Row="0" />
<StackPanel Grid.Row="0" IsVisible="False">
- <controls:HotKeyControl Name="FullscreenHotKey" Command="{ReflectionBinding ToggleFullscreen}" />
- <controls:HotKeyControl Name="FullscreenHotKey2" Command="{ReflectionBinding ToggleFullscreen}" />
- <controls:HotKeyControl Name="DockToggleHotKey" Command="{ReflectionBinding ToggleDockMode}" />
- <controls:HotKeyControl Name="ExitHotKey" Command="{ReflectionBinding ExitCurrentState}" />
+ <helpers:HotKeyControl Name="FullscreenHotKey" Command="{ReflectionBinding ToggleFullscreen}" />
+ <helpers:HotKeyControl Name="FullscreenHotKey2" Command="{ReflectionBinding ToggleFullscreen}" />
+ <helpers:HotKeyControl Name="DockToggleHotKey" Command="{ReflectionBinding ToggleDockMode}" />
+ <helpers:HotKeyControl Name="ExitHotKey" Command="{ReflectionBinding ExitCurrentState}" />
</StackPanel>
<Grid
Grid.Row="1"
@@ -298,7 +298,7 @@
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
FontFamily="avares://FluentAvalonia/Fonts#Symbols"
- Glyph="{controls:GlyphValueConverter List}" />
+ Glyph="{helpers:GlyphValueConverter List}" />
</Button>
<Button
Width="40"
@@ -312,7 +312,7 @@
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
FontFamily="avares://FluentAvalonia/Fonts#Symbols"
- Glyph="{controls:GlyphValueConverter Grid}" />
+ Glyph="{helpers:GlyphValueConverter Grid}" />
</Button>
<TextBlock
Margin="10,0"
diff --git a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs
index 33c35c7e..08332da8 100644
--- a/Ryujinx.Ava/Ui/Windows/MainWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/MainWindow.axaml.cs
@@ -8,10 +8,11 @@ using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common;
using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.Input;
-using Ryujinx.Ava.Ui.Applet;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Models;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Applet;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Models;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Logging;
using Ryujinx.Graphics.Gpu;
@@ -32,7 +33,7 @@ using System.Threading;
using System.Threading.Tasks;
using InputManager = Ryujinx.Input.HLE.InputManager;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class MainWindow : StyleableWindow
{
diff --git a/Ryujinx.Ava/Ui/Windows/MotionSettingsWindow.axaml b/Ryujinx.Ava/UI/Windows/MotionSettingsWindow.axaml
index 63c8639a..862998ac 100644
--- a/Ryujinx.Ava/Ui/Windows/MotionSettingsWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/MotionSettingsWindow.axaml
@@ -1,13 +1,13 @@
-<UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
- xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- mc:Ignorable="d"
- x:Class="Ryujinx.Ava.Ui.Windows.MotionSettingsWindow"
- Focusable="True">
+<UserControl
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+ xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ mc:Ignorable="d"
+ x:Class="Ryujinx.Ava.UI.Windows.MotionSettingsWindow"
+ Focusable="True">
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
diff --git a/Ryujinx.Ava/Ui/Windows/MotionSettingsWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/MotionSettingsWindow.axaml.cs
index b4781984..215525fc 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
index 120643aa..e47cc5bd 100644
--- a/Ryujinx.Ava/Ui/Windows/RumbleSettingsWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/RumbleSettingsWindow.axaml
@@ -1,13 +1,12 @@
-<UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
- xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- mc:Ignorable="d"
- x:Class="Ryujinx.Ava.Ui.Windows.RumbleSettingsWindow"
- Focusable="True">
+<UserControl
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ mc:Ignorable="d"
+ x:Class="Ryujinx.Ava.UI.Windows.RumbleSettingsWindow"
+ Focusable="True">
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
diff --git a/Ryujinx.Ava/Ui/Windows/RumbleSettingsWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/RumbleSettingsWindow.axaml.cs
index afb5a33a..f645ae35 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
index bd3dd613..e2550082 100644
--- a/Ryujinx.Ava/Ui/Windows/SettingsWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml
@@ -1,14 +1,14 @@
<window:StyleableWindow
- x:Class="Ryujinx.Ava.Ui.Windows.SettingsWindow"
+ x:Class="Ryujinx.Ava.UI.Windows.SettingsWindow"
xmlns="https://github.com/avaloniaui"
xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
+ xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
+ xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
+ xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
Width="1100"
Height="768"
d:DesignWidth="800"
@@ -24,7 +24,7 @@
<viewModels:SettingsViewModel />
</Design.DataContext>
<Window.Resources>
- <controls:KeyValueConverter x:Key="Key" />
+ <helpers:KeyValueConverter x:Key="Key" />
</Window.Resources>
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinWidth="600">
<Grid.RowDefinitions>
@@ -935,7 +935,7 @@
Tag="CpuPage">
<ui:NavigationViewItem.Icon>
<ui:FontIcon FontFamily="avares://Ryujinx.Ava/Assets/Fonts#Segoe Fluent Icons"
- Glyph="{controls:GlyphValueConverter Chip}" />
+ Glyph="{helpers:GlyphValueConverter Chip}" />
</ui:NavigationViewItem.Icon>
</ui:NavigationViewItem>
<ui:NavigationViewItem
diff --git a/Ryujinx.Ava/Ui/Windows/SettingsWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml.cs
index d690322d..f3aa1d5e 100644
--- a/Ryujinx.Ava/Ui/Windows/SettingsWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/SettingsWindow.axaml.cs
@@ -7,8 +7,9 @@ using Avalonia.Interactivity;
using FluentAvalonia.Core;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.ViewModels;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.HLE.FileSystem;
using Ryujinx.Input;
using Ryujinx.Input.Assigner;
@@ -16,9 +17,9 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using TimeZone = Ryujinx.Ava.Ui.Models.TimeZone;
+using TimeZone = Ryujinx.Ava.UI.Models.TimeZone;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class SettingsWindow : StyleableWindow
{
diff --git a/Ryujinx.Ava/Ui/Windows/StyleableWindow.cs b/Ryujinx.Ava/UI/Windows/StyleableWindow.cs
index 5f537ed1..a157f154 100644
--- a/Ryujinx.Ava/Ui/Windows/StyleableWindow.cs
+++ b/Ryujinx.Ava/UI/Windows/StyleableWindow.cs
@@ -6,7 +6,7 @@ using System;
using System.IO;
using System.Reflection;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public class StyleableWindow : Window
{
diff --git a/Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml b/Ryujinx.Ava/UI/Windows/TitleUpdateWindow.axaml
index 6efac1d2..5a69be9b 100644
--- a/Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml
+++ b/Ryujinx.Ava/UI/Windows/TitleUpdateWindow.axaml
@@ -1,11 +1,11 @@
<window:StyleableWindow
- x:Class="Ryujinx.Ava.Ui.Windows.TitleUpdateWindow"
+ x:Class="Ryujinx.Ava.UI.Windows.TitleUpdateWindow"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
+ xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
Width="600"
Height="400"
MinWidth="600"
diff --git a/Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml.cs b/Ryujinx.Ava/UI/Windows/TitleUpdateWindow.axaml.cs
index 1cc820d8..03c2b098 100644
--- a/Ryujinx.Ava/Ui/Windows/TitleUpdateWindow.axaml.cs
+++ b/Ryujinx.Ava/UI/Windows/TitleUpdateWindow.axaml.cs
@@ -9,8 +9,9 @@ using LibHac.Ns;
using LibHac.Tools.FsSystem;
using LibHac.Tools.FsSystem.NcaUtils;
using Ryujinx.Ava.Common.Locale;
-using Ryujinx.Ava.Ui.Controls;
-using Ryujinx.Ava.Ui.Models;
+using Ryujinx.Ava.UI.Controls;
+using Ryujinx.Ava.UI.Helpers;
+using Ryujinx.Ava.UI.Models;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Utilities;
using Ryujinx.HLE.FileSystem;
@@ -23,7 +24,7 @@ using System.Text;
using Path = System.IO.Path;
using SpanHelpers = LibHac.Common.SpanHelpers;
-namespace Ryujinx.Ava.Ui.Windows
+namespace Ryujinx.Ava.UI.Windows
{
public partial class TitleUpdateWindow : StyleableWindow
{
diff --git a/Ryujinx.Ava/Ui/Controls/Glyph.cs b/Ryujinx.Ava/Ui/Controls/Glyph.cs
deleted file mode 100644
index 74a3c94a..00000000
--- a/Ryujinx.Ava/Ui/Controls/Glyph.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace Ryujinx.Ava.Ui.Controls
-{
- public enum Glyph : int
- {
- List,
- Grid,
- Chip
- }
-}
diff --git a/Ryujinx.Ava/Ui/Controls/NavigationDialogHost.axaml b/Ryujinx.Ava/Ui/Controls/NavigationDialogHost.axaml
deleted file mode 100644
index fb1f6b6d..00000000
--- a/Ryujinx.Ava/Ui/Controls/NavigationDialogHost.axaml
+++ /dev/null
@@ -1,11 +0,0 @@
-<UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- x:Class="Ryujinx.Ava.Ui.Controls.NavigationDialogHost"
- Focusable="True">
- <ui:Frame HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
- x:Name="ContentFrame" />
-</UserControl> \ 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 7bbd03ca..00000000
--- a/Ryujinx.Ava/Ui/Controls/ProfileImageSelectionDialog.axaml
+++ /dev/null
@@ -1,32 +0,0 @@
-<UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d"
- xmlns:Locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- x:Class="Ryujinx.Ava.Ui.Controls.ProfileImageSelectionDialog"
- Focusable="True">
- <Grid HorizontalAlignment="Stretch" VerticalAlignment="Center" Margin="5,10,5, 5">
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="70" />
- <RowDefinition Height="Auto" />
- <RowDefinition Height="Auto" />
- </Grid.RowDefinitions>
- <TextBlock FontWeight="Bold" FontSize="18" HorizontalAlignment="Center" Grid.Row="1"
- Text="{Locale:Locale ProfileImageSelectionHeader}" />
- <TextBlock FontWeight="Bold" Grid.Row="2" Margin="10" MaxWidth="400" TextWrapping="Wrap"
- HorizontalAlignment="Center" TextAlignment="Center" Text="{Locale:Locale ProfileImageSelectionNote}" />
- <StackPanel Margin="5,0" Spacing="10" Grid.Row="4" HorizontalAlignment="Center"
- Orientation="Horizontal">
- <Button Name="Import" Click="Import_OnClick" Width="200">
- <TextBlock Text="{Locale:Locale ProfileImageSelectionImportImage}" />
- </Button>
- <Button Name="SelectFirmwareImage" IsEnabled="{Binding FirmwareFound}" Click="SelectFirmwareImage_OnClick"
- Width="200">
- <TextBlock Text="{Locale:Locale ProfileImageSelectionSelectAvatar}" />
- </Button>
- </StackPanel>
- </Grid>
-</UserControl> \ 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 45bc1b2b..00000000
--- a/Ryujinx.Ava/Ui/Controls/RendererHost.axaml
+++ /dev/null
@@ -1,8 +0,0 @@
-<UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- x:Class="Ryujinx.Ava.Ui.Controls.RendererHost"
- Focusable="True">
-</UserControl>
diff --git a/Ryujinx.Ava/Ui/Controls/SaveManager.axaml b/Ryujinx.Ava/Ui/Controls/SaveManager.axaml
deleted file mode 100644
index 8721d2a7..00000000
--- a/Ryujinx.Ava/Ui/Controls/SaveManager.axaml
+++ /dev/null
@@ -1,103 +0,0 @@
-<UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
- xmlns:models="clr-namespace:Ryujinx.Ava.Ui.Models"
- xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- Height="400"
- Width="550"
- x:Class="Ryujinx.Ava.Ui.Controls.SaveManager"
- Focusable="True">
- <UserControl.Resources>
- <controls:BitmapArrayValueConverter x:Key="ByteImage" />
- </UserControl.Resources>
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="Auto" />
- <RowDefinition />
- </Grid.RowDefinitions>
- <Grid Grid.Row="0" HorizontalAlignment="Stretch">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto" />
- <ColumnDefinition />
- </Grid.ColumnDefinitions>
- <StackPanel Spacing="10" Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
- <Label Content="{locale:Locale CommonSort}" VerticalAlignment="Center" />
- <ComboBox SelectedIndex="{Binding SortIndex}" Width="100">
- <ComboBoxItem>
- <Label VerticalAlignment="Center" HorizontalContentAlignment="Left"
- Content="{locale:Locale Name}" />
- </ComboBoxItem>
- <ComboBoxItem>
- <Label VerticalAlignment="Center" HorizontalContentAlignment="Left"
- Content="{locale:Locale Size}" />
- </ComboBoxItem>
- </ComboBox>
- <ComboBox SelectedIndex="{Binding OrderIndex}" Width="150">
- <ComboBoxItem>
- <Label VerticalAlignment="Center" HorizontalContentAlignment="Left"
- Content="{locale:Locale OrderAscending}" />
- </ComboBoxItem>
- <ComboBoxItem>
- <Label VerticalAlignment="Center" HorizontalContentAlignment="Left"
- Content="{locale:Locale Descending}" />
- </ComboBoxItem>
- </ComboBox>
- </StackPanel>
- <Grid Grid.Column="1" HorizontalAlignment="Stretch" Margin="10,0, 0, 0">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition/>
- </Grid.ColumnDefinitions>
- <Label Content="{locale:Locale Search}" VerticalAlignment="Center"/>
- <TextBox Margin="5,0,0,0" Grid.Column="1" HorizontalAlignment="Stretch" Text="{Binding Search}"/>
- </Grid>
- </Grid>
- <Border Grid.Row="1" Margin="0,5" BorderThickness="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <ListBox Name="SaveList" Items="{Binding View}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
- <ListBox.ItemTemplate>
- <DataTemplate x:DataType="models:SaveModel">
- <Grid HorizontalAlignment="Stretch" Margin="0,5">
- <Grid.ColumnDefinitions>
- <ColumnDefinition />
- <ColumnDefinition Width="Auto" />
- </Grid.ColumnDefinitions>
- <StackPanel Grid.Column="0" Orientation="Horizontal">
- <Border Height="42" Margin="2" Width="42" Padding="10"
- IsVisible="{Binding !InGameList}">
- <ui:SymbolIcon Symbol="Help" FontSize="30" HorizontalAlignment="Center"
- VerticalAlignment="Center" />
- </Border>
- <Image IsVisible="{Binding InGameList}"
- Margin="2"
- Width="42"
- Height="42"
- Source="{Binding Icon, Converter={StaticResource ByteImage}}" />
- <TextBlock MaxLines="3" Width="320" Margin="5" TextWrapping="Wrap"
- Text="{Binding Title}" VerticalAlignment="Center" />
- </StackPanel>
- <StackPanel Grid.Column="1" Spacing="10" HorizontalAlignment="Right"
- Orientation="Horizontal">
- <Label Content="{Binding SizeString}" IsVisible="{Binding SizeAvailable}"
- VerticalAlignment="Center" HorizontalAlignment="Right" />
- <Button VerticalAlignment="Center" HorizontalAlignment="Right" Padding="10"
- MinWidth="0" MinHeight="0" Name="OpenLocation" Command="{Binding OpenLocation}">
- <ui:SymbolIcon Symbol="OpenFolder" HorizontalAlignment="Center"
- VerticalAlignment="Center" />
- </Button>
- <Button VerticalAlignment="Center" HorizontalAlignment="Right" Padding="10"
- MinWidth="0" MinHeight="0" Name="Delete" Command="{Binding Delete}">
- <ui:SymbolIcon Symbol="Delete" HorizontalAlignment="Center"
- VerticalAlignment="Center" />
- </Button>
- </StackPanel>
- </Grid>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
- </Border>
- </Grid>
-</UserControl> \ 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 037b7af8..00000000
--- a/Ryujinx.Ava/Ui/Windows/ContentDialogOverlayWindow.axaml
+++ /dev/null
@@ -1,28 +0,0 @@
-<window:StyleableWindow xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- mc:Ignorable="d"
- d:DesignWidth="800"
- d:DesignHeight="450"
- xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- x:Class="Ryujinx.Ava.Ui.Windows.ContentDialogOverlayWindow"
- xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
- Title="ContentDialogOverlayWindow"
- Focusable="True">
- <window:StyleableWindow.Styles>
- <Style Selector="ui|ContentDialog /template/ Panel#LayoutRoot">
- <Setter Property="Background"
- Value="Transparent" />
- </Style>
- </window:StyleableWindow.Styles>
- <ContentControl
- Focusable="False"
- IsVisible="False"
- KeyboardNavigation.IsTabStop="False">
- <ui:ContentDialog Name="ContentDialog"
- IsPrimaryButtonEnabled="True"
- IsSecondaryButtonEnabled="True"
- IsVisible="False" />
- </ContentControl>
-</window:StyleableWindow>