# HG changeset patch # User Mike Ruprecht # Date 1238556201 0 # Node ID c3cf43b9402fac5bad2be0ce53d74212a0bcfe20 # Parent 462e5c27dbd79e430592547cc10a886d20ce976e Say which media type is being requested in Finch. diff -r 462e5c27dbd7 -r c3cf43b9402f finch/gntmedia.c --- a/finch/gntmedia.c Wed Apr 01 01:05:03 2009 +0000 +++ b/finch/gntmedia.c Wed Apr 01 03:23:21 2009 +0000 @@ -251,6 +251,32 @@ } } else if (state == PURPLE_MEDIA_STATE_CONNECTED) { finch_media_connected_cb(media, gntmedia); + } else if (state == PURPLE_MEDIA_STATE_NEW && + sid != NULL && name != NULL && + purple_media_is_initiator(media, sid, name) == FALSE) { + PurpleConnection *pc; + PurpleBuddy *buddy; + const gchar *alias; + PurpleMediaSessionType type = + purple_media_get_session_type(media, sid); + gchar *message = NULL; + + pc = purple_media_get_connection(gntmedia->priv->media); + buddy = purple_find_buddy( + purple_connection_get_account(pc), name); + alias = buddy ? purple_buddy_get_contact_alias(buddy) : name; + + if (type & PURPLE_MEDIA_AUDIO) { + message = g_strdup_printf( + _("%s wishes to start an audio session with you."), + alias); + } else { + message = g_strdup_printf( + _("%s is trying to start an unsuppoted media session type with you."), + alias); + } + finch_media_emit_message(gntmedia, message); + g_free(message); } }