| 242 /* |
242 /* |
| 243 * XXX: This shouldn't have to be here |
243 * XXX: This shouldn't have to be here |
| 244 * to free the FinchMedia widget. |
244 * to free the FinchMedia widget. |
| 245 */ |
245 */ |
| 246 g_object_unref(gntmedia); |
246 g_object_unref(gntmedia); |
| 247 } else if (type == PURPLE_MEDIA_STATE_CHANGED_REJECTED) { |
|
| 248 finch_media_emit_message(gntmedia, |
|
| 249 _("You have rejected the call.")); |
|
| 250 } |
247 } |
| 251 } else if (type == PURPLE_MEDIA_STATE_CHANGED_NEW |
248 } else if (type == PURPLE_MEDIA_STATE_CHANGED_NEW |
| 252 && sid != NULL && name != NULL) { |
249 && sid != NULL && name != NULL) { |
| 253 finch_media_ready_cb(media, gntmedia); |
250 finch_media_ready_cb(media, gntmedia); |
| 254 } else if (type == PURPLE_MEDIA_STATE_CHANGED_CONNECTED) { |
251 } else if (type == PURPLE_MEDIA_STATE_CHANGED_CONNECTED) { |
| 255 finch_media_accept_cb(media, gntmedia); |
252 finch_media_accept_cb(media, gntmedia); |
| |
253 } |
| |
254 } |
| |
255 |
| |
256 static void |
| |
257 finch_media_stream_info_cb(PurpleMedia *media, PurpleMediaInfoType type, |
| |
258 gchar *sid, gchar *name, FinchMedia *gntmedia) |
| |
259 { |
| |
260 if (type == PURPLE_MEDIA_INFO_REJECT) { |
| |
261 finch_media_emit_message(gntmedia, |
| |
262 _("You have rejected the call.")); |
| 256 } |
263 } |
| 257 } |
264 } |
| 258 |
265 |
| 259 static void |
266 static void |
| 260 finch_media_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) |
267 finch_media_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) |
| 283 if (is_initiator == TRUE) { |
290 if (is_initiator == TRUE) { |
| 284 finch_media_wait_cb(media->priv->media, media); |
291 finch_media_wait_cb(media->priv->media, media); |
| 285 } |
292 } |
| 286 g_signal_connect(G_OBJECT(media->priv->media), "state-changed", |
293 g_signal_connect(G_OBJECT(media->priv->media), "state-changed", |
| 287 G_CALLBACK(finch_media_state_changed_cb), media); |
294 G_CALLBACK(finch_media_state_changed_cb), media); |
| |
295 g_signal_connect(G_OBJECT(media->priv->media), "stream-info", |
| |
296 G_CALLBACK(finch_media_stream_info_cb), media); |
| 288 break; |
297 break; |
| 289 } |
298 } |
| 290 default: |
299 default: |
| 291 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); |
300 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); |
| 292 break; |
301 break; |