Browse Source

fixed exception in Deactivate on deletion of snippet; exclude constants, static fields and properties with backing field from list

pull/1/head
Siegfried Pammer 15 years ago
parent
commit
23cb8156c4
  1. 5
      src/AddIns/Misc/SharpRefactoring/Project/Src/Gui/AbstractInlineRefactorDialog.cs
  2. 11
      src/AddIns/Misc/SharpRefactoring/Project/Src/InsertCtorSnippetRefactoring.cs

5
src/AddIns/Misc/SharpRefactoring/Project/Src/Gui/AbstractInlineRefactorDialog.cs

@ -113,6 +113,11 @@ namespace SharpRefactoring.Gui @@ -113,6 +113,11 @@ namespace SharpRefactoring.Gui
void IActiveElement.Deactivate(SnippetEventArgs e)
{
if (e.Reason == DeactivateReason.Deleted) {
Deactivate();
return;
}
if (e.Reason == DeactivateReason.ReturnPressed)
OKButtonClick(null, null);

11
src/AddIns/Misc/SharpRefactoring/Project/Src/InsertCtorSnippetRefactoring.cs

@ -8,6 +8,7 @@ @@ -8,6 +8,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using ICSharpCode.AvalonEdit.Snippets;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
@ -80,13 +81,15 @@ namespace SharpRefactoring @@ -80,13 +81,15 @@ namespace SharpRefactoring
{
int i = 0;
foreach (var f in sourceClass.Fields) {
yield return new CtorParamWrapper(f) { Index = i, IsSelected = !f.IsReadonly };
foreach (var f in sourceClass.Fields.Where(field => !field.IsConst && field.IsStatic == sourceClass.IsStatic)) {
yield return new CtorParamWrapper(f) { Index = i, IsSelected = true };
i++;
}
foreach (var p in sourceClass.Properties.Where(prop => prop.CanSet && !prop.IsIndexer)) {
yield return new CtorParamWrapper(p) { Index = i, IsSelected = !p.IsReadonly };
foreach (var p in sourceClass.Properties.Where(prop => prop.CanSet && !prop.IsIndexer
&& PropertyRefactoringMenuBuilder.IsAutomaticProperty(prop)
&& prop.IsStatic == sourceClass.IsStatic)) {
yield return new CtorParamWrapper(p) { Index = i, IsSelected = true };
i++;
}
}

Loading…
Cancel
Save