| 164 media->priv = PIDGIN_MEDIA_GET_PRIVATE(media); |
164 media->priv = PIDGIN_MEDIA_GET_PRIVATE(media); |
| 165 media->priv->calling = gtk_label_new_with_mnemonic("Calling..."); |
165 media->priv->calling = gtk_label_new_with_mnemonic("Calling..."); |
| 166 media->priv->hangup = gtk_button_new_with_label("Hangup"); |
166 media->priv->hangup = gtk_button_new_with_label("Hangup"); |
| 167 media->priv->accept = gtk_button_new_with_label("Accept"); |
167 media->priv->accept = gtk_button_new_with_label("Accept"); |
| 168 media->priv->reject = gtk_button_new_with_label("Reject"); |
168 media->priv->reject = gtk_button_new_with_label("Reject"); |
| 169 media->priv->send_progress = gtk_progress_bar_new(); |
|
| 170 media->priv->recv_progress = gtk_progress_bar_new(); |
|
| 171 |
|
| 172 gtk_widget_set_size_request(media->priv->send_progress, 70, 5); |
|
| 173 gtk_widget_set_size_request(media->priv->recv_progress, 70, 5); |
|
| 174 |
169 |
| 175 gtk_box_pack_start(GTK_BOX(media), media->priv->calling, FALSE, FALSE, 0); |
170 gtk_box_pack_start(GTK_BOX(media), media->priv->calling, FALSE, FALSE, 0); |
| 176 gtk_box_pack_start(GTK_BOX(media), media->priv->hangup, FALSE, FALSE, 0); |
171 gtk_box_pack_start(GTK_BOX(media), media->priv->hangup, FALSE, FALSE, 0); |
| 177 gtk_box_pack_start(GTK_BOX(media), media->priv->accept, FALSE, FALSE, 0); |
172 gtk_box_pack_start(GTK_BOX(media), media->priv->accept, FALSE, FALSE, 0); |
| 178 gtk_box_pack_start(GTK_BOX(media), media->priv->reject, FALSE, FALSE, 0); |
173 gtk_box_pack_start(GTK_BOX(media), media->priv->reject, FALSE, FALSE, 0); |
| 179 |
|
| 180 gtk_box_pack_start(GTK_BOX(media), media->priv->send_progress, FALSE, FALSE, 6); |
|
| 181 gtk_box_pack_start(GTK_BOX(media), media->priv->recv_progress, FALSE, FALSE, 6); |
|
| 182 |
|
| 183 gtk_widget_show(media->priv->send_progress); |
|
| 184 gtk_widget_show(media->priv->recv_progress); |
|
| 185 |
174 |
| 186 gtk_widget_show_all(media->priv->accept); |
175 gtk_widget_show_all(media->priv->accept); |
| 187 gtk_widget_show_all(media->priv->reject); |
176 gtk_widget_show_all(media->priv->reject); |
| 188 |
177 |
| 189 media->priv->display = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
178 media->priv->display = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); |
| 362 g_object_set(gtkmedia, "send-level", audiosendlevel, |
352 g_object_set(gtkmedia, "send-level", audiosendlevel, |
| 363 "recv-level", audiorecvlevel, |
353 "recv-level", audiorecvlevel, |
| 364 NULL); |
354 NULL); |
| 365 } |
355 } |
| 366 |
356 |
| |
357 send_widget = gtk_hbox_new(FALSE, 0); |
| |
358 recv_widget = gtk_hbox_new(FALSE, 0); |
| |
359 |
| |
360 gtk_box_pack_start(GTK_BOX(gtkmedia->priv->display), send_widget, TRUE, TRUE, 0); |
| |
361 gtk_box_pack_start(GTK_BOX(gtkmedia->priv->display), recv_widget, TRUE, TRUE, 0); |
| |
362 |
| |
363 gtk_widget_show(send_widget); |
| |
364 gtk_widget_show(recv_widget); |
| |
365 |
| 367 if (videorecvbin || videosendbin) { |
366 if (videorecvbin || videosendbin) { |
| 368 GtkWidget *aspect; |
367 GtkWidget *aspect; |
| 369 GtkWidget *remote_video; |
368 GtkWidget *remote_video; |
| 370 GtkWidget *local_video; |
369 GtkWidget *local_video; |
| 371 |
370 |
| 372 gtk_widget_show(gtkmedia->priv->display); |
371 gtk_widget_show(gtkmedia->priv->display); |
| 373 |
372 |
| 374 aspect = gtk_aspect_frame_new(NULL, 0.5, 0.5, 4.0/3.0, FALSE); |
373 aspect = gtk_aspect_frame_new(NULL, 0.5, 0.5, 4.0/3.0, FALSE); |
| 375 gtk_frame_set_shadow_type(GTK_FRAME(aspect), GTK_SHADOW_IN); |
374 gtk_frame_set_shadow_type(GTK_FRAME(aspect), GTK_SHADOW_IN); |
| 376 gtk_box_pack_start(GTK_BOX(gtkmedia->priv->display), aspect, TRUE, TRUE, 0); |
375 gtk_box_pack_start(GTK_BOX(send_widget), aspect, TRUE, TRUE, 0); |
| 377 |
376 |
| 378 remote_video = gtk_drawing_area_new(); |
377 remote_video = gtk_drawing_area_new(); |
| 379 gtk_container_add(GTK_CONTAINER(aspect), remote_video); |
378 gtk_container_add(GTK_CONTAINER(aspect), remote_video); |
| 380 gtk_widget_set_size_request (GTK_WIDGET(remote_video), 100, -1); |
379 gtk_widget_set_size_request (GTK_WIDGET(remote_video), 100, -1); |
| 381 gtk_widget_show(remote_video); |
380 gtk_widget_show(remote_video); |
| 382 gtk_widget_show(aspect); |
381 gtk_widget_show(aspect); |
| 383 |
382 |
| 384 aspect = gtk_aspect_frame_new(NULL, 0.5, 0.5, 4.0/3.0, FALSE); |
383 aspect = gtk_aspect_frame_new(NULL, 0.5, 0.5, 4.0/3.0, FALSE); |
| 385 gtk_frame_set_shadow_type(GTK_FRAME(aspect), GTK_SHADOW_IN); |
384 gtk_frame_set_shadow_type(GTK_FRAME(aspect), GTK_SHADOW_IN); |
| 386 gtk_box_pack_start(GTK_BOX(gtkmedia->priv->display), aspect, TRUE, TRUE, 0); |
385 gtk_box_pack_start(GTK_BOX(recv_widget), aspect, TRUE, TRUE, 0); |
| 387 |
386 |
| 388 local_video = gtk_drawing_area_new(); |
387 local_video = gtk_drawing_area_new(); |
| 389 gtk_container_add(GTK_CONTAINER(aspect), local_video); |
388 gtk_container_add(GTK_CONTAINER(aspect), local_video); |
| 390 gtk_widget_show(local_video); |
389 gtk_widget_show(local_video); |
| 391 gtk_widget_show(aspect); |
390 gtk_widget_show(aspect); |
| 392 |
391 |
| 393 gtkmedia->priv->local_video = local_video; |
392 gtkmedia->priv->local_video = local_video; |
| 394 gtkmedia->priv->remote_video = remote_video; |
393 gtkmedia->priv->remote_video = remote_video; |
| |
394 } |
| |
395 |
| |
396 if (audiorecvbin || audiosendbin) { |
| |
397 gtk_widget_show(gtkmedia->priv->display); |
| |
398 |
| |
399 gtkmedia->priv->send_progress = gtk_progress_bar_new(); |
| |
400 gtkmedia->priv->recv_progress = gtk_progress_bar_new(); |
| |
401 |
| |
402 gtk_widget_set_size_request(gtkmedia->priv->send_progress, 5, 70); |
| |
403 gtk_widget_set_size_request(gtkmedia->priv->recv_progress, 5, 70); |
| |
404 |
| |
405 gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(gtkmedia->priv->send_progress), |
| |
406 GTK_PROGRESS_BOTTOM_TO_TOP); |
| |
407 gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(gtkmedia->priv->recv_progress), |
| |
408 GTK_PROGRESS_BOTTOM_TO_TOP); |
| |
409 |
| |
410 gtk_box_pack_start(GTK_BOX(send_widget), |
| |
411 gtkmedia->priv->send_progress, FALSE, FALSE, 0); |
| |
412 gtk_box_pack_start(GTK_BOX(recv_widget), |
| |
413 gtkmedia->priv->recv_progress, FALSE, FALSE, 0); |
| |
414 |
| |
415 gtk_widget_show(gtkmedia->priv->send_progress); |
| |
416 gtk_widget_show(gtkmedia->priv->recv_progress); |
| 395 } |
417 } |
| 396 |
418 |
| 397 bus = gst_pipeline_get_bus(GST_PIPELINE(element)); |
419 bus = gst_pipeline_get_bus(GST_PIPELINE(element)); |
| 398 gst_bus_add_signal_watch(GST_BUS(bus)); |
420 gst_bus_add_signal_watch(GST_BUS(bus)); |
| 399 g_signal_connect(G_OBJECT(gst_pipeline_get_bus(GST_PIPELINE(element))), |
421 g_signal_connect(G_OBJECT(gst_pipeline_get_bus(GST_PIPELINE(element))), |