changeset 22179:603f0d752de2

Wrap search for "next bookmark" and "prev bookmark" (bug #48044) * file-editor-tab.cc (file_editor_tab::next_bookmark, file_editor_tab::previous_bookmark): Retry from start/end if next/previous was -1. * file-editor.cc (file_editor::construct): Put "Next Bookmark" before "Previous Bookmark" in the menu.
author Lachlan Andrew <lachlanbis@gmail.com>
date Sat, 28 May 2016 20:08:56 +1000
parents 30a0756e6318
children beaacfca0055
files libgui/src/m-editor/file-editor-tab.cc libgui/src/m-editor/file-editor.cc
diffstat 2 files changed, 11 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/m-editor/file-editor-tab.cc	Mon Mar 14 21:57:01 2016 +1100
+++ b/libgui/src/m-editor/file-editor-tab.cc	Sat May 28 20:08:56 2016 +1000
@@ -902,6 +902,10 @@
 
   int nextline = _edit_area->markerFindNext (line, (1 << marker::bookmark));
 
+  // Wrap.
+  if (nextline == -1)
+    nextline = _edit_area->markerFindNext (1, (1 << marker::bookmark));
+
   _edit_area->setCursorPosition (nextline, 0);
 }
 
@@ -920,6 +924,11 @@
 
   int prevline = _edit_area->markerFindPrevious (line, (1 << marker::bookmark));
 
+  // Wrap.  Should use the last line of the file, not 1<<15
+  if (prevline == -1)
+    prevline = _edit_area->markerFindPrevious (_edit_area->lines (),
+                                               (1 << marker::bookmark));
+
   _edit_area->setCursorPosition (prevline, 0);
 }
 
--- a/libgui/src/m-editor/file-editor.cc	Mon Mar 14 21:57:01 2016 +1100
+++ b/libgui/src/m-editor/file-editor.cc	Sat May 28 20:08:56 2016 +1000
@@ -1715,10 +1715,10 @@
 
   _edit_nav_menu->addSeparator ();
 
+  _next_bookmark_action = add_action (_edit_nav_menu, QIcon (),
+          tr ("&Next Bookmark"), SLOT (request_next_bookmark (bool)));
   _previous_bookmark_action = add_action (_edit_nav_menu, QIcon (),
           tr ("Pre&vious Bookmark"), SLOT (request_previous_bookmark (bool)));
-  _next_bookmark_action = add_action (_edit_nav_menu, QIcon (),
-          tr ("&Next Bookmark"), SLOT (request_next_bookmark (bool)));
   _toggle_bookmark_action = add_action (_edit_nav_menu, QIcon (),
           tr ("Toggle &Bookmark"), SLOT (request_toggle_bookmark (bool)));
   _remove_bookmark_action = add_action (_edit_nav_menu, QIcon (),