diff options
author | Michael Catanzaro <mcatanzaro@igalia.com> | 2016-02-27 15:54:15 -0600 |
---|---|---|
committer | Michael Catanzaro <mcatanzaro@igalia.com> | 2016-02-27 15:54:15 -0600 |
commit | 0f11ee62e0c2d581b042026373a235a95be15e52 (patch) | |
tree | 140b0913c4abe5723f841f9fccce23263b728153 | |
parent | 37efb51da3993ba7e0aae1d0aa5019a01a63aed7 (diff) | |
download | epiphany-0f11ee62e0c2d581b042026373a235a95be15e52.tar.gz |
completion-model: Use G_DECLARE_FINAL_TYPE
-rw-r--r-- | src/ephy-completion-model.c | 71 | ||||
-rw-r--r-- | src/ephy-completion-model.h | 24 |
2 files changed, 33 insertions, 62 deletions
diff --git a/src/ephy-completion-model.c b/src/ephy-completion-model.c index 5b8b1d3d7..6c0ebcde0 100644 --- a/src/ephy-completion-model.c +++ b/src/ephy-completion-model.c @@ -35,13 +35,9 @@ enum { LAST_PROP }; -static GParamSpec *obj_properties[LAST_PROP]; - -G_DEFINE_TYPE (EphyCompletionModel, ephy_completion_model, GTK_TYPE_LIST_STORE) +struct _EphyCompletionModel { + GtkListStore parent_instance; -#define EPHY_COMPLETION_MODEL_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_COMPLETION_MODEL, EphyCompletionModelPrivate)) - -struct _EphyCompletionModelPrivate { EphyHistoryService *history_service; GCancellable *cancellable; @@ -50,6 +46,10 @@ struct _EphyCompletionModelPrivate { GSList *search_terms; }; +static GParamSpec *obj_properties[LAST_PROP]; + +G_DEFINE_TYPE (EphyCompletionModel, ephy_completion_model, GTK_TYPE_LIST_STORE) + static void ephy_completion_model_constructed (GObject *object) { @@ -80,13 +80,13 @@ ephy_completion_model_set_property (GObject *object, guint property_id, const GV switch (property_id) { case PROP_HISTORY_SERVICE: - self->priv->history_service = EPHY_HISTORY_SERVICE (g_value_get_pointer (value)); + self->history_service = EPHY_HISTORY_SERVICE (g_value_get_pointer (value)); break; case PROP_BOOKMARKS: { EphyBookmarks *bookmarks = EPHY_BOOKMARKS (g_value_get_pointer (value)); - self->priv->bookmarks = ephy_bookmarks_get_bookmarks (bookmarks); - self->priv->smart_bookmarks = ephy_bookmarks_get_smart_bookmarks (bookmarks); + self->bookmarks = ephy_bookmarks_get_bookmarks (bookmarks); + self->smart_bookmarks = ephy_bookmarks_get_smart_bookmarks (bookmarks); } break; default: @@ -98,16 +98,16 @@ ephy_completion_model_set_property (GObject *object, guint property_id, const GV static void ephy_completion_model_finalize (GObject *object) { - EphyCompletionModelPrivate *priv = EPHY_COMPLETION_MODEL (object)->priv; + EphyCompletionModel *model = EPHY_COMPLETION_MODEL (object); - if (priv->search_terms) { - free_search_terms (priv->search_terms); - priv->search_terms = NULL; + if (model->search_terms) { + free_search_terms (model->search_terms); + model->search_terms = NULL; } - if (priv->cancellable) { - g_cancellable_cancel (priv->cancellable); - g_clear_object (&priv->cancellable); + if (model->cancellable) { + g_cancellable_cancel (model->cancellable); + g_clear_object (&model->cancellable); } G_OBJECT_CLASS (ephy_completion_model_parent_class)->finalize (object); @@ -135,14 +135,11 @@ ephy_completion_model_class_init (EphyCompletionModelClass *klass) G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_STATIC_STRINGS); g_object_class_install_properties (object_class, LAST_PROP, obj_properties); - - g_type_class_add_private (object_class, sizeof (EphyCompletionModelPrivate)); } static void ephy_completion_model_init (EphyCompletionModel *model) { - model->priv = EPHY_COMPLETION_MODEL_GET_PRIVATE (model); } static gboolean @@ -299,13 +296,12 @@ should_add_bookmark_to_model (EphyCompletionModel *model, const char *keywords) { gboolean ret = TRUE; - EphyCompletionModelPrivate *priv = model->priv; - if (priv->search_terms) { + if (model->search_terms) { GSList *iter; GRegex *current = NULL; - for (iter = priv->search_terms; iter != NULL; iter = iter->next) { + for (iter = model->search_terms; iter != NULL; iter = iter->next) { current = (GRegex*)iter->data; if ((!g_regex_match (current, title ? title : "", G_REGEX_MATCH_NOTEMPTY, NULL)) && (!g_regex_match (current, location ? location : "", G_REGEX_MATCH_NOTEMPTY, NULL)) && @@ -413,14 +409,13 @@ query_completed_cb (EphyHistoryService *service, FindURLsData *user_data) { EphyCompletionModel *model = user_data->model; - EphyCompletionModelPrivate *priv = model->priv; GList *p, *urls; GPtrArray *children; GSList *list = NULL; guint i; /* Bookmarks */ - children = ephy_node_get_children (priv->bookmarks); + children = ephy_node_get_children (model->bookmarks); /* FIXME: perhaps this could be done in a service thread? There * should never be a ton of bookmarks, but seems a bit cleaner and @@ -434,7 +429,7 @@ query_completed_cb (EphyHistoryService *service, location = ephy_node_get_property_string (kid, EPHY_NODE_BMK_PROP_LOCATION); title = ephy_node_get_property_string (kid, EPHY_NODE_BMK_PROP_TITLE); keywords = ephy_node_get_property_string (kid, EPHY_NODE_BMK_PROP_KEYWORDS); - is_smart = ephy_node_has_child (priv->smart_bookmarks, kid); + is_smart = ephy_node_has_child (model->smart_bookmarks, kid); /* Smart bookmarks are already added to the completion menu as completion actions */ if (!is_smart && should_add_bookmark_to_model (model, user_data->search_string, @@ -466,7 +461,7 @@ query_completed_cb (EphyHistoryService *service, g_slice_free (FindURLsData, user_data); g_list_free_full (urls, (GDestroyNotify)ephy_history_url_free); g_slist_free_full (list, (GDestroyNotify)free_potential_row); - g_clear_object (&priv->cancellable); + g_clear_object (&model->cancellable); } static void @@ -481,11 +476,10 @@ update_search_terms (EphyCompletionModel *model, GRegex *quote_regex; gint count; gboolean inside_quotes = FALSE; - EphyCompletionModelPrivate *priv = model->priv; - if (priv->search_terms) { - free_search_terms (priv->search_terms); - priv->search_terms = NULL; + if (model->search_terms) { + free_search_terms (model->search_terms); + model->search_terms = NULL; } quote_regex = g_regex_new ("\"", G_REGEX_OPTIMIZE, @@ -537,7 +531,7 @@ update_search_terms (EphyCompletionModel *model, term_regex = g_regex_new (term, G_REGEX_CASELESS | G_REGEX_OPTIMIZE, G_REGEX_MATCH_NOTEMPTY, NULL); - priv->search_terms = g_slist_append (priv->search_terms, term_regex); + model->search_terms = g_slist_append (model->search_terms, term_regex); } g_free (term); @@ -558,7 +552,6 @@ ephy_completion_model_update_for_string (EphyCompletionModel *model, EphyHistoryJobCallback callback, gpointer data) { - EphyCompletionModelPrivate *priv; char **strings; int i; GList *query = NULL; @@ -567,8 +560,6 @@ ephy_completion_model_update_for_string (EphyCompletionModel *model, g_return_if_fail (EPHY_IS_COMPLETION_MODEL (model)); g_return_if_fail (search_string != NULL); - priv = model->priv; - /* Split the search string. */ strings = g_strsplit (search_string, " ", -1); for (i = 0; strings[i]; i++) @@ -583,18 +574,18 @@ ephy_completion_model_update_for_string (EphyCompletionModel *model, user_data->callback = callback; user_data->user_data = data; - if (priv->cancellable) { - g_cancellable_cancel (priv->cancellable); - g_object_unref (priv->cancellable); + if (model->cancellable) { + g_cancellable_cancel (model->cancellable); + g_object_unref (model->cancellable); } - priv->cancellable = g_cancellable_new (); + model->cancellable = g_cancellable_new (); - ephy_history_service_find_urls (priv->history_service, + ephy_history_service_find_urls (model->history_service, 0, 0, MAX_COMPLETION_HISTORY_URLS, 0, query, EPHY_HISTORY_SORT_MOST_VISITED, - priv->cancellable, + model->cancellable, (EphyHistoryJobCallback)query_completed_cb, user_data); } diff --git a/src/ephy-completion-model.h b/src/ephy-completion-model.h index 9fcbc3045..f07a85200 100644 --- a/src/ephy-completion-model.h +++ b/src/ephy-completion-model.h @@ -25,14 +25,9 @@ G_BEGIN_DECLS -#define EPHY_TYPE_COMPLETION_MODEL (ephy_completion_model_get_type ()) -#define EPHY_COMPLETION_MODEL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EPHY_TYPE_COMPLETION_MODEL, EphyCompletionModel)) -#define EPHY_COMPLETION_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EPHY_TYPE_COMPLETION_MODEL, EphyCompletionModelClass)) -#define EPHY_IS_COMPLETION_MODEL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EPHY_TYPE_COMPLETION_MODEL)) -#define EPHY_IS_COMPLETION_MODEL_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_COMPLETION_MODEL)) -#define EPHY_COMPLETION_MODEL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EPHY_TYPE_COMPLETION_MODEL, EphyCompletionModelClass)) +#define EPHY_TYPE_COMPLETION_MODEL (ephy_completion_model_get_type ()) -typedef struct _EphyCompletionModelPrivate EphyCompletionModelPrivate; +G_DECLARE_FINAL_TYPE (EphyCompletionModel, ephy_completion_model, EPHY, COMPLETION_MODEL, GtkListStore) typedef enum { @@ -46,21 +41,6 @@ typedef enum N_COL } EphyCompletionColumn; -typedef struct -{ - GtkListStore parent; - - /*< private >*/ - EphyCompletionModelPrivate *priv; -} EphyCompletionModel; - -typedef struct -{ - GtkListStoreClass parent; -} EphyCompletionModelClass; - -GType ephy_completion_model_get_type (void); - EphyCompletionModel *ephy_completion_model_new (EphyHistoryService *history_service, EphyBookmarks *bookmarks); |