[gnome-photos] base-item: Query the nfo:fileCreated or nie:contentCreated too
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos] base-item: Query the nfo:fileCreated or nie:contentCreated too
- Date: Wed, 14 Nov 2012 17:35:01 +0000 (UTC)
commit c437eb959c8afdca1ca9ca41c22bbcefcca3872b
Author: Debarshi Ray <debarshir gnome org>
Date: Wed Nov 14 15:11:39 2012 +0100
base-item: Query the nfo:fileCreated or nie:contentCreated too
Original patch from Meg Ford for gnome-documents.
src/photos-base-item.c | 18 ++++++++++++++++++
src/photos-base-item.h | 2 ++
src/photos-query-builder.c | 3 ++-
src/photos-query.h | 3 ++-
4 files changed, 24 insertions(+), 2 deletions(-)
---
diff --git a/src/photos-base-item.c b/src/photos-base-item.c
index 4d3a3e8..56962e2 100644
--- a/src/photos-base-item.c
+++ b/src/photos-base-item.c
@@ -58,6 +58,7 @@ struct _PhotosBaseItemPrivate
gchar *resource_urn;
gchar *type_description;
gchar *uri;
+ gint64 date_created;
gint64 mtime;
};
@@ -493,6 +494,7 @@ photos_base_item_populate_from_cursor (PhotosBaseItem *self, TrackerSparqlCursor
{
PhotosBaseItemPrivate *priv = self->priv;
GTimeVal timeval;
+ const gchar *date_created;
const gchar *mtime;
const gchar *title;
const gchar *uri;
@@ -519,6 +521,15 @@ photos_base_item_populate_from_cursor (PhotosBaseItem *self, TrackerSparqlCursor
priv->rdf_type = g_strdup (tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_RDF_TYPE, NULL));
photos_base_item_update_info_from_type (self);
+ date_created = tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_DATE_CREATED, NULL);
+ if (date_created != NULL)
+ {
+ g_time_val_from_iso8601 (date_created, &timeval);
+ priv->date_created = (gint64) timeval.tv_sec;
+ }
+ else
+ priv->date_created = -1;
+
title = tracker_sparql_cursor_get_string (cursor, PHOTOS_QUERY_COLUMNS_TITLE, NULL);
if (title == NULL || title[0] == '\0')
{
@@ -733,6 +744,13 @@ photos_base_item_get_author (PhotosBaseItem *self)
}
+gint64
+photos_base_item_get_date_created (PhotosBaseItem *self)
+{
+ return self->priv->date_created;
+}
+
+
const gchar *
photos_base_item_get_default_app_name (PhotosBaseItem *self)
{
diff --git a/src/photos-base-item.h b/src/photos-base-item.h
index 8574d26..3c78779 100644
--- a/src/photos-base-item.h
+++ b/src/photos-base-item.h
@@ -84,6 +84,8 @@ void photos_base_item_destroy (PhotosBaseItem *self);
const gchar *photos_base_item_get_author (PhotosBaseItem *self);
+gint64 photos_base_item_get_date_created (PhotosBaseItem *self);
+
const gchar *photos_base_item_get_default_app_name (PhotosBaseItem *self);
GdkPixbuf *photos_base_item_get_icon (PhotosBaseItem *self);
diff --git a/src/photos-query-builder.c b/src/photos-query-builder.c
index 1c9728e..e32c2fd 100644
--- a/src/photos-query-builder.c
+++ b/src/photos-query-builder.c
@@ -142,7 +142,8 @@ photos_query_builder_query (gboolean global, gint flags)
"rdf:type (?urn) "
"nie:dataSource(?urn) "
"( EXISTS { ?urn nao:hasTag nao:predefined-tag-favorite } ) "
- "( EXISTS { ?urn nco:contributor ?contributor FILTER ( ?contributor != ?creator ) } ) ",
+ "( EXISTS { ?urn nco:contributor ?contributor FILTER ( ?contributor != ?creator ) } ) "
+ "tracker:coalesce(nfo:fileCreated (?urn), nie:contentCreated (?urn))",
where_sparql,
tail_sparql,
NULL);
diff --git a/src/photos-query.h b/src/photos-query.h
index 37c0806..1aac9a5 100644
--- a/src/photos-query.h
+++ b/src/photos-query.h
@@ -45,7 +45,8 @@ typedef enum
PHOTOS_QUERY_COLUMNS_RDF_TYPE,
PHOTOS_QUERY_COLUMNS_RESOURCE_URN,
PHOTOS_QUERY_COLUMNS_RESOURCE_FAVORITE,
- PHOTOS_QUERY_COLUMNS_RESOURCE_SHARED
+ PHOTOS_QUERY_COLUMNS_RESOURCE_SHARED,
+ PHOTOS_QUERY_COLUMNS_DATE_CREATED
} PhotosQueryColumns;
typedef enum
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]