Browse Source

Merge pull request #3298 from tom-englert/dev/WpfRefactoring

Dev/wpf refactoring
pull/3299/head
Siegfried Pammer 7 months ago committed by GitHub
parent
commit
b7f0ab3bcd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 7
      ILSpy/AssemblyTree/AssemblyTreeModel.cs
  2. 34
      ILSpy/TextView/DecompilerTextView.cs
  3. 1
      ILSpy/TextView/DecompilerTextView.xaml

7
ILSpy/AssemblyTree/AssemblyTreeModel.cs

@ -716,7 +716,12 @@ namespace ICSharpCode.ILSpy.AssemblyTree @@ -716,7 +716,12 @@ namespace ICSharpCode.ILSpy.AssemblyTree
private void TreeView_SelectionChanged()
{
if (SelectedItems.Length > 0)
if (SelectedItems.Length <= 0)
{
// To cancel any pending decompilation requests and show an empty tab
DecompileSelectedNodes();
}
else
{
var activeTabPage = DockWorkspace.Instance.ActiveTabPage;

34
ILSpy/TextView/DecompilerTextView.cs

@ -72,7 +72,7 @@ namespace ICSharpCode.ILSpy.TextView @@ -72,7 +72,7 @@ namespace ICSharpCode.ILSpy.TextView
/// Manages the TextEditor showing the decompiled code.
/// Contains all the threading logic that makes the decompiler work in the background.
/// </summary>
public sealed partial class DecompilerTextView : UserControl, IDisposable, IHaveState, IProgress<DecompilationProgress>
public sealed partial class DecompilerTextView : UserControl, IHaveState, IProgress<DecompilationProgress>
{
readonly ReferenceElementGenerator referenceElementGenerator;
readonly UIElementGenerator uiElementGenerator;
@ -125,7 +125,8 @@ namespace ICSharpCode.ILSpy.TextView @@ -125,7 +125,8 @@ namespace ICSharpCode.ILSpy.TextView
textEditor.TextArea.TextView.BackgroundRenderers.Add(textMarkerService);
textEditor.TextArea.TextView.LineTransformers.Add(textMarkerService);
textEditor.ShowLineNumbers = true;
SettingsService.Instance.DisplaySettings.PropertyChanged += CurrentDisplaySettings_PropertyChanged;
MessageBus<SettingsChangedEventArgs>.Subscribers += Settings_Changed;
// SearchPanel
SearchPanel searchPanel = SearchPanel.Install(textEditor.TextArea);
@ -179,15 +180,24 @@ namespace ICSharpCode.ILSpy.TextView @@ -179,15 +180,24 @@ namespace ICSharpCode.ILSpy.TextView
#region Line margin
void CurrentDisplaySettings_PropertyChanged(object? sender, PropertyChangedEventArgs e)
private void Settings_Changed(object? sender, SettingsChangedEventArgs e)
{
if (e.PropertyName == nameof(DisplaySettings.ShowLineNumbers))
{
ShowLineMargin();
}
else if (e.PropertyName == nameof(DisplaySettings.HighlightCurrentLine))
Settings_PropertyChanged(sender, e);
}
private void Settings_PropertyChanged(object? sender, PropertyChangedEventArgs e)
{
if (sender is not DisplaySettings)
return;
switch (e.PropertyName)
{
SetHighlightCurrentLine();
case nameof(DisplaySettings.ShowLineNumbers):
ShowLineMargin();
break;
case nameof(DisplaySettings.HighlightCurrentLine):
SetHighlightCurrentLine();
break;
}
}
@ -1286,12 +1296,6 @@ namespace ICSharpCode.ILSpy.TextView @@ -1286,12 +1296,6 @@ namespace ICSharpCode.ILSpy.TextView
HighlightingManager.Instance.RegisterHighlighting("xml", new[] { ".xml", ".baml" }, "XML-Mode");
}
public void Dispose()
{
SettingsService.Instance.DisplaySettings.PropertyChanged -= CurrentDisplaySettings_PropertyChanged;
}
#region Unfold
public void UnfoldAndScroll(int lineNumber)
{

1
ILSpy/TextView/DecompilerTextView.xaml

@ -7,7 +7,6 @@ @@ -7,7 +7,6 @@
xmlns:editing="clr-namespace:ICSharpCode.AvalonEdit.Editing;assembly=ICSharpCode.AvalonEdit"
xmlns:folding="clr-namespace:ICSharpCode.AvalonEdit.Folding;assembly=ICSharpCode.AvalonEdit"
xmlns:styles="urn:TomsToolbox.Wpf.Styles"
xmlns:toms="urn:TomsToolbox"
xmlns:themes="clr-namespace:ICSharpCode.ILSpy.Themes">
<UserControl.Resources>
<SolidColorBrush x:Key="waitAdornerBackgoundBrush" Color="{DynamicResource {x:Static SystemColors.WindowColorKey}}" Opacity=".75" />

Loading…
Cancel
Save