[gnome-photos] view-model: Make it a final class
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos] view-model: Make it a final class
- Date: Sun, 14 Feb 2016 16:43:48 +0000 (UTC)
commit 5bbfc6820ffc7b5db72ea87b99aee0d94c3ad6f0
Author: Debarshi Ray <debarshir gnome org>
Date: Sun Feb 14 17:37:07 2016 +0100
view-model: Make it a final class
src/photos-view-model.c | 177 ++++++++++++++++++++++-------------------------
src/photos-view-model.h | 28 +-------
2 files changed, 84 insertions(+), 121 deletions(-)
---
diff --git a/src/photos-view-model.c b/src/photos-view-model.c
index 9f05c1f..09e9ae1 100644
--- a/src/photos-view-model.c
+++ b/src/photos-view-model.c
@@ -1,6 +1,6 @@
/*
* Photos - access, organize and share your photos on GNOME
- * Copyright © 2012, 2013, 2014, 2015 Red Hat, Inc.
+ * Copyright © 2012, 2013, 2014, 2015, 2016 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -43,8 +43,9 @@
#include "photos-view-model.h"
-struct _PhotosViewModelPrivate
+struct _PhotosViewModel
{
+ GtkListStore parent_instance;
GHashTable *info_updated_ids;
PhotosBaseManager *item_mngr;
PhotosModeController *mode_cntrlr;
@@ -57,6 +58,11 @@ struct _PhotosViewModelPrivate
guint reset_count_id;
};
+struct _PhotosViewModelClass
+{
+ GtkListStoreClass parent_class;
+};
+
enum
{
PROP_0,
@@ -64,7 +70,7 @@ enum
};
-G_DEFINE_TYPE_WITH_PRIVATE (PhotosViewModel, photos_view_model, GTK_TYPE_LIST_STORE);
+G_DEFINE_TYPE (PhotosViewModel, photos_view_model, GTK_TYPE_LIST_STORE);
enum
@@ -92,10 +98,9 @@ static gboolean
photos_view_model_reset_count_timeout (gpointer user_data)
{
PhotosViewModel *self = PHOTOS_VIEW_MODEL (user_data);
- PhotosViewModelPrivate *priv = self->priv;
- priv->reset_count_id = 0;
- photos_offset_controller_reset_count (priv->offset_cntrlr);
+ self->reset_count_id = 0;
+ photos_offset_controller_reset_count (self->offset_cntrlr);
return G_SOURCE_REMOVE;
}
@@ -103,17 +108,14 @@ photos_view_model_reset_count_timeout (gpointer user_data)
static void
photos_view_model_reset_count (PhotosViewModel *self)
{
- PhotosViewModelPrivate *priv = self->priv;
-
- if (priv->reset_count_id == 0)
- priv->reset_count_id = g_timeout_add (RESET_COUNT_TIMEOUT, photos_view_model_reset_count_timeout, self);
+ if (self->reset_count_id == 0)
+ self->reset_count_id = g_timeout_add (RESET_COUNT_TIMEOUT, photos_view_model_reset_count_timeout, self);
}
static void
photos_view_model_add_item (PhotosViewModel *self, PhotosBaseItem *item)
{
- PhotosViewModelPrivate *priv = self->priv;
GtkTreeIter iter;
GtkTreePath *path;
GtkTreeRowReference *row_ref;
@@ -127,25 +129,25 @@ photos_view_model_add_item (PhotosViewModel *self, PhotosBaseItem *item)
*/
photos_view_model_reset_count (self);
- offset = photos_offset_controller_get_offset (priv->offset_cntrlr);
- step = photos_offset_controller_get_step (priv->offset_cntrlr);
+ offset = photos_offset_controller_get_offset (self->offset_cntrlr);
+ step = photos_offset_controller_get_step (self->offset_cntrlr);
mtime = photos_base_item_get_mtime (item);
- if (priv->n_rows >= offset + step && mtime < priv->oldest_mtime)
+ if (self->n_rows >= offset + step && mtime < self->oldest_mtime)
return;
gtk_list_store_append (GTK_LIST_STORE (self), &iter);
photos_view_model_info_set (self, item, &iter);
- priv->n_rows++;
- if (mtime < priv->oldest_mtime)
- priv->oldest_mtime = mtime;
+ self->n_rows++;
+ if (mtime < self->oldest_mtime)
+ self->oldest_mtime = mtime;
path = gtk_tree_model_get_path (GTK_TREE_MODEL (self), &iter);
row_ref = gtk_tree_row_reference_new (GTK_TREE_MODEL (self), path);
gtk_tree_path_free (path);
g_object_set_data_full (G_OBJECT (item),
- self->priv->row_ref_key,
+ self->row_ref_key,
row_ref,
(GDestroyNotify) gtk_tree_row_reference_free);
}
@@ -154,22 +156,21 @@ photos_view_model_add_item (PhotosViewModel *self, PhotosBaseItem *item)
static void
photos_view_model_clear (PhotosViewModel *self)
{
- PhotosViewModelPrivate *priv = self->priv;
GHashTable *items;
GHashTableIter iter;
PhotosBaseItem *item;
- g_return_if_fail (priv->item_mngr != NULL);
+ g_return_if_fail (self->item_mngr != NULL);
- items = photos_base_manager_get_objects (priv->item_mngr);
+ items = photos_base_manager_get_objects (self->item_mngr);
g_hash_table_iter_init (&iter, items);
while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &item))
- g_object_set_data (G_OBJECT (item), priv->row_ref_key, NULL);
+ g_object_set_data (G_OBJECT (item), self->row_ref_key, NULL);
gtk_list_store_clear (GTK_LIST_STORE (self));
- priv->n_rows = 0;
- priv->oldest_mtime = G_MAXINT64;
+ self->n_rows = 0;
+ self->oldest_mtime = G_MAXINT64;
}
@@ -180,7 +181,6 @@ photos_view_model_item_removed_foreach (GtkTreeModel *model,
gpointer user_data)
{
PhotosViewModel *self = PHOTOS_VIEW_MODEL (model);
- PhotosViewModelPrivate *priv = self->priv;
PhotosBaseItem *item = PHOTOS_BASE_ITEM (user_data);
gboolean ret_val = FALSE;
const gchar *id;
@@ -200,10 +200,10 @@ photos_view_model_item_removed_foreach (GtkTreeModel *model,
gtk_list_store_remove (GTK_LIST_STORE (model), iter);
gtk_tree_path_next (path); /* Ensure that path in sync with iter. */
- priv->n_rows--;
+ self->n_rows--;
}
- else if (mtime < priv->oldest_mtime)
- priv->oldest_mtime = mtime;
+ else if (mtime < self->oldest_mtime)
+ self->oldest_mtime = mtime;
g_free (value);
return ret_val;
@@ -213,17 +213,15 @@ photos_view_model_item_removed_foreach (GtkTreeModel *model,
static void
photos_view_model_remove_item (PhotosViewModel *self, PhotosBaseItem *item)
{
- PhotosViewModelPrivate *priv = self->priv;
-
/* Update the count so that PhotosOffsetController has the correct
* values. Otherwise things like loading more items and "No
* Results" page will not work correctly.
*/
photos_view_model_reset_count (self);
- priv->oldest_mtime = G_MAXINT64;
+ self->oldest_mtime = G_MAXINT64;
gtk_tree_model_foreach (GTK_TREE_MODEL (self), photos_view_model_item_removed_foreach, item);
- g_object_set_data (G_OBJECT (item), priv->row_ref_key, NULL);
+ g_object_set_data (G_OBJECT (item), self->row_ref_key, NULL);
}
@@ -231,18 +229,17 @@ static void
photos_view_model_info_updated (PhotosBaseItem *item, gpointer user_data)
{
PhotosViewModel *self = PHOTOS_VIEW_MODEL (user_data);
- PhotosViewModelPrivate *priv = self->priv;
GtkTreeIter iter;
GtkTreePath *path;
GtkTreeRowReference *row_ref;
PhotosBaseItem *active_collection;
- g_return_if_fail (priv->item_mngr != NULL);
+ g_return_if_fail (self->item_mngr != NULL);
- active_collection = photos_item_manager_get_active_collection (PHOTOS_ITEM_MANAGER (priv->item_mngr));
- row_ref = (GtkTreeRowReference *) g_object_get_data (G_OBJECT (item), priv->row_ref_key);
+ active_collection = photos_item_manager_get_active_collection (PHOTOS_ITEM_MANAGER (self->item_mngr));
+ row_ref = (GtkTreeRowReference *) g_object_get_data (G_OBJECT (item), self->row_ref_key);
- if (priv->mode == PHOTOS_WINDOW_MODE_COLLECTIONS)
+ if (self->mode == PHOTOS_WINDOW_MODE_COLLECTIONS)
{
gboolean is_collection;
@@ -252,7 +249,7 @@ photos_view_model_info_updated (PhotosBaseItem *item, gpointer user_data)
else if (is_collection && row_ref == NULL && active_collection == NULL)
photos_view_model_add_item (self, item);
}
- else if (priv->mode == PHOTOS_WINDOW_MODE_FAVORITES)
+ else if (self->mode == PHOTOS_WINDOW_MODE_FAVORITES)
{
gboolean is_favorite;
@@ -262,7 +259,7 @@ photos_view_model_info_updated (PhotosBaseItem *item, gpointer user_data)
else if (is_favorite && row_ref == NULL && active_collection == NULL)
photos_view_model_add_item (self, item);
}
- else if (priv->mode == PHOTOS_WINDOW_MODE_OVERVIEW)
+ else if (self->mode == PHOTOS_WINDOW_MODE_OVERVIEW)
{
gboolean is_collection;
@@ -273,7 +270,7 @@ photos_view_model_info_updated (PhotosBaseItem *item, gpointer user_data)
photos_view_model_add_item (self, item);
}
- row_ref = (GtkTreeRowReference *) g_object_get_data (G_OBJECT (item), priv->row_ref_key);
+ row_ref = (GtkTreeRowReference *) g_object_get_data (G_OBJECT (item), self->row_ref_key);
if (row_ref != NULL)
{
path = gtk_tree_row_reference_get_path (row_ref);
@@ -291,7 +288,6 @@ static void
photos_view_model_object_added (PhotosViewModel *self, GObject *object)
{
PhotosBaseItem *item = PHOTOS_BASE_ITEM (object);
- PhotosViewModelPrivate *priv = self->priv;
PhotosBaseItem *active_collection;
PhotosWindowMode mode;
GtkTreeRowReference *row_ref;
@@ -301,32 +297,32 @@ photos_view_model_object_added (PhotosViewModel *self, GObject *object)
gpointer data;
guint info_updated_id;
- g_return_if_fail (priv->item_mngr != NULL);
- g_return_if_fail (priv->mode_cntrlr != NULL);
+ g_return_if_fail (self->item_mngr != NULL);
+ g_return_if_fail (self->mode_cntrlr != NULL);
- row_ref = (GtkTreeRowReference *) g_object_get_data (G_OBJECT (item), priv->row_ref_key);
+ row_ref = (GtkTreeRowReference *) g_object_get_data (G_OBJECT (item), self->row_ref_key);
if (row_ref != NULL)
return;
id = photos_filterable_get_id (PHOTOS_FILTERABLE (item));
- data = g_hash_table_lookup (priv->info_updated_ids, id);
+ data = g_hash_table_lookup (self->info_updated_ids, id);
if (data != NULL)
{
info_updated_id = GPOINTER_TO_UINT (data);
g_signal_handler_disconnect (item, (gulong) info_updated_id);
- g_hash_table_remove (priv->info_updated_ids, id);
+ g_hash_table_remove (self->info_updated_ids, id);
}
- active_collection = photos_item_manager_get_active_collection (PHOTOS_ITEM_MANAGER (priv->item_mngr));
+ active_collection = photos_item_manager_get_active_collection (PHOTOS_ITEM_MANAGER (self->item_mngr));
is_collection = photos_base_item_is_collection (item);
is_favorite = photos_base_item_is_favorite (item);
- mode = photos_mode_controller_get_window_mode (priv->mode_cntrlr);
+ mode = photos_mode_controller_get_window_mode (self->mode_cntrlr);
- if (active_collection == NULL || priv->mode != mode)
+ if (active_collection == NULL || self->mode != mode)
{
- if ((priv->mode == PHOTOS_WINDOW_MODE_COLLECTIONS && !is_collection)
- || (priv->mode == PHOTOS_WINDOW_MODE_FAVORITES && !is_favorite)
- || (priv->mode == PHOTOS_WINDOW_MODE_OVERVIEW && is_collection))
+ if ((self->mode == PHOTOS_WINDOW_MODE_COLLECTIONS && !is_collection)
+ || (self->mode == PHOTOS_WINDOW_MODE_FAVORITES && !is_favorite)
+ || (self->mode == PHOTOS_WINDOW_MODE_OVERVIEW && is_collection))
goto out;
}
@@ -338,14 +334,13 @@ photos_view_model_object_added (PhotosViewModel *self, GObject *object)
G_CALLBACK (photos_view_model_info_updated),
self,
0);
- g_hash_table_insert (priv->info_updated_ids, g_strdup (id), GUINT_TO_POINTER (info_updated_id));
+ g_hash_table_insert (self->info_updated_ids, g_strdup (id), GUINT_TO_POINTER (info_updated_id));
}
static void
photos_view_model_object_removed (PhotosViewModel *self, GObject *object)
{
- PhotosViewModelPrivate *priv = self->priv;
PhotosBaseItem *item = PHOTOS_BASE_ITEM (object);
const gchar *id;
gpointer data;
@@ -354,13 +349,13 @@ photos_view_model_object_removed (PhotosViewModel *self, GObject *object)
photos_view_model_remove_item (self, item);
id = photos_filterable_get_id (PHOTOS_FILTERABLE (item));
- data = g_hash_table_lookup (priv->info_updated_ids, id);
+ data = g_hash_table_lookup (self->info_updated_ids, id);
g_return_if_fail (data != NULL);
info_updated_id = GPOINTER_TO_UINT (data);
g_signal_handler_disconnect (item, (gulong) info_updated_id);
- g_hash_table_remove (priv->info_updated_ids, id);
+ g_hash_table_remove (self->info_updated_ids, id);
}
@@ -378,30 +373,29 @@ static void
photos_view_model_constructed (GObject *object)
{
PhotosViewModel *self = PHOTOS_VIEW_MODEL (object);
- PhotosViewModelPrivate *priv = self->priv;
G_OBJECT_CLASS (photos_view_model_parent_class)->constructed (object);
- switch (priv->mode)
+ switch (self->mode)
{
case PHOTOS_WINDOW_MODE_COLLECTIONS:
- priv->offset_cntrlr = photos_offset_collections_controller_dup_singleton ();
- priv->trk_cntrlr = photos_tracker_collections_controller_dup_singleton ();
+ self->offset_cntrlr = photos_offset_collections_controller_dup_singleton ();
+ self->trk_cntrlr = photos_tracker_collections_controller_dup_singleton ();
break;
case PHOTOS_WINDOW_MODE_FAVORITES:
- priv->offset_cntrlr = photos_offset_favorites_controller_dup_singleton ();
- priv->trk_cntrlr = photos_tracker_favorites_controller_dup_singleton ();
+ self->offset_cntrlr = photos_offset_favorites_controller_dup_singleton ();
+ self->trk_cntrlr = photos_tracker_favorites_controller_dup_singleton ();
break;
case PHOTOS_WINDOW_MODE_OVERVIEW:
- priv->offset_cntrlr = photos_offset_overview_controller_dup_singleton ();
- priv->trk_cntrlr = photos_tracker_overview_controller_dup_singleton ();
+ self->offset_cntrlr = photos_offset_overview_controller_dup_singleton ();
+ self->trk_cntrlr = photos_tracker_overview_controller_dup_singleton ();
break;
case PHOTOS_WINDOW_MODE_SEARCH:
- priv->offset_cntrlr = photos_offset_search_controller_dup_singleton ();
- priv->trk_cntrlr = photos_tracker_search_controller_dup_singleton ();
+ self->offset_cntrlr = photos_offset_search_controller_dup_singleton ();
+ self->trk_cntrlr = photos_tracker_search_controller_dup_singleton ();
break;
case PHOTOS_WINDOW_MODE_NONE:
@@ -412,18 +406,18 @@ photos_view_model_constructed (GObject *object)
break;
}
- g_signal_connect_object (priv->item_mngr,
+ g_signal_connect_object (self->item_mngr,
"object-added",
G_CALLBACK (photos_view_model_object_added),
self,
G_CONNECT_SWAPPED);
- g_signal_connect_object (priv->item_mngr,
+ g_signal_connect_object (self->item_mngr,
"object-removed",
G_CALLBACK (photos_view_model_object_removed),
self,
G_CONNECT_SWAPPED);
- g_signal_connect_object (priv->trk_cntrlr,
+ g_signal_connect_object (self->trk_cntrlr,
"query-status-changed",
G_CALLBACK (photos_view_model_query_status_changed),
self,
@@ -435,16 +429,15 @@ static void
photos_view_model_dispose (GObject *object)
{
PhotosViewModel *self = PHOTOS_VIEW_MODEL (object);
- PhotosViewModelPrivate *priv = self->priv;
- if (priv->reset_count_id != 0)
+ if (self->reset_count_id != 0)
{
- g_source_remove (priv->reset_count_id);
- priv->reset_count_id = 0;
+ g_source_remove (self->reset_count_id);
+ self->reset_count_id = 0;
}
- g_clear_object (&priv->offset_cntrlr);
- g_clear_object (&priv->trk_cntrlr);
+ g_clear_object (&self->offset_cntrlr);
+ g_clear_object (&self->trk_cntrlr);
G_OBJECT_CLASS (photos_view_model_parent_class)->dispose (object);
}
@@ -454,16 +447,15 @@ static void
photos_view_model_finalize (GObject *object)
{
PhotosViewModel *self = PHOTOS_VIEW_MODEL (object);
- PhotosViewModelPrivate *priv = self->priv;
- if (priv->item_mngr != NULL)
- g_object_remove_weak_pointer (G_OBJECT (priv->item_mngr), (gpointer *) &priv->item_mngr);
+ if (self->item_mngr != NULL)
+ g_object_remove_weak_pointer (G_OBJECT (self->item_mngr), (gpointer *) &self->item_mngr);
- if (priv->mode_cntrlr != NULL)
- g_object_remove_weak_pointer (G_OBJECT (priv->mode_cntrlr), (gpointer *) &priv->mode_cntrlr);
+ if (self->mode_cntrlr != NULL)
+ g_object_remove_weak_pointer (G_OBJECT (self->mode_cntrlr), (gpointer *) &self->mode_cntrlr);
- g_hash_table_unref (priv->info_updated_ids);
- g_free (priv->row_ref_key);
+ g_hash_table_unref (self->info_updated_ids);
+ g_free (self->row_ref_key);
G_OBJECT_CLASS (photos_view_model_parent_class)->finalize (object);
}
@@ -473,13 +465,12 @@ static void
photos_view_model_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
PhotosViewModel *self = PHOTOS_VIEW_MODEL (object);
- PhotosViewModelPrivate *priv = self->priv;
switch (prop_id)
{
case PROP_MODE:
- priv->mode = (PhotosWindowMode) g_value_get_enum (value);
- priv->row_ref_key = g_strdup_printf ("row-ref-%d", priv->mode);
+ self->mode = (PhotosWindowMode) g_value_get_enum (value);
+ self->row_ref_key = g_strdup_printf ("row-ref-%d", self->mode);
break;
default:
@@ -492,7 +483,6 @@ photos_view_model_set_property (GObject *object, guint prop_id, const GValue *va
static void
photos_view_model_init (PhotosViewModel *self)
{
- PhotosViewModelPrivate *priv;
GApplication *app;
GType columns[] = {G_TYPE_STRING, /* URN */
G_TYPE_STRING, /* URI */
@@ -504,24 +494,21 @@ photos_view_model_init (PhotosViewModel *self)
G_TYPE_UINT}; /* PULSE (unused) */
PhotosSearchContextState *state;
- self->priv = photos_view_model_get_instance_private (self);
- priv = self->priv;
-
app = g_application_get_default ();
state = photos_search_context_get_state (PHOTOS_SEARCH_CONTEXT (app));
gtk_list_store_set_column_types (GTK_LIST_STORE (self), G_N_ELEMENTS (columns), columns);
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (self), PHOTOS_VIEW_MODEL_MTIME,
GTK_SORT_DESCENDING);
- priv->info_updated_ids = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+ self->info_updated_ids = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
- priv->item_mngr = state->item_mngr;
- g_object_add_weak_pointer (G_OBJECT (priv->item_mngr), (gpointer *) &priv->item_mngr);
+ self->item_mngr = state->item_mngr;
+ g_object_add_weak_pointer (G_OBJECT (self->item_mngr), (gpointer *) &self->item_mngr);
- priv->mode_cntrlr = state->mode_cntrlr;
- g_object_add_weak_pointer (G_OBJECT (priv->mode_cntrlr), (gpointer *) &priv->mode_cntrlr);
+ self->mode_cntrlr = state->mode_cntrlr;
+ g_object_add_weak_pointer (G_OBJECT (self->mode_cntrlr), (gpointer *) &self->mode_cntrlr);
- priv->oldest_mtime = G_MAXINT64;
+ self->oldest_mtime = G_MAXINT64;
}
diff --git a/src/photos-view-model.h b/src/photos-view-model.h
index 76e216b..4d7045e 100644
--- a/src/photos-view-model.h
+++ b/src/photos-view-model.h
@@ -38,22 +38,10 @@ G_BEGIN_DECLS
(G_TYPE_CHECK_INSTANCE_CAST ((obj), \
PHOTOS_TYPE_VIEW_MODEL, PhotosViewModel))
-#define PHOTOS_VIEW_MODEL_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), \
- PHOTOS_TYPE_VIEW_MODEL, PhotosViewModelClass))
-
#define PHOTOS_IS_VIEW_MODEL(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
PHOTOS_TYPE_VIEW_MODEL))
-#define PHOTOS_IS_VIEW_MODEL_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), \
- PHOTOS_TYPE_VIEW_MODEL))
-
-#define PHOTOS_VIEW_MODEL_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), \
- PHOTOS_TYPE_VIEW_MODEL, PhotosViewModelClass))
-
typedef enum
{
PHOTOS_VIEW_MODEL_URN,
@@ -66,20 +54,8 @@ typedef enum
PHOTOS_VIEW_MODEL_PULSE /* unused */
} PhotosViewModelColumns;
-typedef struct _PhotosViewModel PhotosViewModel;
-typedef struct _PhotosViewModelClass PhotosViewModelClass;
-typedef struct _PhotosViewModelPrivate PhotosViewModelPrivate;
-
-struct _PhotosViewModel
-{
- GtkListStore parent_instance;
- PhotosViewModelPrivate *priv;
-};
-
-struct _PhotosViewModelClass
-{
- GtkListStoreClass parent_class;
-};
+typedef struct _PhotosViewModel PhotosViewModel;
+typedef struct _PhotosViewModelClass PhotosViewModelClass;
GType photos_view_model_get_type (void) G_GNUC_CONST;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]