UI: Only show DLC RomFS button under Extract Data when DLCs are available.

Also convert the constructor of DlcSelectViewModel to expect a normal title id and not one already converted to the base ID.
This commit is contained in:
Evan Husted
2025-10-09 17:18:50 -05:00
committed by KeatonTheBot
parent 2471bb8ede
commit d3bce3f361
5 changed files with 23 additions and 4 deletions
@@ -98,6 +98,7 @@
Header="{locale:Locale GameListContextMenuExtractDataRomFS}"
ToolTip.Tip="{locale:Locale GameListContextMenuExtractDataRomFSToolTip}" />
<MenuItem
IsVisible="{Binding HasDlc}"
Click="ExtractAocRomFs_Click"
Header="{locale:Locale GameListContextMenuExtractDataAocRomFS}"
ToolTip.Tip="{locale:Locale GameListContextMenuExtractDataAocRomFSToolTip}" />
@@ -378,7 +378,7 @@ namespace Ryujinx.Ava.UI.Controls
if (sender is not MenuItem { DataContext: MainWindowViewModel { SelectedApplication: not null } viewModel })
return;
DownloadableContentModel selectedDlc = await DlcSelectView.Show(viewModel.SelectedApplication.IdBase, viewModel.ApplicationLibrary);
DownloadableContentModel selectedDlc = await DlcSelectView.Show(viewModel.SelectedApplication.Id, viewModel.ApplicationLibrary);
if (selectedDlc is not null)
{
@@ -34,9 +34,7 @@ namespace Ryujinx.Ava.UI.ViewModels
public DlcSelectViewModel(ulong titleId, ApplicationLibrary appLibrary)
{
_dlcs = appLibrary.DownloadableContents.Items
.Where(x => x.Dlc.TitleIdBase == titleId)
.Select(x => x.Dlc)
_dlcs = appLibrary.FindDlcsFor(titleId)
.OrderBy(it => it.IsBundled ? 0 : 1)
.ThenBy(it => it.TitleId)
.ToArray();
@@ -481,6 +481,8 @@ namespace Ryujinx.Ava.UI.ViewModels
}
}
public bool HasDlc => ApplicationLibrary.HasDlcs(SelectedApplication.Id);
public string CacheLoadStatus
{
get => _cacheLoadStatus;