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
public static void ToggleBookmark(ITextEditor editor, int line, public static void ToggleBookmark(ITextEditor editor, int line,
Predicate<SDBookmark> canToggle, Predicate<SDBookmark> canToggle,
Func<Location, SDBookmark> bookmarkFactory, Func<Location, SDBookmark> bookmarkFactory)
Type bookmarkType)
{ {
foreach (SDBookmark bookmark in GetBookmarks(new FileName(editor.FileName))) { foreach (SDBookmark bookmark in GetBookmarks(new FileName(editor.FileName))) {
if (canToggle(bookmark) && bookmark.LineNumber == line && if (canToggle(bookmark) && bookmark.LineNumber == line) {
bookmark.GetType().UnderlyingSystemType == bookmarkType) {
BookmarkManager.RemoveMark(bookmark); BookmarkManager.RemoveMark(bookmark);
return; return;
} }

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

@ -41,13 +41,11 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
protected override void Run(ITextEditor editor, IBookmarkMargin bookmarkMargin) protected override void Run(ITextEditor editor, IBookmarkMargin bookmarkMargin)
{ {
BookmarkManager.ToggleBookmark(editor, editor.Caret.Line, BookmarkManager.ToggleBookmark(editor, editor.Caret.Line,
b => b.CanToggle, b => b.CanToggle && b.GetType() == typeof(SDBookmark),
location => new SDBookmark(editor.FileName, location), location => new SDBookmark(editor.FileName, location));
typeof(SDBookmark));
} }
} }
public class PrevBookmark : BookmarkMenuCommand
public class PrevBookmark : BookmarkMenuCommand
{ {
protected override void Run(ITextEditor editor, IBookmarkMargin bookmarkMargin) 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
BookmarkManager.ToggleBookmark( BookmarkManager.ToggleBookmark(
editor, lineNumber, editor, lineNumber,
b => b.CanToggle && b is BreakpointBookmark, b => b.CanToggle && b is BreakpointBookmark,
location => new BreakpointBookmark(editor.FileName, location, BreakpointAction.Break, "", ""), location => new BreakpointBookmark(editor.FileName, location, BreakpointAction.Break, "", ""));
typeof(BreakpointBookmark));
} }
/* TODO: reimplement this stuff /* TODO: reimplement this stuff

Loading…
Cancel
Save