Skip to content

Commit d5b082c

Browse files
committed
Added "Hide Search Results" to search result groups' context menu if their search results are filtered via a search term (i.e. text filtering). For example, you can filter search results with term "[Prefab object]" and then right click the group and select this option to hide all prefab instance occurrences in that group
1 parent 1faa789 commit d5b082c

4 files changed

Lines changed: 35 additions & 16 deletions

File tree

Plugins/AssetUsageDetector/Editor/SearchResult.cs

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -778,28 +778,47 @@ public float DrawOnGUI( SearchResult searchResult, EditorWindow window, float sc
778778
IsExpanded = true;
779779
} );
780780

781-
if( searchResult != null && searchResult.NumberOfGroups > 1 && !string.IsNullOrEmpty( treeViewState.searchTerm ) )
781+
if( !string.IsNullOrEmpty( treeViewState.searchTerm ) )
782782
{
783783
if( contextMenu.GetItemCount() > 0 )
784784
contextMenu.AddSeparator( "" );
785785

786-
contextMenu.AddItem( new GUIContent( "Apply Search to All Results" ), false, () =>
786+
if( searchResult != null && searchResult.NumberOfGroups > 1 )
787787
{
788-
for( int i = 0; i < searchResult.NumberOfGroups; i++ )
788+
contextMenu.AddItem( new GUIContent( "Apply Search to All Results" ), false, () =>
789789
{
790-
if( searchResult[i].treeView == null )
791-
continue;
790+
for( int i = 0; i < searchResult.NumberOfGroups; i++ )
791+
{
792+
if( searchResult[i].treeView == null )
793+
continue;
792794

793-
string previousSearchTerm = searchResult[i].treeViewState.searchTerm ?? "";
794-
SearchResultTreeView.SearchMode previousSearchMode = searchResult[i].treeViewState.searchMode;
795+
string previousSearchTerm = searchResult[i].treeViewState.searchTerm ?? "";
796+
SearchResultTreeView.SearchMode previousSearchMode = searchResult[i].treeViewState.searchMode;
795797

796-
searchResult[i].treeViewState.searchTerm = treeViewState.searchTerm ?? "";
797-
searchResult[i].treeViewState.searchMode = treeViewState.searchMode;
798+
searchResult[i].treeViewState.searchTerm = treeViewState.searchTerm ?? "";
799+
searchResult[i].treeViewState.searchMode = treeViewState.searchMode;
798800

799-
if( treeViewState.searchTerm != previousSearchTerm || treeViewState.searchMode != previousSearchMode )
800-
searchResult[i].treeView.RefreshSearch( previousSearchTerm );
801-
}
802-
} );
801+
if( treeViewState.searchTerm != previousSearchTerm || treeViewState.searchMode != previousSearchMode )
802+
searchResult[i].treeView.RefreshSearch( previousSearchTerm );
803+
}
804+
} );
805+
}
806+
807+
IList<TreeViewItem> treeViewRows = treeView.GetRows();
808+
if( treeViewRows.Count > 1 ) // References are at depth 1 so if there are any references, at least 2 rows must exist
809+
{
810+
contextMenu.AddItem( new GUIContent( "Hide Search Results" ), false, () =>
811+
{
812+
List<int> removedRows = new List<int>( treeViewRows.Count );
813+
for( int i = treeViewRows.Count - 1; i >= 0; i-- )
814+
{
815+
if( treeViewRows[i].depth > 0 )
816+
removedRows.Add( treeViewRows[i].id );
817+
}
818+
819+
treeView.HideItems( removedRows );
820+
} );
821+
}
803822
}
804823
}
805824

Plugins/AssetUsageDetector/Editor/SearchResultTreeView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -991,7 +991,7 @@ private bool GetReferenceNodeOccurrenceIdsRecursive( TreeViewItem item, HashSet<
991991
return referenceNodes.Contains( GetDataFromId( item.id ).node );
992992
}
993993

994-
private void HideItems( IList<int> ids )
994+
public void HideItems( IList<int> ids )
995995
{
996996
if( ids.Count > 0 )
997997
{
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
= Asset Usage Detector (v2.5.3) =
1+
= Asset Usage Detector (v2.5.4) =
22

33
Documentation: https://github.com/yasirkula/UnityAssetUsageDetector
44
E-mail: yasirkula@gmail.com

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "com.yasirkula.assetusagedetector",
33
"displayName": "Asset Usage Detector",
4-
"version": "2.5.3",
4+
"version": "2.5.4",
55
"documentationUrl": "https://github.com/yasirkula/UnityAssetUsageDetector",
66
"changelogUrl": "https://github.com/yasirkula/UnityAssetUsageDetector/releases",
77
"licensesUrl": "https://github.com/yasirkula/UnityAssetUsageDetector/blob/master/LICENSE.txt",

0 commit comments

Comments
 (0)