mirror of
https://git.naxdy.org/Mirror/Ryujinx.git
synced 2025-02-06 17:49:43 +00:00
It’s a little funky but it works
This commit is contained in:
parent
086c7263ab
commit
96cf9b0ef6
3 changed files with 44 additions and 3 deletions
|
@ -2,6 +2,7 @@ using Avalonia.Collections;
|
||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
using Avalonia.Controls.ApplicationLifetimes;
|
using Avalonia.Controls.ApplicationLifetimes;
|
||||||
using Avalonia.Threading;
|
using Avalonia.Threading;
|
||||||
|
using DynamicData;
|
||||||
using LibHac.Common;
|
using LibHac.Common;
|
||||||
using LibHac.Fs;
|
using LibHac.Fs;
|
||||||
using LibHac.Fs.Fsa;
|
using LibHac.Fs.Fsa;
|
||||||
|
@ -99,10 +100,17 @@ namespace Ryujinx.Ava.UI.ViewModels
|
||||||
Nca nca = TryOpenNca(ncaFile.Get.AsStorage(), downloadableContentContainer.ContainerPath);
|
Nca nca = TryOpenNca(ncaFile.Get.AsStorage(), downloadableContentContainer.ContainerPath);
|
||||||
if (nca != null)
|
if (nca != null)
|
||||||
{
|
{
|
||||||
DownloadableContents.Add(new DownloadableContentModel(nca.Header.TitleId.ToString("X16"),
|
var content = new DownloadableContentModel(nca.Header.TitleId.ToString("X16"),
|
||||||
downloadableContentContainer.ContainerPath,
|
downloadableContentContainer.ContainerPath,
|
||||||
downloadableContentNca.FullPath,
|
downloadableContentNca.FullPath,
|
||||||
downloadableContentNca.Enabled));
|
downloadableContentNca.Enabled);
|
||||||
|
|
||||||
|
DownloadableContents.Add(content);
|
||||||
|
|
||||||
|
if (content.Enabled)
|
||||||
|
{
|
||||||
|
SelectedDownloadableContents.Add(content);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -190,7 +198,10 @@ namespace Ryujinx.Ava.UI.ViewModels
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
DownloadableContents.Add(new DownloadableContentModel(nca.Header.TitleId.ToString("X16"), path, fileEntry.FullPath, true));
|
var content = new DownloadableContentModel(nca.Header.TitleId.ToString("X16"), path,
|
||||||
|
fileEntry.FullPath, true);
|
||||||
|
DownloadableContents.Add(content);
|
||||||
|
SelectedDownloadableContents.Add(content);
|
||||||
|
|
||||||
containsDownloadableContent = true;
|
containsDownloadableContent = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
VirtualizationMode="None"
|
VirtualizationMode="None"
|
||||||
SelectionMode="Multiple"
|
SelectionMode="Multiple"
|
||||||
Background="Transparent"
|
Background="Transparent"
|
||||||
|
SelectionChanged="OnSelectionChanged"
|
||||||
SelectedItems="{Binding SelectedDownloadableContents, Mode=TwoWay}"
|
SelectedItems="{Binding SelectedDownloadableContents, Mode=TwoWay}"
|
||||||
Items="{Binding DownloadableContents}">
|
Items="{Binding DownloadableContents}">
|
||||||
<ListBox.DataTemplates>
|
<ListBox.DataTemplates>
|
||||||
|
|
|
@ -82,5 +82,34 @@ namespace Ryujinx.Ava.UI.Windows
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
|
||||||
|
{
|
||||||
|
foreach (var content in e.AddedItems)
|
||||||
|
{
|
||||||
|
if (content is DownloadableContentModel model)
|
||||||
|
{
|
||||||
|
var index = ViewModel.DownloadableContents.IndexOf(model);
|
||||||
|
|
||||||
|
if (index != -1)
|
||||||
|
{
|
||||||
|
ViewModel.DownloadableContents[index].Enabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var content in e.RemovedItems)
|
||||||
|
{
|
||||||
|
if (content is DownloadableContentModel model)
|
||||||
|
{
|
||||||
|
var index = ViewModel.DownloadableContents.IndexOf(model);
|
||||||
|
|
||||||
|
if (index != -1)
|
||||||
|
{
|
||||||
|
ViewModel.DownloadableContents[index].Enabled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue