[gtksourceview/wip/search] Add the GtkSourceBuffer:search-occurrences-count property
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview/wip/search] Add the GtkSourceBuffer:search-occurrences-count property
- Date: Thu, 20 Jun 2013 08:44:16 +0000 (UTC)
commit ff828ec35743e79dff428a84ffee71d409011261
Author: Sébastien Wilmet <swilmet gnome org>
Date: Thu Jun 20 10:04:01 2013 +0200
Add the GtkSourceBuffer:search-occurrences-count property
Not already implemented.
gtksourceview/gtksourcebuffer.c | 25 ++++++++++++++++++++++++-
gtksourceview/gtksourcesearch.c | 12 ++++++++++++
gtksourceview/gtksourcesearch.h | 26 ++++++++++++++------------
3 files changed, 50 insertions(+), 13 deletions(-)
---
diff --git a/gtksourceview/gtksourcebuffer.c b/gtksourceview/gtksourcebuffer.c
index 57e3eff..d096640 100644
--- a/gtksourceview/gtksourcebuffer.c
+++ b/gtksourceview/gtksourcebuffer.c
@@ -123,7 +123,8 @@ enum {
PROP_STYLE_SCHEME,
PROP_UNDO_MANAGER,
PROP_SEARCH_TEXT,
- PROP_SEARCH_FLAGS
+ PROP_SEARCH_FLAGS,
+ PROP_SEARCH_OCCURRENCES_COUNT
};
struct _GtkSourceBufferPrivate
@@ -371,6 +372,24 @@ gtk_source_buffer_class_init (GtkSourceBufferClass *klass)
GTK_TEXT_SEARCH_VISIBLE_ONLY |
GTK_TEXT_SEARCH_TEXT_ONLY,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
+ /**
+ * GtkSourceBuffer:search-occurrences-count:
+ *
+ * The total number of search occurrences. If the search is disabled,
+ * the value is 0.
+ *
+ * Since: 3.10
+ */
+ g_object_class_install_property (object_class,
+ PROP_SEARCH_OCCURRENCES_COUNT,
+ g_param_spec_uint ("search-occurrences-count",
+ _("Search occurrences count"),
+ _("Total number of search occurrences"),
+ 0,
+ G_MAXUINT,
+ 0,
+ G_PARAM_READABLE));
+
param_types[0] = GTK_TYPE_TEXT_ITER | G_SIGNAL_TYPE_STATIC_SCOPE;
param_types[1] = GTK_TYPE_TEXT_ITER | G_SIGNAL_TYPE_STATIC_SCOPE;
@@ -678,6 +697,10 @@ gtk_source_buffer_get_property (GObject *object,
g_value_set_flags (value, _gtk_source_search_get_flags (source_buffer->priv->search));
break;
+ case PROP_SEARCH_OCCURRENCES_COUNT:
+ g_value_set_uint (value, _gtk_source_search_get_occurrences_count
(source_buffer->priv->search));
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
diff --git a/gtksourceview/gtksourcesearch.c b/gtksourceview/gtksourcesearch.c
index 7aa2beb..8b74c84 100644
--- a/gtksourceview/gtksourcesearch.c
+++ b/gtksourceview/gtksourcesearch.c
@@ -47,6 +47,8 @@ struct _GtkSourceSearchPrivate
GtkTextRegion *region_to_highlight;
gulong idle_highlight_id;
+ guint occurrences_count;
+
GtkTextTag *found_tag;
};
@@ -153,6 +155,8 @@ clear_search (GtkSourceSearch *search)
&start,
&end);
}
+
+ search->priv->occurrences_count = 0;
}
static void
@@ -574,3 +578,11 @@ _gtk_source_search_update_highlight (GtkSourceSearch *search,
}
}
}
+
+guint
+_gtk_source_search_get_occurrences_count (GtkSourceSearch *search)
+{
+ g_return_val_if_fail (GTK_SOURCE_IS_SEARCH (search), 0);
+
+ return search->priv->occurrences_count;
+}
diff --git a/gtksourceview/gtksourcesearch.h b/gtksourceview/gtksourcesearch.h
index 4a6e45d..d3ae820 100644
--- a/gtksourceview/gtksourcesearch.h
+++ b/gtksourceview/gtksourcesearch.h
@@ -51,30 +51,32 @@ struct _GtkSourceSearchClass
};
G_GNUC_INTERNAL
-GType _gtk_source_search_get_type (void) G_GNUC_CONST;
+GType _gtk_source_search_get_type (void) G_GNUC_CONST;
G_GNUC_INTERNAL
-GtkSourceSearch * _gtk_source_search_new (GtkSourceBuffer *buffer);
+GtkSourceSearch * _gtk_source_search_new (GtkSourceBuffer *buffer);
G_GNUC_INTERNAL
-void _gtk_source_search_set_text (GtkSourceSearch *search,
- const gchar *text);
+void _gtk_source_search_set_text (GtkSourceSearch *search,
+ const gchar *text);
G_GNUC_INTERNAL
-const gchar * _gtk_source_search_get_text (GtkSourceSearch *search);
+const gchar * _gtk_source_search_get_text (GtkSourceSearch *search);
G_GNUC_INTERNAL
-void _gtk_source_search_set_flags (GtkSourceSearch *search,
- GtkTextSearchFlags flags);
+void _gtk_source_search_set_flags (GtkSourceSearch *search,
+ GtkTextSearchFlags flags);
G_GNUC_INTERNAL
-GtkTextSearchFlags _gtk_source_search_get_flags (GtkSourceSearch *search);
+GtkTextSearchFlags _gtk_source_search_get_flags (GtkSourceSearch *search);
G_GNUC_INTERNAL
-void _gtk_source_search_update_highlight (GtkSourceSearch *search,
- const GtkTextIter *start,
- const GtkTextIter *end,
- gboolean synchronous);
+void _gtk_source_search_update_highlight (GtkSourceSearch *search,
+ const GtkTextIter *start,
+ const GtkTextIter *end,
+ gboolean synchronous);
+
+guint _gtk_source_search_get_occurrences_count (GtkSourceSearch *search);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]