mirror of
https://github.com/xivdev/Penumbra.git
synced 2026-02-06 07:54:36 +01:00
Fix bug in resource manager tab. Add missing FullContext push.
This commit is contained in:
parent
aa4ceae52f
commit
caf896e5e9
3 changed files with 22 additions and 13 deletions
2
Luna
2
Luna
|
|
@ -1 +1 @@
|
|||
Subproject commit 59967db0b6fba6e85d04d91e91ed07a35cb42d69
|
||||
Subproject commit a602d059783e244017200c04d97603f37ca2166a
|
||||
|
|
@ -265,9 +265,10 @@ public sealed class ModFilter(ModManager modManager, ActiveCollections collectio
|
|||
{
|
||||
if (token.Type switch
|
||||
{
|
||||
ModFilterTokenType.Name => folder.Name.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
ModFilterTokenType.Default => folder.FullPath.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
_ => true,
|
||||
ModFilterTokenType.Name => !folder.Name.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
ModFilterTokenType.Default => !folder.FullPath.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
ModFilterTokenType.FullContext => !folder.FullPath.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
_ => true,
|
||||
})
|
||||
return false;
|
||||
}
|
||||
|
|
@ -276,9 +277,10 @@ public sealed class ModFilter(ModManager modManager, ActiveCollections collectio
|
|||
{
|
||||
if (token.Type switch
|
||||
{
|
||||
ModFilterTokenType.Name => folder.Name.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
ModFilterTokenType.Default => folder.FullPath.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
_ => false,
|
||||
ModFilterTokenType.Name => folder.Name.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
ModFilterTokenType.Default => folder.FullPath.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
ModFilterTokenType.FullContext => folder.FullPath.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
_ => false,
|
||||
})
|
||||
return false;
|
||||
}
|
||||
|
|
@ -287,9 +289,10 @@ public sealed class ModFilter(ModManager modManager, ActiveCollections collectio
|
|||
{
|
||||
if (token.Type switch
|
||||
{
|
||||
ModFilterTokenType.Name => folder.Name.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
ModFilterTokenType.Default => folder.FullPath.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
_ => false,
|
||||
ModFilterTokenType.Name => folder.Name.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
ModFilterTokenType.Default => folder.FullPath.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
ModFilterTokenType.FullContext => !folder.FullPath.Contains(token.Needle, StringComparison.OrdinalIgnoreCase),
|
||||
_ => false,
|
||||
})
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,13 +20,19 @@ public sealed class ResourceTab(Configuration config, ResourceManagerService res
|
|||
public bool IsVisible
|
||||
=> config.DebugMode;
|
||||
|
||||
public readonly TextFilter Filter = new();
|
||||
public readonly ResourceFilter Filter = new();
|
||||
|
||||
public sealed class ResourceFilter : Utf8FilterBase<ResourceHandle>
|
||||
{
|
||||
protected override ReadOnlySpan<byte> ToFilterString(in ResourceHandle item, int globalIndex)
|
||||
=> item.FileName.AsSpan();
|
||||
}
|
||||
|
||||
/// <summary> Draw a tab to iterate over the main resource maps and see what resources are currently loaded. </summary>
|
||||
public unsafe void DrawContent()
|
||||
{
|
||||
// Filter for resources containing the input string.
|
||||
Filter.DrawFilter("##ResourceFilter"u8, Im.ContentRegion.Available);
|
||||
Filter.DrawFilter("Filter..."u8, Im.ContentRegion.Available);
|
||||
using var child = Im.Child.Begin("##ResourceManagerTab"u8, Im.ContentRegion.Available);
|
||||
if (!child)
|
||||
return;
|
||||
|
|
@ -75,7 +81,7 @@ public sealed class ResourceTab(Configuration config, ResourceManagerService res
|
|||
resourceManager.IterateResourceMap(map, (hash, r) =>
|
||||
{
|
||||
// Filter unwanted names.
|
||||
if (Filter.Text.Length > 0 && Filter.WouldBeVisible(r->FileName.ToString(), -1))
|
||||
if (!Filter.WouldBeVisible(in *r, -1))
|
||||
return;
|
||||
|
||||
Im.Table.DrawColumn($"0x{hash:X8}");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue