# HG changeset patch # User Sean Egan # Date 1164231231 0 # Node ID ea6186360b68d753dc3549f12a057ded5e079b45 # Parent b598a78c4550e5a5cb914771293f9eadc5be3f01 [gaim-migrate @ 17814] Make searching in conversations search backwards. Presumingly you want to see the most recent mentions of your search term first. I use it mostly for searching my nick when I See a blue tab in #gaim, and this is useful for that. committer: Tailor Script diff -r b598a78c4550 -r ea6186360b68 gtk/gtkimhtml.c --- a/gtk/gtkimhtml.c Wed Nov 22 20:10:01 2006 +0000 +++ b/gtk/gtkimhtml.c Wed Nov 22 21:33:51 2006 +0000 @@ -3550,24 +3550,24 @@ gtk_imhtml_search_clear(imhtml); g_free(imhtml->search_string); imhtml->search_string = g_strdup(text); - gtk_text_buffer_get_start_iter(imhtml->text_buffer, &iter); + gtk_text_buffer_get_end_iter(imhtml->text_buffer, &iter); } else { gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &iter, start_mark); } - if (gtk_source_iter_forward_search(&iter, imhtml->search_string, + if (gtk_source_iter_backward_search(&iter, imhtml->search_string, GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_CASE_INSENSITIVE, &start, &end, NULL)) { gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(imhtml), &start, 0, TRUE, 0, 0); - gtk_text_buffer_create_mark(imhtml->text_buffer, "search", &end, FALSE); + gtk_text_buffer_create_mark(imhtml->text_buffer, "search", &start, FALSE); if (new_search) { gtk_text_buffer_remove_tag_by_name(imhtml->text_buffer, "search", &iter, &end); do gtk_text_buffer_apply_tag_by_name(imhtml->text_buffer, "search", &start, &end); - while (gtk_source_iter_forward_search(&end, imhtml->search_string, + while (gtk_source_iter_backward_search(&start, imhtml->search_string, GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_CASE_INSENSITIVE, &start, &end, NULL)); @@ -3577,14 +3577,14 @@ else if (!new_search) { /* We hit the end, so start at the beginning again. */ - gtk_text_buffer_get_start_iter(imhtml->text_buffer, &iter); - - if (gtk_source_iter_forward_search(&iter, imhtml->search_string, + gtk_text_buffer_get_end_iter(imhtml->text_buffer, &iter); + + if (gtk_source_iter_backward_search(&iter, imhtml->search_string, GTK_SOURCE_SEARCH_VISIBLE_ONLY | GTK_SOURCE_SEARCH_CASE_INSENSITIVE, &start, &end, NULL)) { gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(imhtml), &start, 0, TRUE, 0, 0); - gtk_text_buffer_create_mark(imhtml->text_buffer, "search", &end, FALSE); + gtk_text_buffer_create_mark(imhtml->text_buffer, "search", &start, FALSE); return TRUE; }