From c089f90b5315c07c38ad0f30c36c05a7397a1e82 Mon Sep 17 00:00:00 2001 From: Evan Husted Date: Tue, 24 Dec 2024 13:23:43 -0600 Subject: [PATCH] UI: Copy Title ID by clicking on it. --- src/Ryujinx/App.axaml.cs | 8 +++++++ .../UI/Controls/ApplicationListView.axaml | 20 ++++++++++++---- .../UI/Controls/ApplicationListView.axaml.cs | 23 +++++++++++++++++++ src/Ryujinx/UI/Windows/MainWindow.axaml.cs | 3 +++ 4 files changed, 49 insertions(+), 5 deletions(-) diff --git a/src/Ryujinx/App.axaml.cs b/src/Ryujinx/App.axaml.cs index 24d8a70a1..61ccf6dd9 100644 --- a/src/Ryujinx/App.axaml.cs +++ b/src/Ryujinx/App.axaml.cs @@ -4,6 +4,7 @@ using Avalonia.Markup.Xaml; using Avalonia.Platform; using Avalonia.Styling; using Avalonia.Threading; +using Gommon; using Ryujinx.Ava.Common; using Ryujinx.Ava.Common.Locale; using Ryujinx.Ava.UI.Helpers; @@ -19,6 +20,13 @@ namespace Ryujinx.Ava { public class App : Application { + public static MainWindow MainWindow => Current! + .ApplicationLifetime.Cast() + .MainWindow.Cast(); + + public static IClassicDesktopStyleApplicationLifetime DesktopLifetime => Current! + .ApplicationLifetime.Cast(); + public override void Initialize() { Name = $"Ryujinx {Program.Version}"; diff --git a/src/Ryujinx/UI/Controls/ApplicationListView.axaml b/src/Ryujinx/UI/Controls/ApplicationListView.axaml index decdcfef7..07683ebc1 100644 --- a/src/Ryujinx/UI/Controls/ApplicationListView.axaml +++ b/src/Ryujinx/UI/Controls/ApplicationListView.axaml @@ -108,11 +108,21 @@ VerticalAlignment="Top" Orientation="Vertical" Spacing="5"> - + it.IdString == idText.Text); + if (appData is null) + return; + + await clipboard.SetTextAsync(appData.IdString); + + NotificationHelper.Show("Copied Title ID", $"{appData.Name} ({appData.IdString})", NotificationType.Information); + } + } } } diff --git a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs index 468a09308..d1abb1cf8 100644 --- a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs +++ b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs @@ -89,6 +89,9 @@ namespace Ryujinx.Ava.UI.Windows Height = ((Height - barHeight) / Program.WindowScaleFactor) + barHeight; Width /= Program.WindowScaleFactor; + ApplicationList.DataContext = DataContext; + ApplicationGrid.DataContext = DataContext; + SetWindowSizePosition(); if (Program.PreviewerDetached)