[gnome-photos/wip/rishi/resource-urn] Don't duplicate the URN of the nie:DataSource in each BaseItem
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos/wip/rishi/resource-urn] Don't duplicate the URN of the nie:DataSource in each BaseItem
- Date: Mon, 11 Jul 2016 08:41:04 +0000 (UTC)
commit 0d7bdf79dad334d91eea70071c6f8278c5b39d58
Author: Debarshi Ray <debarshir gnome org>
Date: Sat Jul 2 01:57:11 2016 +0200
Don't duplicate the URN of the nie:DataSource in each BaseItem
Usually we will have a large number of BaseItems pointing to a small
number of nie:DataSources. This means that there will be several
copies of a handful of strings. Memory is fragmented and wasted.
Most of the time we want the online Source of the BaseItem, if any,
and not the nie:DataSource's URN. It is unnecessary work to go via the
SourceManager to resolve the URN. In case, we do need the URN, we can
just use the Source's ID.
Therefore, let's just keep a reference to the Source if the URN points
to an online nie:DataSource. Otherwise, use a GQuark to track the URN
itself.
src/photos-base-item.c | 47 +++++++++++++++++++++++++++++++-
src/photos-base-item.h | 4 +++
src/photos-facebook-item.c | 36 +++---------------------
src/photos-flickr-item.c | 35 +++---------------------
src/photos-google-item.c | 32 +++-------------------
src/photos-media-server-item.c | 27 +-----------------
src/photos-organize-collection-view.c | 7 +----
src/photos-utils.c | 6 +---
src/photos-utils.h | 3 +-
9 files changed, 68 insertions(+), 129 deletions(-)
---
diff --git a/src/photos-base-item.c b/src/photos-base-item.c
index ff01736..14310ea 100644
--- a/src/photos-base-item.c
+++ b/src/photos-base-item.c
@@ -41,6 +41,7 @@
#include "photos-application.h"
#include "photos-base-item.h"
+#include "photos-base-manager.h"
#include "photos-collection-icon-watcher.h"
#include "photos-debug.h"
#include "photos-delete-item-job.h"
@@ -74,9 +75,12 @@ struct _PhotosBaseItemPrivate
GQuark equipment;
GQuark flash;
GQuark orientation;
+ GQuark resource_urn;
+ PhotosBaseManager *src_mngr;
PhotosCollectionIconWatcher *watcher;
PhotosPipeline *pipeline;
PhotosSelectionController *sel_cntrlr;
+ PhotosSource *source;
TrackerSparqlCursor *cursor;
gboolean collection;
gboolean failed_thumbnailing;
@@ -90,7 +94,6 @@ struct _PhotosBaseItemPrivate
gchar *name;
gchar *name_fallback;
gchar *rdf_type;
- gchar *resource_urn;
gchar *thumb_path;
gchar *type_description;
gchar *uri;
@@ -1543,6 +1546,20 @@ photos_base_item_populate_from_cursor (PhotosBaseItem *self, TrackerSparqlCursor
resource_urn = tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_RESOURCE_URN, NULL);
photos_utils_set_string (&priv->resource_urn, resource_urn);
+ resource_urn = tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_RESOURCE_URN, NULL);
+ if (resource_urn != NULL && g_str_has_prefix (resource_urn, "gd:goa-account:"))
+ {
+ PhotosSource *source;
+
+ source = PHOTOS_SOURCE (photos_base_manager_get_object_by_id (priv->src_mngr, resource_urn));
+ if (G_UNLIKELY (source == NULL))
+ g_warning ("Unable to find a source for %s", resource_urn);
+ else
+ g_set_object (&priv->source, source);
+ }
+ else
+ priv->resource_urn = g_quark_from_string (resource_urn);
+
favorite = tracker_sparql_cursor_get_boolean (cursor, PHOTOS_QUERY_COLUMNS_RESOURCE_FAVORITE);
mtime = tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_MTIME, NULL);
@@ -1684,9 +1701,11 @@ photos_base_item_dispose (GObject *object)
g_clear_object (&priv->load_graph);
g_clear_object (&priv->processor);
g_clear_object (&priv->original_icon);
+ g_clear_object (&priv->src_mngr);
g_clear_object (&priv->watcher);
g_clear_object (&priv->pipeline);
g_clear_object (&priv->sel_cntrlr);
+ g_clear_object (&priv->source);
g_clear_object (&priv->cursor);
G_OBJECT_CLASS (photos_base_item_parent_class)->dispose (object);
@@ -1765,15 +1784,21 @@ static void
photos_base_item_init (PhotosBaseItem *self)
{
PhotosBaseItemPrivate *priv;
+ GApplication *app;
+ PhotosSearchContextState *state;
self->priv = photos_base_item_get_instance_private (self);
priv = self->priv;
+ app = g_application_get_default ();
+ state = photos_search_context_get_state (PHOTOS_SEARCH_CONTEXT (app));
+
priv->cancellable = g_cancellable_new ();
g_mutex_init (&priv->mutex_download);
g_mutex_init (&priv->mutex);
+ priv->src_mngr = g_object_ref (state->src_mngr);
priv->sel_cntrlr = photos_selection_controller_dup_singleton ();
}
@@ -2226,8 +2251,26 @@ photos_base_item_get_original_icon (PhotosBaseItem *self)
const gchar *
photos_base_item_get_resource_urn (PhotosBaseItem *self)
{
+ PhotosBaseItemPrivate *priv;
+ const gchar *resource_urn;
+
+ g_return_val_if_fail (PHOTOS_IS_BASE_ITEM (self), NULL);
+ priv = self->priv;
+
+ if (priv->source != NULL)
+ resource_urn = photos_filterable_get_id (PHOTOS_FILTERABLE (self->priv->source));
+ else
+ resource_urn = g_quark_to_string (priv->resource_urn);
+
+ return resource_urn;
+}
+
+
+PhotosSource *
+photos_base_item_get_source (PhotosBaseItem *self)
+{
g_return_val_if_fail (PHOTOS_IS_BASE_ITEM (self), NULL);
- return self->priv->resource_urn;
+ return self->priv->source;
}
diff --git a/src/photos-base-item.h b/src/photos-base-item.h
index 86593a4..a7e174b 100644
--- a/src/photos-base-item.h
+++ b/src/photos-base-item.h
@@ -32,6 +32,8 @@
#include <glib-object.h>
#include <gtk/gtk.h>
+#include "photos-source.h"
+
G_BEGIN_DECLS
#define PHOTOS_TYPE_BASE_ITEM (photos_base_item_get_type ())
@@ -157,6 +159,8 @@ GdkPixbuf *photos_base_item_get_original_icon (PhotosBaseItem *se
const gchar *photos_base_item_get_resource_urn (PhotosBaseItem *self);
+PhotosSource *photos_base_item_get_source (PhotosBaseItem *self);
+
GtkWidget *photos_base_item_get_source_widget (PhotosBaseItem *self);
cairo_surface_t *photos_base_item_get_surface (PhotosBaseItem *self);
diff --git a/src/photos-facebook-item.c b/src/photos-facebook-item.c
index 00c6af6..2c5b218 100644
--- a/src/photos-facebook-item.c
+++ b/src/photos-facebook-item.c
@@ -34,10 +34,8 @@
#include <goa/goa.h>
#include <libgnome-desktop/gnome-desktop-thumbnail.h>
-#include "photos-base-manager.h"
#include "photos-debug.h"
#include "photos-facebook-item.h"
-#include "photos-search-context.h"
#include "photos-source.h"
#include "photos-utils.h"
@@ -45,7 +43,6 @@
struct _PhotosFacebookItem
{
PhotosBaseItem parent_instance;
- PhotosBaseManager *src_mngr;
};
struct _PhotosFacebookItemClass
@@ -86,14 +83,13 @@ photos_facebook_item_create_filename_fallback (PhotosBaseItem *item)
static gchar *
photos_facebook_item_create_name_fallback (PhotosBaseItem *item)
{
- PhotosFacebookItem *self = PHOTOS_FACEBOOK_ITEM (item);
GDateTime *date_modified;
const gchar *provider_name;
gchar *ret_val;
gchar *date_modified_str;
gint64 mtime;
- provider_name = photos_utils_get_provider_name (self->src_mngr, item);
+ provider_name = photos_utils_get_provider_name (item);
mtime = photos_base_item_get_mtime (item);
date_modified = g_date_time_new_from_unix_local (mtime);
@@ -113,14 +109,12 @@ photos_facebook_item_create_name_fallback (PhotosBaseItem *item)
static GFBGraphPhoto *
photos_facebook_get_gfbgraph_photo (PhotosBaseItem *item, GCancellable *cancellable, GError **error)
{
- PhotosFacebookItem *self = PHOTOS_FACEBOOK_ITEM (item);
PhotosSource *source;
- const gchar *identifier, *resource_urn;
+ const gchar *identifier;
GFBGraphGoaAuthorizer *authorizer;
GFBGraphPhoto *photo = NULL;
- resource_urn = photos_base_item_get_resource_urn (item);
- source = PHOTOS_SOURCE (photos_base_manager_get_object_by_id (self->src_mngr, resource_urn));
+ source = photos_base_item_get_source (item);
authorizer = gfbgraph_goa_authorizer_new (photos_source_get_goa_object (source));
identifier = photos_base_item_get_identifier (item) + strlen ("facebook:");
@@ -250,11 +244,10 @@ photos_facebook_item_download (PhotosBaseItem *item, GCancellable *cancellable,
static GtkWidget *
photos_facebook_item_get_source_widget (PhotosBaseItem *item)
{
- PhotosFacebookItem *self = PHOTOS_FACEBOOK_ITEM (item);
GtkWidget *source_widget;
const gchar *name;
- name = photos_utils_get_provider_name (self->src_mngr, item);
+ name = photos_utils_get_provider_name (item);
source_widget = gtk_link_button_new_with_label ("https://www.facebook.com/", name);
gtk_widget_set_halign (source_widget, GTK_ALIGN_START);
@@ -289,32 +282,14 @@ photos_facebook_item_constructed (GObject *object)
G_OBJECT_CLASS (photos_facebook_item_parent_class)->constructed (object);
- name = photos_utils_get_provider_name (self->src_mngr, PHOTOS_BASE_ITEM (self));
+ name = photos_utils_get_provider_name (PHOTOS_BASE_ITEM (self));
photos_base_item_set_default_app_name (PHOTOS_BASE_ITEM (self), name);
}
static void
-photos_facebook_item_dispose (GObject *object)
-{
- PhotosFacebookItem *self = PHOTOS_FACEBOOK_ITEM (object);
-
- g_clear_object (&self->src_mngr);
-
- G_OBJECT_CLASS (photos_facebook_item_parent_class)->dispose (object);
-}
-
-
-static void
photos_facebook_item_init (PhotosFacebookItem *self)
{
- GApplication *app;
- PhotosSearchContextState *state;
-
- app = g_application_get_default ();
- state = photos_search_context_get_state (PHOTOS_SEARCH_CONTEXT (app));
-
- self->src_mngr = g_object_ref (state->src_mngr);
}
@@ -328,7 +303,6 @@ photos_facebook_item_class_init (PhotosFacebookItemClass *class)
base_item_class->miner_object_path = "/org/gnome/OnlineMiners/Facebook";
object_class->constructed = photos_facebook_item_constructed;
- object_class->dispose = photos_facebook_item_dispose;
base_item_class->create_filename_fallback = photos_facebook_item_create_filename_fallback;
base_item_class->create_name_fallback = photos_facebook_item_create_name_fallback;
base_item_class->create_thumbnail = photos_facebook_item_create_thumbnail;
diff --git a/src/photos-flickr-item.c b/src/photos-flickr-item.c
index 249782a..090be0f 100644
--- a/src/photos-flickr-item.c
+++ b/src/photos-flickr-item.c
@@ -34,10 +34,8 @@
#include <grilo.h>
#include <libgnome-desktop/gnome-desktop-thumbnail.h>
-#include "photos-base-manager.h"
#include "photos-debug.h"
#include "photos-flickr-item.h"
-#include "photos-search-context.h"
#include "photos-source.h"
#include "photos-utils.h"
@@ -45,7 +43,6 @@
struct _PhotosFlickrItem
{
PhotosBaseItem parent_instance;
- PhotosBaseManager *src_mngr;
};
struct _PhotosFlickrItemClass
@@ -91,14 +88,13 @@ photos_flickr_item_create_filename_fallback (PhotosBaseItem *item)
static gchar *
photos_flickr_item_create_name_fallback (PhotosBaseItem *item)
{
- PhotosFlickrItem *self = PHOTOS_FLICKR_ITEM (item);
GDateTime *date_modified;
const gchar *provider_name;
gchar *ret_val;
gchar *date_modified_str;
gint64 mtime;
- provider_name = photos_utils_get_provider_name (self->src_mngr, item);
+ provider_name = photos_utils_get_provider_name (item);
mtime = photos_base_item_get_mtime (item);
date_modified = g_date_time_new_from_unix_local (mtime);
@@ -327,11 +323,10 @@ photos_flickr_item_download (PhotosBaseItem *item, GCancellable *cancellable, GE
static GtkWidget *
photos_flickr_item_get_source_widget (PhotosBaseItem *item)
{
- PhotosFlickrItem *self = PHOTOS_FLICKR_ITEM (item);
GtkWidget *source_widget;
const gchar *name;
- name = photos_utils_get_provider_name (self->src_mngr, item);
+ name = photos_utils_get_provider_name (item);
source_widget = gtk_link_button_new_with_label ("https://www.flickr.com/", name);
gtk_widget_set_halign (source_widget, GTK_ALIGN_START);
@@ -342,20 +337,17 @@ photos_flickr_item_get_source_widget (PhotosBaseItem *item)
static void
photos_flickr_item_open (PhotosBaseItem *item, GdkScreen *screen, guint32 timestamp)
{
- PhotosFlickrItem *self = PHOTOS_FLICKR_ITEM (item);
GError *error;
GoaAccount *account;
GoaObject *object;
PhotosSource *source;
const gchar *identifier;
const gchar *identity;
- const gchar *resource_urn;
gchar *flickr_uri;
identifier = photos_base_item_get_identifier (item) + strlen ("flickr:");
- resource_urn = photos_base_item_get_resource_urn (item);
- source = PHOTOS_SOURCE (photos_base_manager_get_object_by_id (self->src_mngr, resource_urn));
+ source = photos_base_item_get_source (item);
object = photos_source_get_goa_object (source);
account = goa_object_peek_account (object);
identity = goa_account_get_identity (account);
@@ -382,32 +374,14 @@ photos_flickr_item_constructed (GObject *object)
G_OBJECT_CLASS (photos_flickr_item_parent_class)->constructed (object);
- name = photos_utils_get_provider_name (self->src_mngr, PHOTOS_BASE_ITEM (self));
+ name = photos_utils_get_provider_name (PHOTOS_BASE_ITEM (self));
photos_base_item_set_default_app_name (PHOTOS_BASE_ITEM (self), name);
}
static void
-photos_flickr_item_dispose (GObject *object)
-{
- PhotosFlickrItem *self = PHOTOS_FLICKR_ITEM (object);
-
- g_clear_object (&self->src_mngr);
-
- G_OBJECT_CLASS (photos_flickr_item_parent_class)->dispose (object);
-}
-
-
-static void
photos_flickr_item_init (PhotosFlickrItem *self)
{
- GApplication *app;
- PhotosSearchContextState *state;
-
- app = g_application_get_default ();
- state = photos_search_context_get_state (PHOTOS_SEARCH_CONTEXT (app));
-
- self->src_mngr = g_object_ref (state->src_mngr);
}
@@ -421,7 +395,6 @@ photos_flickr_item_class_init (PhotosFlickrItemClass *class)
base_item_class->miner_object_path = "/org/gnome/OnlineMiners/Flickr";
object_class->constructed = photos_flickr_item_constructed;
- object_class->dispose = photos_flickr_item_dispose;
base_item_class->create_filename_fallback = photos_flickr_item_create_filename_fallback;
base_item_class->create_name_fallback = photos_flickr_item_create_name_fallback;
base_item_class->create_thumbnail = photos_flickr_item_create_thumbnail;
diff --git a/src/photos-google-item.c b/src/photos-google-item.c
index f79d995..a044b4f 100644
--- a/src/photos-google-item.c
+++ b/src/photos-google-item.c
@@ -32,10 +32,8 @@
#include <glib/gi18n.h>
#include <libgnome-desktop/gnome-desktop-thumbnail.h>
-#include "photos-base-manager.h"
#include "photos-debug.h"
#include "photos-google-item.h"
-#include "photos-search-context.h"
#include "photos-source.h"
#include "photos-utils.h"
@@ -43,7 +41,6 @@
struct _PhotosGoogleItem
{
PhotosBaseItem parent_instance;
- PhotosBaseManager *src_mngr;
};
struct _PhotosGoogleItemClass
@@ -95,7 +92,7 @@ photos_google_item_create_name_fallback (PhotosBaseItem *item)
gchar *date_modified_str;
gint64 mtime;
- provider_name = photos_utils_get_provider_name (self->src_mngr, item);
+ provider_name = photos_utils_get_provider_name (item);
mtime = photos_base_item_get_mtime (item);
date_modified = g_date_time_new_from_unix_local (mtime);
@@ -123,10 +120,8 @@ photos_google_get_picasaweb_file (PhotosBaseItem *item, GCancellable *cancellabl
GDataPicasaWebQuery *query;
GDataPicasaWebService *service;
const gchar *identifier;
- const gchar *resource_urn;
- resource_urn = photos_base_item_get_resource_urn (item);
- source = PHOTOS_SOURCE (photos_base_manager_get_object_by_id (self->src_mngr, resource_urn));
+ source = photos_base_item_get_source (item);
authorizer = gdata_goa_authorizer_new (photos_source_get_goa_object (source));
identifier = photos_base_item_get_identifier (item) + strlen ("google:picasaweb:");
service = gdata_picasaweb_service_new (GDATA_AUTHORIZER (authorizer));
@@ -285,7 +280,7 @@ photos_google_item_get_source_widget (PhotosBaseItem *item)
GtkWidget *source_widget;
const gchar *name;
- name = photos_utils_get_provider_name (self->src_mngr, item);
+ name = photos_utils_get_provider_name (item);
source_widget = gtk_link_button_new_with_label ("https://picasaweb.google.com/", name);
gtk_widget_set_halign (source_widget, GTK_ALIGN_START);
@@ -322,32 +317,14 @@ photos_google_item_constructed (GObject *object)
G_OBJECT_CLASS (photos_google_item_parent_class)->constructed (object);
- name = photos_utils_get_provider_name (self->src_mngr, PHOTOS_BASE_ITEM (self));
+ name = photos_utils_get_provider_name (PHOTOS_BASE_ITEM (self));
photos_base_item_set_default_app_name (PHOTOS_BASE_ITEM (self), name);
}
static void
-photos_google_item_dispose (GObject *object)
-{
- PhotosGoogleItem *self = PHOTOS_GOOGLE_ITEM (object);
-
- g_clear_object (&self->src_mngr);
-
- G_OBJECT_CLASS (photos_google_item_parent_class)->dispose (object);
-}
-
-
-static void
photos_google_item_init (PhotosGoogleItem *self)
{
- GApplication *app;
- PhotosSearchContextState *state;
-
- app = g_application_get_default ();
- state = photos_search_context_get_state (PHOTOS_SEARCH_CONTEXT (app));
-
- self->src_mngr = g_object_ref (state->src_mngr);
}
@@ -361,7 +338,6 @@ photos_google_item_class_init (PhotosGoogleItemClass *class)
base_item_class->miner_object_path = "/org/gnome/OnlineMiners/GData";
object_class->constructed = photos_google_item_constructed;
- object_class->dispose = photos_google_item_dispose;
base_item_class->create_filename_fallback = photos_google_item_create_filename_fallback;
base_item_class->create_name_fallback = photos_google_item_create_name_fallback;
base_item_class->create_thumbnail = photos_google_item_create_thumbnail;
diff --git a/src/photos-media-server-item.c b/src/photos-media-server-item.c
index 58e6a95..86a24d4 100644
--- a/src/photos-media-server-item.c
+++ b/src/photos-media-server-item.c
@@ -31,10 +31,8 @@
#include <gio/gio.h>
#include <glib.h>
-#include "photos-base-manager.h"
#include "photos-debug.h"
#include "photos-media-server-item.h"
-#include "photos-search-context.h"
#include "photos-source.h"
#include "photos-utils.h"
@@ -42,7 +40,6 @@
struct _PhotosMediaServerItem
{
PhotosBaseItem parent_instance;
- PhotosBaseManager *src_mngr;
};
struct _PhotosMediaServerItemClass
@@ -158,11 +155,10 @@ photos_media_server_item_download (PhotosBaseItem *item, GCancellable *cancellab
static GtkWidget *
photos_media_server_item_get_source_widget (PhotosBaseItem *item)
{
- PhotosMediaServerItem *self = PHOTOS_MEDIA_SERVER_ITEM (item);
GtkWidget *source_widget;
const gchar *name;
- name = photos_utils_get_provider_name (self->src_mngr, item);
+ name = photos_utils_get_provider_name (item);
source_widget = gtk_label_new (name);
gtk_widget_set_halign (source_widget, GTK_ALIGN_START);
@@ -178,32 +174,14 @@ photos_media_server_item_constructed (GObject *object)
G_OBJECT_CLASS (photos_media_server_item_parent_class)->constructed (object);
- name = photos_utils_get_provider_name (self->src_mngr, PHOTOS_BASE_ITEM (self));
+ name = photos_utils_get_provider_name (PHOTOS_BASE_ITEM (self));
photos_base_item_set_default_app_name (PHOTOS_BASE_ITEM (self), name);
}
static void
-photos_media_server_item_dispose (GObject *object)
-{
- PhotosMediaServerItem *self = PHOTOS_MEDIA_SERVER_ITEM (object);
-
- g_clear_object (&self->src_mngr);
-
- G_OBJECT_CLASS (photos_media_server_item_parent_class)->dispose (object);
-}
-
-
-static void
photos_media_server_item_init (PhotosMediaServerItem *self)
{
- GApplication *app;
- PhotosSearchContextState *state;
-
- app = g_application_get_default ();
- state = photos_search_context_get_state (PHOTOS_SEARCH_CONTEXT (app));
-
- self->src_mngr = g_object_ref (state->src_mngr);
}
@@ -217,7 +195,6 @@ photos_media_server_item_class_init (PhotosMediaServerItemClass *class)
base_item_class->miner_object_path = "/org/gnome/OnlineMiners/MediaServer";
object_class->constructed = photos_media_server_item_constructed;
- object_class->dispose = photos_media_server_item_dispose;
base_item_class->create_filename_fallback = photos_media_server_item_create_filename_fallback;
base_item_class->create_name_fallback = photos_media_server_item_create_name_fallback;
base_item_class->create_thumbnail = photos_media_server_item_create_thumbnail;
diff --git a/src/photos-organize-collection-view.c b/src/photos-organize-collection-view.c
index 0ac3937..30f1b3d 100644
--- a/src/photos-organize-collection-view.c
+++ b/src/photos-organize-collection-view.c
@@ -50,7 +50,6 @@ struct _PhotosOrganizeCollectionViewPrivate
GtkListStore *model;
GtkTreeViewColumn *view_col;
PhotosBaseManager *item_mngr;
- PhotosBaseManager *src_mngr;
gboolean choice_confirmed;
};
@@ -188,10 +187,8 @@ photos_organize_collection_view_detail_cell (GtkTreeViewColumn *tree_column,
{
PhotosSource *source;
const gchar *name;
- const gchar *resource_urn;
- resource_urn = photos_base_item_get_resource_urn (PHOTOS_BASE_ITEM (object));
- source = PHOTOS_SOURCE (photos_base_manager_get_object_by_id (priv->src_mngr, resource_urn));
+ source = photos_base_item_get_source (PHOTOS_BASE_ITEM (object));
name = photos_source_get_name (source);
g_object_set (cell_renderer, "text", name, NULL);
gtk_cell_renderer_set_visible (cell_renderer, TRUE);
@@ -304,7 +301,6 @@ photos_organize_collection_view_dispose (GObject *object)
g_clear_object (&priv->model);
g_clear_object (&priv->item_mngr);
- g_clear_object (&priv->src_mngr);
G_OBJECT_CLASS (photos_organize_collection_view_parent_class)->dispose (object);
}
@@ -366,7 +362,6 @@ photos_organize_collection_view_init (PhotosOrganizeCollectionView *self)
NULL);
priv->item_mngr = g_object_ref (state->item_mngr);
- priv->src_mngr = g_object_ref (state->src_mngr);
gtk_widget_show (GTK_WIDGET (self));
}
diff --git a/src/photos-utils.c b/src/photos-utils.c
index cb21e92..b121ccb 100644
--- a/src/photos-utils.c
+++ b/src/photos-utils.c
@@ -1216,14 +1216,12 @@ photos_utils_get_pixbuf_common_suffix (GdkPixbufFormat *format)
const gchar *
-photos_utils_get_provider_name (PhotosBaseManager *src_mngr, PhotosBaseItem *item)
+photos_utils_get_provider_name (PhotosBaseItem *item)
{
PhotosSource *source;
const gchar *name;
- const gchar *resource_urn;
- resource_urn = photos_base_item_get_resource_urn (item);
- source = PHOTOS_SOURCE (photos_base_manager_get_object_by_id (src_mngr, resource_urn));
+ source = photos_base_item_get_source (item);
name = photos_source_get_name (source);
return name;
}
diff --git a/src/photos-utils.h b/src/photos-utils.h
index 1821811..68750f7 100644
--- a/src/photos-utils.h
+++ b/src/photos-utils.h
@@ -37,7 +37,6 @@
#include <tracker-sparql.h>
#include "photos-base-item.h"
-#include "photos-base-manager.h"
G_BEGIN_DECLS
@@ -148,7 +147,7 @@ gint photos_utils_get_icon_size_unscaled (void);
char* photos_utils_get_pixbuf_common_suffix (GdkPixbufFormat *format);
-const gchar *photos_utils_get_provider_name (PhotosBaseManager *src_mngr, PhotosBaseItem
*item);
+const gchar *photos_utils_get_provider_name (PhotosBaseItem *item);
GtkBorder *photos_utils_get_thumbnail_frame_border (void);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]