[gtksourceview/wip/search] search: emit GtkSourceBuffer::highlight-updated signal
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview/wip/search] search: emit GtkSourceBuffer::highlight-updated signal
- Date: Wed, 19 Jun 2013 12:21:27 +0000 (UTC)
commit c07c41236087ee7fea9c9345168fdc0ff653daf3
Author: Sébastien Wilmet <swilmet gnome org>
Date: Wed Jun 19 14:17:02 2013 +0200
search: emit GtkSourceBuffer::highlight-updated signal
gtksourceview/gtksourcesearch.c | 31 +++++++++++++++++++++++++++++--
1 files changed, 29 insertions(+), 2 deletions(-)
---
diff --git a/gtksourceview/gtksourcesearch.c b/gtksourceview/gtksourcesearch.c
index 5fb4ef8..0185df5 100644
--- a/gtksourceview/gtksourcesearch.c
+++ b/gtksourceview/gtksourcesearch.c
@@ -136,6 +136,34 @@ clear_search (GtkSourceSearch *search)
}
static void
+add_subregion (GtkSourceSearch *search,
+ GtkTextIter *start,
+ GtkTextIter *end)
+{
+ if (search->priv->region == NULL)
+ {
+ return;
+ }
+
+ if (!gtk_text_iter_starts_line (start))
+ {
+ gtk_text_iter_set_line_offset (start, 0);
+ }
+
+ if (!gtk_text_iter_ends_line (end))
+ {
+ gtk_text_iter_forward_to_line_end (end);
+ }
+
+ gtk_text_region_add (search->priv->region, start, end);
+
+ gtk_text_iter_backward_lines (start, search->priv->text_nb_lines);
+ gtk_text_iter_forward_lines (end, search->priv->text_nb_lines);
+
+ g_signal_emit_by_name (search->priv->buffer, "highlight-updated", start, end);
+}
+
+static void
update (GtkSourceSearch *search)
{
GtkTextIter start;
@@ -156,8 +184,7 @@ update (GtkSourceSearch *search)
search->priv->region = gtk_text_region_new (search->priv->buffer);
gtk_text_buffer_get_bounds (search->priv->buffer, &start, &end);
-
- gtk_text_region_add (search->priv->region, &start, &end);
+ add_subregion (search, &start, &end);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]