[grilo] core: Add the 'favourite' metadata property
- From: Juan A. Suarez Romero <jasuarez src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilo] core: Add the 'favourite' metadata property
- Date: Fri, 19 Oct 2012 09:16:43 +0000 (UTC)
commit 47dc2a401577edf80b3521dff478c2aa687c38ba
Author: AntÃa Puentes <apuentes igalia com>
Date: Wed Oct 10 12:17:35 2012 +0200
core: Add the 'favourite' metadata property
The new property indicates if an item was marked as
favourite or not.
https://bugzilla.gnome.org/show_bug.cgi?id=685861
src/data/grl-media.c | 29 +++++++++++++++++++++++++++++
src/data/grl-media.h | 4 ++++
src/grl-metadata-key.c | 9 +++++++++
src/grl-metadata-key.h | 1 +
4 files changed, 43 insertions(+), 0 deletions(-)
---
diff --git a/src/data/grl-media.c b/src/data/grl-media.c
index 8672c6f..2155032 100644
--- a/src/data/grl-media.c
+++ b/src/data/grl-media.c
@@ -881,6 +881,22 @@ grl_media_set_license (GrlMedia *media, const gchar *license)
}
/**
+ * grl_media_set_favourite:
+ * @media: a media
+ * @favourite: whether the item is favourite or not
+ *
+ * Set if the media is favourite or not
+ *
+ */
+void
+grl_media_set_favourite (GrlMedia *media, gboolean favourite)
+{
+ grl_data_set_boolean (GRL_DATA (media),
+ GRL_METADATA_KEY_FAVOURITE,
+ favourite);
+}
+
+/**
* grl_media_get_id:
* @media: the media object
*
@@ -1393,3 +1409,16 @@ grl_media_get_start_time (GrlMedia *media)
{
return grl_data_get_float (GRL_DATA (media), GRL_METADATA_KEY_START_TIME);
}
+
+/**
+ * grl_media_get_favourite:
+ * @media: the media object
+ *
+ * Returns: whether the media is favourite or not
+ *
+ */
+gboolean
+grl_media_get_favourite (GrlMedia *media)
+{
+ return grl_data_get_boolean (GRL_DATA (media), GRL_METADATA_KEY_FAVOURITE);
+}
diff --git a/src/data/grl-media.h b/src/data/grl-media.h
index 96fc20c..246b5f2 100644
--- a/src/data/grl-media.h
+++ b/src/data/grl-media.h
@@ -149,6 +149,8 @@ void grl_media_set_rating (GrlMedia *media, gfloat rating, gfloat max);
void grl_media_set_url_data (GrlMedia *media, const gchar *url, const gchar *mime);
+void grl_media_set_favourite (GrlMedia *media, gboolean favourite);
+
void grl_media_add_url_data (GrlMedia *media, const gchar *url, const gchar *mime);
void grl_media_add_author (GrlMedia *media, const gchar *author);
@@ -223,6 +225,8 @@ const gchar *grl_media_get_license (GrlMedia *media);
gfloat grl_media_get_start_time (GrlMedia *media);
+gboolean grl_media_get_favourite (GrlMedia *media);
+
GType grl_media_get_type (void) G_GNUC_CONST;
GrlMedia *grl_media_new (void);
diff --git a/src/grl-metadata-key.c b/src/grl-metadata-key.c
index a8d5075..4cf06b9 100644
--- a/src/grl-metadata-key.c
+++ b/src/grl-metadata-key.c
@@ -448,6 +448,15 @@ grl_metadata_key_setup_system_keys (GrlRegistry *registry)
GRL_METADATA_KEY_START_TIME,
NULL);
+ grl_registry_register_metadata_key_full (registry,
+ g_param_spec_boolean ("favourite",
+ "Favourite",
+ "Whether or not the element was marked as favourite",
+ FALSE,
+ G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
+ GRL_METADATA_KEY_FAVOURITE,
+ NULL);
+
/* Create the relations */
grl_registry_register_metadata_key_relation (registry,
GRL_METADATA_KEY_URL,
diff --git a/src/grl-metadata-key.h b/src/grl-metadata-key.h
index cf09add..0109c9b 100644
--- a/src/grl-metadata-key.h
+++ b/src/grl-metadata-key.h
@@ -89,6 +89,7 @@ typedef guint32 GrlKeyID;
#define GRL_METADATA_KEY_TRACK_NUMBER 40
#define GRL_METADATA_KEY_MODIFICATION_DATE 41
#define GRL_METADATA_KEY_START_TIME 42
+#define GRL_METADATA_KEY_FAVOURITE 43
G_BEGIN_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]