diff --git a/ILSpy/FilterSettings.cs b/ILSpy/FilterSettings.cs index e784f1c3c..788c3cc1f 100644 --- a/ILSpy/FilterSettings.cs +++ b/ILSpy/FilterSettings.cs @@ -94,29 +94,36 @@ namespace ICSharpCode.ILSpy } } - public bool ShowInternalApi { - get { return ShowApiLevel == ApiVisibility.PublicAndInternal; } + public bool ApiVisPublicOnly { + get { return showApiLevel == ApiVisibility.PublicOnly; } set { - if (ShowApiLevel == ApiVisibility.PublicAndInternal) { - ShowApiLevel = ApiVisibility.PublicOnly; - } else { - ShowApiLevel = ApiVisibility.PublicAndInternal; - } - OnPropertyChanged(nameof(ShowInternalApi)); - OnPropertyChanged(nameof(ShowAllApi)); + if (value == (showApiLevel == ApiVisibility.PublicOnly)) return; + ShowApiLevel = ApiVisibility.PublicOnly; + OnPropertyChanged(nameof(ApiVisPublicOnly)); + OnPropertyChanged(nameof(ApiVisPublicAndInternal)); + OnPropertyChanged(nameof(ApiVisAll)); } } - public bool ShowAllApi { - get { return ShowApiLevel == ApiVisibility.All; } + public bool ApiVisPublicAndInternal { + get { return showApiLevel == ApiVisibility.PublicAndInternal; } set { - if (ShowApiLevel == ApiVisibility.All) { - ShowApiLevel = ApiVisibility.PublicOnly; - } else { - ShowApiLevel = ApiVisibility.All; - } - OnPropertyChanged(nameof(ShowInternalApi)); - OnPropertyChanged(nameof(ShowAllApi)); + if (value == (showApiLevel == ApiVisibility.PublicAndInternal)) return; + ShowApiLevel = ApiVisibility.PublicAndInternal; + OnPropertyChanged(nameof(ApiVisPublicOnly)); + OnPropertyChanged(nameof(ApiVisPublicAndInternal)); + OnPropertyChanged(nameof(ApiVisAll)); + } + } + + public bool ApiVisAll { + get { return showApiLevel == ApiVisibility.All; } + set { + if (value == (showApiLevel == ApiVisibility.All)) return; + ShowApiLevel = ApiVisibility.All; + OnPropertyChanged(nameof(ApiVisPublicOnly)); + OnPropertyChanged(nameof(ApiVisPublicAndInternal)); + OnPropertyChanged(nameof(ApiVisAll)); } } diff --git a/ILSpy/ILSpy.csproj b/ILSpy/ILSpy.csproj index dc5fc15fb..d8953ca45 100644 --- a/ILSpy/ILSpy.csproj +++ b/ILSpy/ILSpy.csproj @@ -433,6 +433,10 @@ + + + + $(MSBuildToolsPath)\..\..\..\VC\ Microsoft.VCToolsVersion.default.props diff --git a/ILSpy/Images/PublicOnly.png b/ILSpy/Images/PublicOnly.png new file mode 100644 index 000000000..f78f2d5b2 Binary files /dev/null and b/ILSpy/Images/PublicOnly.png differ diff --git a/ILSpy/MainWindow.xaml b/ILSpy/MainWindow.xaml index a83b6d799..451a8b8fe 100644 --- a/ILSpy/MainWindow.xaml +++ b/ILSpy/MainWindow.xaml @@ -53,15 +53,11 @@ - - - - + - - - - + + + @@ -85,10 +81,13 @@ - + + + + - + diff --git a/ILSpy/Properties/Resources.Designer.cs b/ILSpy/Properties/Resources.Designer.cs index b555a63a4..ebf4c503a 100644 --- a/ILSpy/Properties/Resources.Designer.cs +++ b/ILSpy/Properties/Resources.Designer.cs @@ -1621,7 +1621,7 @@ namespace ICSharpCode.ILSpy.Properties { } /// - /// Looks up a localized string similar to Show _internal types and members. + /// Looks up a localized string similar to Show public, private and internal. /// public static string Show_internalTypesMembers { get { @@ -1629,6 +1629,15 @@ namespace ICSharpCode.ILSpy.Properties { } } + /// + /// Looks up a localized string similar to Show only _public types and members. + /// + public static string Show_publiconlyTypesMembers { + get { + return ResourceManager.GetString("Show_publiconlyTypesMembers", resourceCulture); + } + } + /// /// Looks up a localized string similar to Show all types and members. /// @@ -1684,7 +1693,7 @@ namespace ICSharpCode.ILSpy.Properties { } /// - /// Looks up a localized string similar to Show internal types and members. + /// Looks up a localized string similar to Show public, private and internal. /// public static string ShowInternalTypesMembers { get { @@ -1719,6 +1728,15 @@ namespace ICSharpCode.ILSpy.Properties { } } + /// + /// Looks up a localized string similar to Show only public types and members. + /// + public static string ShowPublicOnlyTypesMembers { + get { + return ResourceManager.GetString("ShowPublicOnlyTypesMembers", resourceCulture); + } + } + /// /// Looks up a localized string similar to Show state after this step. /// diff --git a/ILSpy/Properties/Resources.resx b/ILSpy/Properties/Resources.resx index d98c8cdcc..e66e857ea 100644 --- a/ILSpy/Properties/Resources.resx +++ b/ILSpy/Properties/Resources.resx @@ -370,10 +370,10 @@ You are using a nightly build newer than the latest release. - Show _internal types and members + Show public, private and internal - Show internal types and members + Show public, private and internal Stand by... @@ -754,4 +754,10 @@ Are you sure you want to continue? Remove dead stores (use with caution!) + + Show only public types and members + + + Show only _public types and members + \ No newline at end of file