UI: Copy Title ID by clicking on it.

This commit is contained in:
Evan Husted
2024-12-28 22:14:40 -06:00
committed by KeatonTheBot
parent b2339931a3
commit c089f90b53
4 changed files with 49 additions and 5 deletions
@@ -1,10 +1,13 @@
using Avalonia.Controls;
using Avalonia.Controls.Notifications;
using Avalonia.Input;
using Avalonia.Interactivity;
using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.UI.Helpers;
using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.UI.App.Common;
using System;
using System.Linq;
namespace Ryujinx.Ava.UI.Controls
{
@@ -47,5 +50,25 @@ namespace Ryujinx.Ava.UI.Controls
{
(DataContext as MainWindowViewModel).SearchText = (sender as TextBox).Text;
}
private async void IdString_OnClick(object sender, RoutedEventArgs e)
{
if (DataContext is not MainWindowViewModel mwvm)
return;
if (sender is not Button { Content: TextBlock idText })
return;
if (App.MainWindow.Clipboard is { } clipboard)
{
var appData = mwvm.Applications.FirstOrDefault(it => 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);
}
}
}
}