summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Catanzaro <mcatanzaro@igalia.com>2016-02-27 15:54:15 -0600
committerMichael Catanzaro <mcatanzaro@igalia.com>2016-02-27 15:54:15 -0600
commit0f11ee62e0c2d581b042026373a235a95be15e52 (patch)
tree140b0913c4abe5723f841f9fccce23263b728153
parent37efb51da3993ba7e0aae1d0aa5019a01a63aed7 (diff)
downloadepiphany-0f11ee62e0c2d581b042026373a235a95be15e52.tar.gz
completion-model: Use G_DECLARE_FINAL_TYPE
-rw-r--r--src/ephy-completion-model.c71
-rw-r--r--src/ephy-completion-model.h24
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);