[libgdata] [youtube] Remove gdata_youtube_video_[get|set]_title



commit 857aebe4fe01a2c7174a9b5345754ea536a4279d
Author: Philip Withnall <philip tecnocode co uk>
Date:   Mon Oct 26 21:36:53 2009 +0000

    [youtube] Remove gdata_youtube_video_[get|set]_title
    
    They were duplicating the atom:title (accessible via
    gdata_entry_[get|set]_title).

 docs/reference/gdata-sections.txt            |    2 -
 gdata/gdata.symbols                          |    2 -
 gdata/services/youtube/gdata-youtube-video.c |   69 +++++--------------------
 gdata/services/youtube/gdata-youtube-video.h |    2 -
 gdata/tests/youtube.c                        |    1 -
 5 files changed, 14 insertions(+), 62 deletions(-)
---
diff --git a/docs/reference/gdata-sections.txt b/docs/reference/gdata-sections.txt
index 179d9c4..fc95a95 100644
--- a/docs/reference/gdata-sections.txt
+++ b/docs/reference/gdata-sections.txt
@@ -233,8 +233,6 @@ gdata_youtube_video_is_draft
 gdata_youtube_video_set_is_draft
 gdata_youtube_video_get_state
 gdata_youtube_video_get_rating
-gdata_youtube_video_get_title
-gdata_youtube_video_set_title
 gdata_youtube_video_get_uploaded
 gdata_youtube_video_get_recorded
 gdata_youtube_video_set_recorded
diff --git a/gdata/gdata.symbols b/gdata/gdata.symbols
index 0b617b3..b41f44f 100644
--- a/gdata/gdata.symbols
+++ b/gdata/gdata.symbols
@@ -125,8 +125,6 @@ gdata_youtube_video_get_keywords
 gdata_youtube_video_set_keywords
 gdata_youtube_video_get_player_uri
 gdata_youtube_video_is_restricted_in_country
-gdata_youtube_video_get_title
-gdata_youtube_video_set_title
 gdata_youtube_video_get_category
 gdata_youtube_video_set_category
 gdata_youtube_video_get_credit
diff --git a/gdata/services/youtube/gdata-youtube-video.c b/gdata/services/youtube/gdata-youtube-video.c
index bcb58c8..154b252 100644
--- a/gdata/services/youtube/gdata-youtube-video.c
+++ b/gdata/services/youtube/gdata-youtube-video.c
@@ -40,7 +40,7 @@
  * 		video = gdata_youtube_service_query_single_video (service, NULL, "R-9gzmQHoe0", NULL, NULL);
  *
  * 		video_id = gdata_youtube_video_get_video_id (video); /<!-- -->* e.g. "R-9gzmQHoe0" *<!-- -->/
- * 		title = gdata_youtube_video_get_title (video); /<!-- -->* e.g. "Korpiklaani Vodka (official video 2009)" *<!-- -->/
+ * 		title = gdata_entry_get_title (GDATA_ENTRY (video)); /<!-- -->* e.g. "Korpiklaani Vodka (official video 2009)" *<!-- -->/
  * 		player_uri = gdata_youtube_video_get_player_uri (video); /<!-- -->* e.g. "http://www.youtube.com/watch?v=ZTUVgYoeN_b"; *<!-- -->/
  * 		description = gdata_youtube_video_get_description (video); /<!-- -->* e.g. "Vodka is the first single from the album..." *<!-- -->/
  * 		gdata_entry_get_published (GDATA_ENTRY (video), &published); /<!-- -->* Date and time the video was originally published *<!-- -->/
@@ -121,7 +121,6 @@ enum {
 	PROP_AVERAGE_RATING,
 	PROP_KEYWORDS,
 	PROP_PLAYER_URI,
-	PROP_TITLE,
 	PROP_CATEGORY,
 	PROP_CREDIT,
 	PROP_DESCRIPTION,
@@ -299,20 +298,6 @@ gdata_youtube_video_class_init (GDataYouTubeVideoClass *klass)
 					G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
 
 	/**
-	 * GDataYouTubeVideo:title:
-	 *
-	 * Identifies the title of the video. This field has a maximum length of 60 characters or 100 bytes, whichever is reached first.
-	 *
-	 * For more information, see the <ulink type="http"
-	 * url="http://code.google.com/apis/youtube/2.0/reference.html#youtube_data_api_tag_media:title";>online documentation</ulink>.
-	 **/
-	g_object_class_install_property (gobject_class, PROP_TITLE,
-				g_param_spec_string ("title",
-					"Title", "Identifies the title of the video.",
-					NULL,
-					G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
-	/**
 	 * GDataYouTubeVideo:category:
 	 *
 	 * Specifies a genre or developer tag that describes the video.
@@ -473,9 +458,22 @@ gdata_youtube_video_class_init (GDataYouTubeVideoClass *klass)
 }
 
 static void
+notify_title_cb (GDataYouTubeVideo *self, GParamSpec *pspec, gpointer user_data)
+{
+	/* Update our media:group title */
+	if (self->priv->media_group != NULL)
+		gdata_media_group_set_title (self->priv->media_group, gdata_entry_get_title (GDATA_ENTRY (self)));
+}
+
+static void
 gdata_youtube_video_init (GDataYouTubeVideo *self)
 {
 	self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GDATA_TYPE_YOUTUBE_VIDEO, GDataYouTubeVideoPrivate);
+
+	/* The video's title is duplicated between atom:title and media:group/media:title, so listen for change notifications on atom:title
+	 * and propagate them to media:group/media:title accordingly. Since the media group isn't publically accessible, we don't need to
+	 * listen for notifications from it. */
+	g_signal_connect (GDATA_ENTRY (self), "notify::title", G_CALLBACK (notify_title_cb), NULL);
 }
 
 static void
@@ -542,9 +540,6 @@ gdata_youtube_video_get_property (GObject *object, guint property_id, GValue *va
 		case PROP_PLAYER_URI:
 			g_value_set_string (value, gdata_media_group_get_player_uri (priv->media_group));
 			break;
-		case PROP_TITLE:
-			g_value_set_string (value, gdata_media_group_get_title (priv->media_group));
-			break;
 		case PROP_CATEGORY:
 			g_value_set_object (value, gdata_media_group_get_category (priv->media_group));
 			break;
@@ -602,9 +597,6 @@ gdata_youtube_video_set_property (GObject *object, guint property_id, const GVal
 		case PROP_KEYWORDS:
 			gdata_youtube_video_set_keywords (self, g_value_get_string (value));
 			break;
-		case PROP_TITLE:
-			gdata_youtube_video_set_title (self, g_value_get_string (value));
-			break;
 		case PROP_CATEGORY:
 			gdata_youtube_video_set_category (self, g_value_get_object (value));
 			break;
@@ -1049,39 +1041,6 @@ gdata_youtube_video_is_restricted_in_country (GDataYouTubeVideo *self, const gch
 }
 
 /**
- * gdata_youtube_video_get_title:
- * @self: a #GDataYouTubeVideo
- *
- * Gets the #GDataYouTubeVideo:title property.
- *
- * Return value: the video's title, or %NULL
- **/
-const gchar *
-gdata_youtube_video_get_title (GDataYouTubeVideo *self)
-{
-	g_return_val_if_fail (GDATA_IS_YOUTUBE_VIDEO (self), NULL);
-	return gdata_media_group_get_title (self->priv->media_group);
-}
-
-/**
- * gdata_youtube_video_set_title:
- * @self: a #GDataYouTubeVideo
- * @title: the new video title
- *
- * Sets the #GDataYouTubeVideo:title property to the new title, @title.
- *
- * Set @title to %NULL to unset the video's title.
- **/
-void
-gdata_youtube_video_set_title (GDataYouTubeVideo *self, const gchar *title)
-{
-	g_return_if_fail (GDATA_IS_YOUTUBE_VIDEO (self));
-
-	gdata_media_group_set_title (self->priv->media_group, title);
-	g_object_notify (G_OBJECT (self), "title");
-}
-
-/**
  * gdata_youtube_video_get_category:
  * @self: a #GDataYouTubeVideo
  *
diff --git a/gdata/services/youtube/gdata-youtube-video.h b/gdata/services/youtube/gdata-youtube-video.h
index 0bfd51e..a7b69e2 100644
--- a/gdata/services/youtube/gdata-youtube-video.h
+++ b/gdata/services/youtube/gdata-youtube-video.h
@@ -91,8 +91,6 @@ const gchar *gdata_youtube_video_get_keywords (GDataYouTubeVideo *self);
 void gdata_youtube_video_set_keywords (GDataYouTubeVideo *self, const gchar *keywords);
 const gchar *gdata_youtube_video_get_player_uri (GDataYouTubeVideo *self);
 gboolean gdata_youtube_video_is_restricted_in_country (GDataYouTubeVideo *self, const gchar *country);
-const gchar *gdata_youtube_video_get_title (GDataYouTubeVideo *self);
-void gdata_youtube_video_set_title (GDataYouTubeVideo *self, const gchar *title);
 GDataMediaCategory *gdata_youtube_video_get_category (GDataYouTubeVideo *self);
 void gdata_youtube_video_set_category (GDataYouTubeVideo *self, GDataMediaCategory *category);
 GDataYouTubeCredit *gdata_youtube_video_get_credit (GDataYouTubeVideo *self);
diff --git a/gdata/tests/youtube.c b/gdata/tests/youtube.c
index cabd9c5..a27913a 100644
--- a/gdata/tests/youtube.c
+++ b/gdata/tests/youtube.c
@@ -274,7 +274,6 @@ test_upload_simple (GDataService *service)
 	video = gdata_youtube_video_new (NULL);
 
 	gdata_entry_set_title (GDATA_ENTRY (video), "Bad Wedding Toast");
-	gdata_youtube_video_set_title (video, "Bad Wedding Toast");
 	gdata_youtube_video_set_description (video, "I gave a bad toast at my friend's wedding.");
 	category = gdata_media_category_new ("People", "http://gdata.youtube.com/schemas/2007/categories.cat";, NULL);
 	gdata_youtube_video_set_category (video, category);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]