From 1024aa87577d8a46f2112ee9552b2767b5a025db Mon Sep 17 00:00:00 2001 From: Evan Husted Date: Mon, 10 Feb 2025 22:13:58 -0600 Subject: [PATCH 1/3] UI: Change the background updater notification to a persistent button on the status bar when not in a game --- src/Ryujinx/Assets/locales.json | 27 ++++++++++++++++++- .../UI/ViewModels/MainWindowViewModel.cs | 8 ++++++ .../UI/Views/Main/MainStatusBarView.axaml | 19 +++++++++++-- src/Ryujinx/UI/Windows/MainWindow.axaml.cs | 9 +------ 4 files changed, 52 insertions(+), 11 deletions(-) diff --git a/src/Ryujinx/Assets/locales.json b/src/Ryujinx/Assets/locales.json index ad7b4286f..cba9b2ce9 100644 --- a/src/Ryujinx/Assets/locales.json +++ b/src/Ryujinx/Assets/locales.json @@ -17747,6 +17747,31 @@ "zh_TW": "更新已停用!" } }, + { + "ID": "UpdaterBackgroundStatusBarButtonText", + "Translations": { + "ar_SA": "", + "de_DE": "", + "el_GR": "", + "en_US": "Update Available!", + "es_ES": "", + "fr_FR": "", + "he_IL": "", + "it_IT": "", + "ja_JP": "", + "ko_KR": "", + "no_NO": "", + "pl_PL": "", + "pt_BR": "", + "ru_RU": "", + "sv_SE": "", + "th_TH": "", + "tr_TR": "", + "uk_UA": "", + "zh_CN": "", + "zh_TW": "" + } + }, { "ID": "ControllerSettingsRotate90", "Translations": { @@ -23873,4 +23898,4 @@ } } ] -} \ No newline at end of file +} diff --git a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs index 113c00a5a..227347030 100644 --- a/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs +++ b/src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs @@ -7,6 +7,7 @@ using Avalonia.Media.Imaging; using Avalonia.Platform.Storage; using Avalonia.Threading; using CommunityToolkit.Mvvm.ComponentModel; +using CommunityToolkit.Mvvm.Input; using DynamicData; using DynamicData.Binding; using FluentAvalonia.UI.Controls; @@ -104,6 +105,13 @@ namespace Ryujinx.Ava.UI.ViewModels [ObservableProperty] private bool _isSubMenuOpen; [ObservableProperty] private ApplicationContextMenu _listAppContextMenu; [ObservableProperty] private ApplicationContextMenu _gridAppContextMenu; + [ObservableProperty] private bool _updateAvailable; + + public static AsyncRelayCommand UpdateCommand => Commands.Create(async () => + { + if (Updater.CanUpdate(true)) + await Updater.BeginUpdateAsync(true); + }); private bool _showLoadProgress; private bool _isGameRunning; diff --git a/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml b/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml index a0259c723..7c3199386 100644 --- a/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml +++ b/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml @@ -23,7 +23,7 @@ Background="{DynamicResource ThemeContentBackgroundColor}" DockPanel.Dock="Bottom" IsVisible="{Binding ShowMenuAndStatusBar}" - ColumnDefinitions="Auto,Auto,*,Auto,Auto"> + ColumnDefinitions="Auto,Auto,*,Auto,Auto,Auto"> - + + + + diff --git a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs index 735455541..2b6de9d75 100644 --- a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs +++ b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs @@ -413,15 +413,8 @@ namespace Ryujinx.Ava.UI.Windows case UpdaterType.CheckInBackground: if ((await Updater.CheckVersionAsync()).TryGet(out (Version Current, Version Incoming) versions)) { - string newVersionString = ReleaseInformation.IsCanaryBuild - ? $"Canary {versions.Current} -> Canary {versions.Incoming}" - : $"{versions.Current} -> {versions.Incoming}"; - if (versions.Current < versions.Incoming) - NotificationHelper.ShowInformation( - title: "Update Available", - text: newVersionString, - onClick: () => _ = Updater.BeginUpdateAsync()); + Dispatcher.UIThread.Post(() => RyujinxApp.MainWindow.ViewModel.UpdateAvailable = true); } break; } -- 2.47.1 From a8ac79f19a86af63cff060a6d7ac9ee73c661095 Mon Sep 17 00:00:00 2001 From: themantim486 Date: Mon, 10 Feb 2025 22:16:35 -0600 Subject: [PATCH 2/3] Update compatibility.csv --- docs/compatibility.csv | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/compatibility.csv b/docs/compatibility.csv index 0fd8eadca..4cf9102bd 100644 --- a/docs/compatibility.csv +++ b/docs/compatibility.csv @@ -2480,6 +2480,7 @@ 010081C0191D8000,"Rune Factory 3 Special",,playable,2023-10-15 08:32:49 010051D00E3A4000,"Rune Factory 4 Special",32-bit;crash;nvdec,ingame,2023-05-06 08:49:17 010014D01216E000,"Rune Factory 5 (JP)",gpu,ingame,2021-06-01 12:00:36 +010071E0145F8000,"Rustler",,playable,2025-02-10 20:17:12 0100E21013908000,"RWBY: Grimm Eclipse - Definitive Edition",online-broken,playable,2022-11-03 10:44:01 010012C0060F0000,"RXN -Raijin-",nvdec,playable,2021-01-10 16:05:43 0100B8B012ECA000,"S.N.I.P.E.R. - Hunter Scope",,playable,2021-04-19 15:58:09 -- 2.47.1 From daa648dc408005c5b38153ec189ee9b0fd34560a Mon Sep 17 00:00:00 2001 From: Evan Husted Date: Mon, 10 Feb 2025 22:25:04 -0600 Subject: [PATCH 3/3] UI: Correct visibility for new background update button --- src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml b/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml index 7c3199386..78fefc346 100644 --- a/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml +++ b/src/Ryujinx/UI/Views/Main/MainStatusBarView.axaml @@ -286,6 +286,7 @@ IsVisible="{Binding EnableNonGameRunningControls}" Orientation="Horizontal">