comparison pidgin/gtkmedia.c @ 28454:7a66b8d66456

There's no reason to ask for acceptance if the stream has been accepted. Also, there's no reason to keep the media request open if the stream has already been accepted. This helps for auto-accepting media sessions.
author maiku@pidgin.im
date Thu, 27 Aug 2009 05:57:49 +0000
parents 8c991e09efcb
children 092659955afb
comparison
equal deleted inserted replaced
28446:0b3142f3edb4 28454:7a66b8d66456
497 message = g_strdup_printf(_("%s wishes to start a video session with you."), 497 message = g_strdup_printf(_("%s wishes to start a video session with you."),
498 alias); 498 alias);
499 } 499 }
500 500
501 gtkmedia->priv->request_type = PURPLE_MEDIA_NONE; 501 gtkmedia->priv->request_type = PURPLE_MEDIA_NONE;
502 502 if (!purple_media_accepted(gtkmedia->priv->media, NULL, NULL)) {
503 purple_request_accept_cancel(gtkmedia, _("Incoming Call"), 503 purple_request_accept_cancel(gtkmedia, _("Incoming Call"),
504 message, NULL, PURPLE_DEFAULT_ACTION_NONE, 504 message, NULL, PURPLE_DEFAULT_ACTION_NONE,
505 (void*)account, gtkmedia->priv->screenname, NULL, 505 (void*)account, gtkmedia->priv->screenname,
506 gtkmedia->priv->media, 506 NULL, gtkmedia->priv->media,
507 pidgin_media_accept_cb, 507 pidgin_media_accept_cb,
508 pidgin_media_reject_cb); 508 pidgin_media_reject_cb);
509 }
509 pidgin_media_emit_message(gtkmedia, message); 510 pidgin_media_emit_message(gtkmedia, message);
510 g_free(message); 511 g_free(message);
511 return FALSE; 512 return FALSE;
512 } 513 }
513 514
770 { 771 {
771 if (type == PURPLE_MEDIA_INFO_REJECT) { 772 if (type == PURPLE_MEDIA_INFO_REJECT) {
772 pidgin_media_emit_message(gtkmedia, 773 pidgin_media_emit_message(gtkmedia,
773 _("You have rejected the call.")); 774 _("You have rejected the call."));
774 } else if (type == PURPLE_MEDIA_INFO_ACCEPT) { 775 } else if (type == PURPLE_MEDIA_INFO_ACCEPT) {
776 if (local == TRUE)
777 purple_request_close_with_handle(gtkmedia);
775 pidgin_media_set_state(gtkmedia, PIDGIN_MEDIA_ACCEPTED); 778 pidgin_media_set_state(gtkmedia, PIDGIN_MEDIA_ACCEPTED);
776 pidgin_media_emit_message(gtkmedia, _("Call in progress.")); 779 pidgin_media_emit_message(gtkmedia, _("Call in progress."));
777 gtk_statusbar_push(GTK_STATUSBAR(gtkmedia->priv->statusbar), 780 gtk_statusbar_push(GTK_STATUSBAR(gtkmedia->priv->statusbar),
778 0, _("Call in progress.")); 781 0, _("Call in progress."));
779 gtk_widget_show(GTK_WIDGET(gtkmedia)); 782 gtk_widget_show(GTK_WIDGET(gtkmedia));