Browse Source

Fix SD-1782 - Interaction between bookmarks and breakpoints (with Daniel's suggestion)

pull/14/head
Eusebiu Marcu 15 years ago
parent
commit
daf172e700
  1. 6
      src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs
  2. 8
      src/Main/Base/Project/Src/Bookmarks/Commands/MenuCommands.cs
  3. 3
      src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs

6
src/Main/Base/Project/Src/Bookmarks/BookmarkManager.cs

@ -107,12 +107,10 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -107,12 +107,10 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
public static void ToggleBookmark(ITextEditor editor, int line,
Predicate<SDBookmark> canToggle,
Func<Location, SDBookmark> bookmarkFactory,
Type bookmarkType)
Func<Location, SDBookmark> bookmarkFactory)
{
foreach (SDBookmark bookmark in GetBookmarks(new FileName(editor.FileName))) {
if (canToggle(bookmark) && bookmark.LineNumber == line &&
bookmark.GetType().UnderlyingSystemType == bookmarkType) {
if (canToggle(bookmark) && bookmark.LineNumber == line) {
BookmarkManager.RemoveMark(bookmark);
return;
}

8
src/Main/Base/Project/Src/Bookmarks/Commands/MenuCommands.cs

@ -41,13 +41,11 @@ namespace ICSharpCode.SharpDevelop.Bookmarks @@ -41,13 +41,11 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
protected override void Run(ITextEditor editor, IBookmarkMargin bookmarkMargin)
{
BookmarkManager.ToggleBookmark(editor, editor.Caret.Line,
b => b.CanToggle,
location => new SDBookmark(editor.FileName, location),
typeof(SDBookmark));
b => b.CanToggle && b.GetType() == typeof(SDBookmark),
location => new SDBookmark(editor.FileName, location));
}
}
public class PrevBookmark : BookmarkMenuCommand
public class PrevBookmark : BookmarkMenuCommand
{
protected override void Run(ITextEditor editor, IBookmarkMargin bookmarkMargin)
{

3
src/Main/Base/Project/Src/Services/Debugger/DebuggerService.cs

@ -227,8 +227,7 @@ namespace ICSharpCode.SharpDevelop.Debugging @@ -227,8 +227,7 @@ namespace ICSharpCode.SharpDevelop.Debugging
BookmarkManager.ToggleBookmark(
editor, lineNumber,
b => b.CanToggle && b is BreakpointBookmark,
location => new BreakpointBookmark(editor.FileName, location, BreakpointAction.Break, "", ""),
typeof(BreakpointBookmark));
location => new BreakpointBookmark(editor.FileName, location, BreakpointAction.Break, "", ""));
}
/* TODO: reimplement this stuff

Loading…
Cancel
Save