Mercurial > pidgin
diff pidgin/gtkmedia.c @ 24984:0829a08038c6
Remove the screenname attribute from PurpleMedia.
author | Mike Ruprecht <maiku@soc.pidgin.im> |
---|---|
date | Tue, 16 Dec 2008 02:06:55 +0000 |
parents | 0ad1b8e950d7 |
children | 83704757fa36 |
line wrap: on
line diff
--- a/pidgin/gtkmedia.c Tue Dec 16 01:27:51 2008 +0000 +++ b/pidgin/gtkmedia.c Tue Dec 16 02:06:55 2008 +0000 @@ -51,6 +51,7 @@ struct _PidginMediaPrivate { PurpleMedia *media; + gchar *screenname; GstElement *send_level; GstElement *recv_level; @@ -93,6 +94,7 @@ enum { PROP_0, PROP_MEDIA, + PROP_SCREENNAME, PROP_SEND_LEVEL, PROP_RECV_LEVEL }; @@ -138,6 +140,12 @@ "The PurpleMedia associated with this media.", PURPLE_TYPE_MEDIA, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); + g_object_class_install_property(gobject_class, PROP_SCREENNAME, + g_param_spec_string("screenname", + "Screenname", + "The screenname of the user this session is with.", + NULL, + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); g_object_class_install_property(gobject_class, PROP_SEND_LEVEL, g_param_spec_object("send-level", "Send level", @@ -473,23 +481,20 @@ { PurpleMediaSessionType type = purple_media_get_overall_type(media); gchar *message; - gchar *name = purple_media_get_screenname(media); if (type & PURPLE_MEDIA_AUDIO && type & PURPLE_MEDIA_VIDEO) { message = g_strdup_printf(_("%s wishes to start an audio/video session with you."), - name); + gtkmedia->priv->screenname); } else if (type & PURPLE_MEDIA_AUDIO) { message = g_strdup_printf(_("%s wishes to start an audio session with you."), - name); + gtkmedia->priv->screenname); } else if (type & PURPLE_MEDIA_VIDEO) { message = g_strdup_printf(_("%s wishes to start a video session with you."), - name); + gtkmedia->priv->screenname); } else { - g_free(name); return; } - g_free(name); pidgin_media_emit_message(gtkmedia, message); g_free(message); } @@ -547,6 +552,11 @@ g_signal_connect(G_OBJECT(media->priv->media), "got-accept", G_CALLBACK(pidgin_media_accept_cb), media); break; + case PROP_SCREENNAME: + if (media->priv->screenname) + g_free(media->priv->screenname); + media->priv->screenname = g_value_dup_string(value); + break; case PROP_SEND_LEVEL: if (media->priv->send_level) gst_object_unref(media->priv->send_level); @@ -577,6 +587,9 @@ case PROP_MEDIA: g_value_set_object(value, media->priv->media); break; + case PROP_SCREENNAME: + g_value_set_string(value, media->priv->screenname); + break; case PROP_SEND_LEVEL: g_value_set_object(value, media->priv->send_level); break; @@ -590,10 +603,11 @@ } GtkWidget * -pidgin_media_new(PurpleMedia *media) +pidgin_media_new(PurpleMedia *media, const gchar *screenname) { PidginMedia *gtkmedia = g_object_new(pidgin_media_get_type(), - "media", media, NULL); + "media", media, + "screenname", screenname, NULL); return GTK_WIDGET(gtkmedia); }