diff options
| author | gnisman <gleb.nisman@gmail.com> | 2023-05-07 17:36:44 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-07 14:36:44 +0000 |
| commit | dde208b480f3e2aeb0e3abc15857d031ceb22bf4 (patch) | |
| tree | a1678181c7a0454bfeaa557457e3e3d0b07703a3 /src/Ryujinx.Ava/UI | |
| parent | 4c3d2d5d75c46a522d55c0a3ae6820255294517c (diff) | |
UI: Expose games build ID for cheat management (#4340)
* Ava UI: Expose games build ID for cheat management
* Fix bad merge
* Change integrity check level to error on invalid
* Add support for GDK
* Remove whitespace
* Add BID identifier
* PR Comments fix
* Restore title id in cheats GTK window
* use halign center instead of margin_left
* Merge
* fix after merge
* PR comments fix - design AVA
* PR fix - Move GetApplicationBuildId to ApplicationData class
* PR comment fix - Add empty line before method
* Align with PR #4755
* PR comments fix
* Change BuildId label to support translation
* Comments fix
* Remove unused BuildIdLabel property
Diffstat (limited to 'src/Ryujinx.Ava/UI')
4 files changed, 53 insertions, 8 deletions
diff --git a/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml.cs b/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml.cs index 90c72e02..a9269386 100644 --- a/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml.cs +++ b/src/Ryujinx.Ava/UI/Controls/ApplicationContextMenu.axaml.cs @@ -10,6 +10,7 @@ using Ryujinx.Ava.UI.Helpers; using Ryujinx.Ava.UI.ViewModels; using Ryujinx.Ava.UI.Windows; using Ryujinx.Common.Configuration; +using Ryujinx.Ui.App.Common; using Ryujinx.HLE.HOS; using Ryujinx.Ui.Common.Helper; using System; @@ -118,7 +119,11 @@ namespace Ryujinx.Ava.UI.Controls if (viewModel?.SelectedApplication != null) { - await new CheatWindow(viewModel.VirtualFileSystem, viewModel.SelectedApplication.TitleId, viewModel.SelectedApplication.TitleName).ShowDialog(viewModel.TopLevel as Window); + await new CheatWindow( + viewModel.VirtualFileSystem, + viewModel.SelectedApplication.TitleId, + viewModel.SelectedApplication.TitleName, + viewModel.SelectedApplication.Path).ShowDialog(viewModel.TopLevel as Window); } } diff --git a/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml.cs b/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml.cs index bdf2cf9f..557528eb 100644 --- a/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml.cs +++ b/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml.cs @@ -11,6 +11,7 @@ using Ryujinx.Common; using Ryujinx.Common.Utilities; using Ryujinx.HLE.HOS; using Ryujinx.Modules; +using Ryujinx.Ui.App.Common; using Ryujinx.Ui.Common; using Ryujinx.Ui.Common.Configuration; using Ryujinx.Ui.Common.Helper; @@ -176,7 +177,11 @@ namespace Ryujinx.Ava.UI.Views.Main string name = ViewModel.AppHost.Device.Processes.ActiveApplication.ApplicationControlProperties.Title[(int)ViewModel.AppHost.Device.System.State.DesiredTitleLanguage].NameString.ToString(); - await new CheatWindow(Window.VirtualFileSystem, ViewModel.AppHost.Device.Processes.ActiveApplication.ProgramIdText, name).ShowDialog(Window); + await new CheatWindow( + Window.VirtualFileSystem, + ViewModel.AppHost.Device.Processes.ActiveApplication.ProgramIdText, + name, + Window.ViewModel.SelectedApplication.Path).ShowDialog(Window); ViewModel.AppHost.Device.EnableCheats(); } diff --git a/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml b/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml index 3557ed69..11e86211 100644 --- a/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml +++ b/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml @@ -23,21 +23,50 @@ <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="Auto" /> + <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*" /> + <ColumnDefinition Width="*" /> + </Grid.ColumnDefinitions> <TextBlock Grid.Row="1" + Grid.Column="0" + Grid.ColumnSpan="2" MaxWidth="500" - Margin="20,15,20,20" + Margin="20,15,20,5" HorizontalAlignment="Center" VerticalAlignment="Center" LineHeight="18" Text="{Binding Heading}" TextAlignment="Center" TextWrapping="Wrap" /> - <Border + <TextBlock + Grid.Row="2" + Grid.Column="0" + MaxWidth="500" + Margin="140,15,20,5" + HorizontalAlignment="Center" + VerticalAlignment="Center" + LineHeight="30" + Text="{locale:Locale BuildId}" + TextAlignment="Center" + TextWrapping="Wrap" /> + <TextBox Grid.Row="2" + Grid.Column="1" + Margin="0,5,110,5" + MinWidth="160" + HorizontalAlignment="Center" + VerticalAlignment="Center" + Text="{Binding BuildId}" + IsReadOnly="True" /> + <Border + Grid.Row="3" + Grid.Column="0" + Grid.ColumnSpan="2" Margin="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" @@ -81,7 +110,9 @@ </TreeView> </Border> <DockPanel - Grid.Row="3" + Grid.Row="4" + Grid.Column="0" + Grid.ColumnSpan="2" Margin="0" HorizontalAlignment="Stretch"> <DockPanel Margin="0" HorizontalAlignment="Right"> diff --git a/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs b/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs index 241a6c34..f5bba7d2 100644 --- a/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs +++ b/src/Ryujinx.Ava/UI/Windows/CheatWindow.axaml.cs @@ -1,8 +1,10 @@ -using Avalonia.Collections; +using Avalonia; +using Avalonia.Collections; using Ryujinx.Ava.Common.Locale; using Ryujinx.Ava.UI.Models; using Ryujinx.HLE.FileSystem; using Ryujinx.HLE.HOS; +using Ryujinx.Ui.App.Common; using System.Collections.Generic; using System.IO; using System.Linq; @@ -17,6 +19,7 @@ namespace Ryujinx.Ava.UI.Windows private AvaloniaList<CheatsList> LoadedCheats { get; } public string Heading { get; } + public string BuildId { get; } public CheatWindow() { @@ -27,12 +30,13 @@ namespace Ryujinx.Ava.UI.Windows Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance[LocaleKeys.CheatWindowTitle]; } - public CheatWindow(VirtualFileSystem virtualFileSystem, string titleId, string titleName) + public CheatWindow(VirtualFileSystem virtualFileSystem, string titleId, string titleName, string titlePath) { LoadedCheats = new AvaloniaList<CheatsList>(); Heading = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.CheatWindowHeading, titleName, titleId.ToUpper()); - + BuildId = ApplicationData.GetApplicationBuildId(virtualFileSystem, titlePath); + InitializeComponent(); string modsBasePath = ModLoader.GetModsBasePath(); |
