diff --git a/Il2CppInspector.GUI/MainWindow.xaml b/Il2CppInspector.GUI/MainWindow.xaml index 9590b2d..2d7c241 100644 --- a/Il2CppInspector.GUI/MainWindow.xaml +++ b/Il2CppInspector.GUI/MainWindow.xaml @@ -231,6 +231,12 @@ This only applies to C# prototypes output + + + + + + diff --git a/Il2CppInspector.GUI/MainWindow.xaml.cs b/Il2CppInspector.GUI/MainWindow.xaml.cs index 4477217..15c5a30 100644 --- a/Il2CppInspector.GUI/MainWindow.xaml.cs +++ b/Il2CppInspector.GUI/MainWindow.xaml.cs @@ -22,7 +22,7 @@ using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Microsoft.Win32; -using Il2CppInspector; +using Il2CppInspector; using Il2CppInspector.Cpp; using Il2CppInspector.GUI; using Il2CppInspector.Model; @@ -573,6 +573,23 @@ namespace Il2CppInspectorGUI await LoadBinaryAsync(files[0]); } } + + private void SelectAllNamespaces_Click(object sender, RoutedEventArgs e) { + var tree = (IEnumerable) trvNamespaces.ItemsSource; + + // Breadth-first selection + for (var level = tree; level.Any(); level = level.Where(node => node.Children != null).SelectMany(node => node.Children)) + foreach (var item in level) + item.IsChecked = true; + } + + private void SelectNoneNamespaces_Click(object sender, RoutedEventArgs e) { + var tree = (IEnumerable) trvNamespaces.ItemsSource; + + // Only need to clear the top level because this will clear all the children automatically + foreach (var topLevelItem in tree) + topLevelItem.IsChecked = false; + } } // Replacement for TreeViewItem that includes checkbox state