Revision: 4016 http://geany.svn.sourceforge.net/geany/?rev=4016&view=rev Author: ntrel Date: 2009-07-23 16:54:32 +0000 (Thu, 23 Jul 2009)
Log Message: ----------- Fix scrolling horizontally after finding a search match with the search bar or Find Next/Previous which is off-screen.
Modified Paths: -------------- trunk/ChangeLog trunk/src/document.c trunk/src/editor.c
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2009-07-23 16:23:28 UTC (rev 4015) +++ trunk/ChangeLog 2009-07-23 16:54:32 UTC (rev 4016) @@ -12,6 +12,9 @@ For the Tabs indent type, remove spaces when unindenting (only) if there are no tabs on the line. Group undo actions for (un)indenting of multiple lines. + * src/document.c, src/editor.c: + Fix scrolling horizontally after finding a search match with the + search bar or Find Next/Previous which is off-screen.
2009-07-21 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/src/document.c =================================================================== --- trunk/src/document.c 2009-07-23 16:23:28 UTC (rev 4015) +++ trunk/src/document.c 2009-07-23 16:54:32 UTC (rev 4016) @@ -1852,6 +1852,8 @@ * while searching */ editor_scroll_to_line(doc->editor, -1, 0.3F); } + else + sci_scroll_caret(doc->editor->sci); /* may need horizontal scrolling */ return TRUE; } else
Modified: trunk/src/editor.c =================================================================== --- trunk/src/editor.c 2009-07-23 16:23:28 UTC (rev 4015) +++ trunk/src/editor.c 2009-07-23 16:54:32 UTC (rev 4016) @@ -3948,7 +3948,9 @@
/* Note: Usually the line should be made visible (not folded) before calling this. * Returns: TRUE if line is/will be displayed to the user, or FALSE if it is - * outside the view. */ + * outside the *vertical* view. + * Warning: You may need horizontal scrolling to make the cursor visible - so always call + * sci_scroll_caret() when this returns TRUE. */ gboolean editor_line_in_view(GeanyEditor *editor, gint line) { gint vis1, los; @@ -3984,6 +3986,8 @@ /* scroll the line if it's off screen */ if (! editor_line_in_view(editor, line)) editor->scroll_percent = percent_of_view; + else + sci_scroll_caret(editor->sci); /* may need horizontal scrolling */ }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.