mirror of
https://github.com/aelurum/AssetStudio.git
synced 2025-05-27 22:00:23 -04:00
Improve Filter
This commit is contained in:
parent
674c634c2c
commit
546fe52ff0
@ -245,18 +245,9 @@ namespace AssetStudio
|
|||||||
private void typeToolStripMenuItem_Click(object sender, EventArgs e)
|
private void typeToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var typeItem = (ToolStripMenuItem)sender;
|
var typeItem = (ToolStripMenuItem)sender;
|
||||||
var show = new List<ClassIDReference>();
|
|
||||||
if (typeItem != allToolStripMenuItem)
|
if (typeItem != allToolStripMenuItem)
|
||||||
{
|
{
|
||||||
allToolStripMenuItem.Checked = false;
|
allToolStripMenuItem.Checked = false;
|
||||||
for (var i = 1; i < showTypeToolStripMenuItem.DropDownItems.Count; i++)
|
|
||||||
{
|
|
||||||
var item = (ToolStripMenuItem)showTypeToolStripMenuItem.DropDownItems[i];
|
|
||||||
if (item.Checked)
|
|
||||||
{
|
|
||||||
show.Add((ClassIDReference)Enum.Parse(typeof(ClassIDReference), item.Text));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (allToolStripMenuItem.Checked)
|
else if (allToolStripMenuItem.Checked)
|
||||||
{
|
{
|
||||||
@ -266,11 +257,7 @@ namespace AssetStudio
|
|||||||
item.Checked = false;
|
item.Checked = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assetListView.BeginUpdate();
|
FilterAssetList();
|
||||||
assetListView.SelectedIndices.Clear();
|
|
||||||
visibleAssets = allToolStripMenuItem.Checked ? exportableAssets : exportableAssets.FindAll(x => show.Contains(x.Type));
|
|
||||||
assetListView.VirtualListSize = visibleAssets.Count;
|
|
||||||
assetListView.EndUpdate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AssetStudioForm_KeyDown(object sender, KeyEventArgs e)
|
private void AssetStudioForm_KeyDown(object sender, KeyEventArgs e)
|
||||||
@ -655,11 +642,7 @@ namespace AssetStudio
|
|||||||
{
|
{
|
||||||
if (enableFiltering)
|
if (enableFiltering)
|
||||||
{
|
{
|
||||||
assetListView.BeginUpdate();
|
FilterAssetList();
|
||||||
assetListView.SelectedIndices.Clear();
|
|
||||||
visibleAssets = exportableAssets.FindAll(ListAsset => ListAsset.Text.IndexOf(listSearch.Text, StringComparison.CurrentCultureIgnoreCase) >= 0);
|
|
||||||
assetListView.VirtualListSize = visibleAssets.Count;
|
|
||||||
assetListView.EndUpdate();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1886,5 +1869,35 @@ namespace AssetStudio
|
|||||||
|
|
||||||
return selectedAssets;
|
return selectedAssets;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void FilterAssetList()
|
||||||
|
{
|
||||||
|
assetListView.BeginUpdate();
|
||||||
|
assetListView.SelectedIndices.Clear();
|
||||||
|
visibleAssets.Clear();
|
||||||
|
var show = new List<ClassIDReference>();
|
||||||
|
if (!allToolStripMenuItem.Checked)
|
||||||
|
{
|
||||||
|
for (var i = 1; i < showTypeToolStripMenuItem.DropDownItems.Count; i++)
|
||||||
|
{
|
||||||
|
var item = (ToolStripMenuItem)showTypeToolStripMenuItem.DropDownItems[i];
|
||||||
|
if (item.Checked)
|
||||||
|
{
|
||||||
|
show.Add((ClassIDReference)Enum.Parse(typeof(ClassIDReference), item.Text));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
visibleAssets = exportableAssets.FindAll(x => show.Contains(x.Type));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
visibleAssets = exportableAssets;
|
||||||
|
}
|
||||||
|
if (listSearch.Text != " Filter ")
|
||||||
|
{
|
||||||
|
visibleAssets = visibleAssets.FindAll(x => x.Text.IndexOf(listSearch.Text, StringComparison.CurrentCultureIgnoreCase) >= 0);
|
||||||
|
}
|
||||||
|
assetListView.VirtualListSize = visibleAssets.Count;
|
||||||
|
assetListView.EndUpdate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -319,7 +319,7 @@ namespace AssetStudio
|
|||||||
exportableAssets.AddRange(assetsFile.exportableAssets);
|
exportableAssets.AddRange(assetsFile.exportableAssets);
|
||||||
}
|
}
|
||||||
|
|
||||||
visibleAssets = exportableAssets;
|
visibleAssets = exportableAssets.ToList();
|
||||||
exportableAssetsHash.Clear();
|
exportableAssetsHash.Clear();
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
Loading…
Reference in New Issue
Block a user