Browse Source

Fix SD-1777 - 'Replace all' (in project) does not perform any replacements in files that are not open

pull/14/head
Matt Ward 15 years ago
parent
commit
8c0fbdc203
  1. 2
      src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceManager.cs
  2. 6
      src/Main/Base/Project/Src/Editor/Search/ProvidedDocumentInformation.cs

2
src/AddIns/Misc/SearchAndReplace/Project/Engine/SearchReplaceManager.cs

@ -215,7 +215,7 @@ namespace SearchAndReplace
if (textArea != null) { if (textArea != null) {
string transformedPattern = result.TransformReplacePattern(SearchOptions.ReplacePattern); string transformedPattern = result.TransformReplacePattern(SearchOptions.ReplacePattern);
find.Replace(result.Offset, result.Length, transformedPattern); find.Replace(result.Offset, result.Length, transformedPattern);
if (!find.CurrentDocumentInformation.IsDocumentCreated) { if (find.CurrentDocumentInformation.IsDocumentCreatedFromTextBuffer) {
textArea.Document.Replace(result.Offset, result.Length, transformedPattern); textArea.Document.Replace(result.Offset, result.Length, transformedPattern);
} }
} else { } else {

6
src/Main/Base/Project/Src/Editor/Search/ProvidedDocumentInformation.cs

@ -15,6 +15,7 @@ namespace ICSharpCode.SharpDevelop.Editor.Search
ITextBuffer textBuffer; ITextBuffer textBuffer;
FileName fileName; FileName fileName;
int currentOffset; int currentOffset;
bool documentCreatedFromTextBuffer;
public FileName FileName { public FileName FileName {
get { get {
@ -35,8 +36,8 @@ namespace ICSharpCode.SharpDevelop.Editor.Search
} }
} }
public bool IsDocumentCreated { public bool IsDocumentCreatedFromTextBuffer {
get { return document != null; } get { return documentCreatedFromTextBuffer; }
} }
public int CurrentOffset { public int CurrentOffset {
@ -109,6 +110,7 @@ namespace ICSharpCode.SharpDevelop.Editor.Search
this.textBuffer = textBuffer; this.textBuffer = textBuffer;
this.fileName = FileName.Create(fileName); this.fileName = FileName.Create(fileName);
this.endOffset = this.currentOffset = currentOffset; this.endOffset = this.currentOffset = currentOffset;
documentCreatedFromTextBuffer = true;
} }
} }
} }

Loading…
Cancel
Save