diff --git a/ILSpy/ILSpy.csproj b/ILSpy/ILSpy.csproj
index 942f8a806..0b80629b3 100644
--- a/ILSpy/ILSpy.csproj
+++ b/ILSpy/ILSpy.csproj
@@ -199,5 +199,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ILSpy/ILSpyTreeNode.cs b/ILSpy/ILSpyTreeNode.cs
index f8489db54..2369577be 100644
--- a/ILSpy/ILSpyTreeNode.cs
+++ b/ILSpy/ILSpyTreeNode.cs
@@ -64,11 +64,15 @@ namespace ICSharpCode.ILSpy
///
Hidden,
///
- /// Shows the node.
+ /// Shows the node (and resets the search term for child nodes).
///
Match,
///
- /// Hides the node only if all children are hidden.
+ /// Hides the node only if all children are hidden (and resets the search term for child nodes).
+ ///
+ MatchAndRecurse,
+ ///
+ /// Hides the node only if all children are hidden (doesn't reset the search term for child nodes).
///
Recurse
}
@@ -127,8 +131,8 @@ namespace ICSharpCode.ILSpy
// don't add to base.Children
break;
case FilterResult.Match:
- base.Children.Add(child);
child.FilterSettings = StripSearchTerm(this.FilterSettings);
+ base.Children.Add(child);
break;
case FilterResult.Recurse:
child.FilterSettings = this.FilterSettings;
@@ -136,6 +140,12 @@ namespace ICSharpCode.ILSpy
if (child.VisibleChildren.Count > 0)
base.Children.Add(child);
break;
+ case FilterResult.MatchAndRecurse:
+ child.FilterSettings = StripSearchTerm(this.FilterSettings);
+ child.EnsureLazyChildren();
+ if (child.VisibleChildren.Count > 0)
+ base.Children.Add(child);
+ break;
default:
throw new InvalidEnumArgumentException();
}
diff --git a/ILSpy/Images/Back.png b/ILSpy/Images/Back.png
new file mode 100644
index 000000000..c165b435e
Binary files /dev/null and b/ILSpy/Images/Back.png differ
diff --git a/ILSpy/Images/Forward.png b/ILSpy/Images/Forward.png
new file mode 100644
index 000000000..c1543df93
Binary files /dev/null and b/ILSpy/Images/Forward.png differ
diff --git a/ILSpy/Images/PrivateInternal.png b/ILSpy/Images/PrivateInternal.png
new file mode 100644
index 000000000..da9c15ac0
Binary files /dev/null and b/ILSpy/Images/PrivateInternal.png differ
diff --git a/ILSpy/MainWindow.xaml b/ILSpy/MainWindow.xaml
index 5d429c775..0b893548c 100644
--- a/ILSpy/MainWindow.xaml
+++ b/ILSpy/MainWindow.xaml
@@ -17,58 +17,53 @@
Executed="OpenCommandExecuted" />
-