From d28d03e1aca7d2e4d3b625a95912f0cebf9bac10 Mon Sep 17 00:00:00 2001 From: Matthias Melcher Date: Thu, 16 Nov 2023 11:20:42 +0100 Subject: FLUID: Adds wrapping to "find" in source view. --- fluid/sourceview_panel.fl | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'fluid/sourceview_panel.fl') diff --git a/fluid/sourceview_panel.fl b/fluid/sourceview_panel.fl index a1e939370..2159a065a 100644 --- a/fluid/sourceview_panel.fl +++ b/fluid/sourceview_panel.fl @@ -152,8 +152,7 @@ file.} open return_type void sv_project->scroll(line, 0); } } - }} {selected - } + }} {} } Function {update_sourceview_position_cb(class Fl_Tabs*, void*)} { @@ -383,12 +382,14 @@ if (e) { int pos = e->insert_position()-1; if (pos < 0) pos = b->length()-1; int found = b->search_backward(pos, needle, &pos, sv_find_text_case->value()); + if (!found) + found = b->search_backward(b->length()-1, needle, &pos, sv_find_text_case->value()); if (found) { b->select(pos, pos + (int)strlen(needle)); e->insert_position(pos); e->show_insert_position(); } -}} +}} selected xywh {273 460 25 20} labelsize 11 } Fl_Button {} { @@ -407,6 +408,8 @@ if (e) { int pos = e->insert_position() + 1; if (pos+1 >= b->length()) pos = 0; int found = b->search_forward(pos, needle, &pos, sv_find_text_case->value()); + if (!found && (pos > 0)) + found = b->search_forward(0, needle, &pos, sv_find_text_case->value()); if (found) { b->select(pos, pos + (int)strlen(needle)); e->insert_position(pos); -- cgit v1.2.3