[ekiga] Preview: Various fixes with video window hiding/showing.
- From: Damien Sandras <dsandras src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga] Preview: Various fixes with video window hiding/showing.
- Date: Sun, 11 Mar 2012 13:20:37 +0000 (UTC)
commit 4cda5ae2b63119c9d9fba90567272b367e3fa7ce
Author: Damien Sandras <dsandras beip be>
Date: Sun Mar 11 14:20:05 2012 +0100
Preview: Various fixes with video window hiding/showing.
src/gui/call_window.cpp | 19 +++++++------------
src/gui/main_window.cpp | 12 ++++++++----
2 files changed, 15 insertions(+), 16 deletions(-)
---
diff --git a/src/gui/call_window.cpp b/src/gui/call_window.cpp
index 91922ca..dec5deb 100644
--- a/src/gui/call_window.cpp
+++ b/src/gui/call_window.cpp
@@ -718,8 +718,6 @@ on_videooutput_device_opened_cb (Ekiga::VideoOutputManager & /* manager */,
EkigaCallWindow *cw = EKIGA_CALL_WINDOW (self);
int vv;
- gtk_widget_show (GTK_WIDGET (cw));
-
if (both_streams) {
gtk_menu_section_set_sensitive (cw->priv->main_menu, "local_video", true);
gtk_menu_section_set_sensitive (cw->priv->main_menu, "fullscreen", true);
@@ -863,7 +861,6 @@ on_videoinput_device_closed_cb (Ekiga::VideoInputManager & /* manager */,
{
EkigaCallWindow *cw = EKIGA_CALL_WINDOW (self);
-
ekiga_call_window_channels_menu_update_sensitivity (cw, true, false, false);
ekiga_call_window_update_logo (cw);
@@ -1129,7 +1126,6 @@ on_cleared_call_cb (G_GNUC_UNUSED boost::shared_ptr<Ekiga::CallManager> manager,
ekiga_call_window_set_status (cw, _("Standby"));
ekiga_call_window_set_bandwidth (cw, 0.0, 0.0, 0.0, 0.0, 0, 0);
ekiga_call_window_clear_stats (cw);
- ekiga_call_window_update_logo (cw);
if (cw->priv->current_call) {
cw->priv->current_call = boost::shared_ptr<Ekiga::Call>();
@@ -1320,12 +1316,14 @@ ekiga_call_window_delete_event_cb (GtkWidget *widget,
g_return_val_if_fail (EKIGA_IS_CALL_WINDOW (cw), false);
/* Hangup or disable preview */
- if (cw->priv->current_call)
+ if (cw->priv->calling_state != Standby && cw->priv->current_call) {
cw->priv->current_call->hangup ();
- else
+ }
+ else {
gm_conf_set_bool (VIDEO_DEVICES_KEY "enable_preview", false);
+ }
- return true;
+ return true; // Do not relay the event anymore
}
static void
@@ -1338,9 +1336,6 @@ ekiga_call_window_update_calling_state (EkigaCallWindow *cw,
{
case Standby:
- /* Show/hide call frame */
- gtk_widget_hide (cw->priv->call_frame);
-
/* Update the hold state */
ekiga_call_window_set_call_hold (cw, false);
@@ -1999,7 +1994,7 @@ ekiga_call_window_update_logo (EkigaCallWindow *cw)
"pixel-size", 128,
NULL);
- ekiga_call_window_set_video_size (cw, GM_QCIF_WIDTH, GM_QCIF_HEIGHT);
+ ekiga_call_window_set_video_size (cw, GM_CIF_WIDTH, GM_CIF_HEIGHT);
}
static void
@@ -2432,7 +2427,7 @@ ekiga_call_window_init (EkigaCallWindow *cw)
cw->priv->video_widget_gc = NULL;
#endif
- g_signal_connect (cw, "delete-event",
+ g_signal_connect (cw, "delete_event",
G_CALLBACK (ekiga_call_window_delete_event_cb), NULL);
}
diff --git a/src/gui/main_window.cpp b/src/gui/main_window.cpp
index 6b2d883..34d1ac6 100644
--- a/src/gui/main_window.cpp
+++ b/src/gui/main_window.cpp
@@ -753,8 +753,10 @@ static void on_cleared_call_cb (boost::shared_ptr<Ekiga::CallManager> /*manager
audiooutput_core->stop_play_event("ring_tone_sound");
/* Hide call window */
- call_window = GnomeMeeting::Process ()->GetCallWindow ();
- g_timeout_add_seconds (2, on_delayed_hide_call_window_cb, call_window);
+ if (!gm_conf_get_bool (VIDEO_DEVICES_KEY "enable_preview")) {
+ call_window = GnomeMeeting::Process ()->GetCallWindow ();
+ g_timeout_add_seconds (2, on_delayed_hide_call_window_cb, call_window);
+ }
/* Sensitive a few things back */
gtk_widget_set_sensitive (GTK_WIDGET (mw->priv->uri_toolbar), true);
@@ -786,8 +788,10 @@ static void on_cleared_incoming_call_cb (std::string /*reason*/,
#endif
/* Hide call window */
- call_window = GnomeMeeting::Process ()->GetCallWindow ();
- g_timeout_add_seconds (2, on_delayed_hide_call_window_cb, call_window);
+ if (!gm_conf_get_bool (VIDEO_DEVICES_KEY "enable_preview")) {
+ call_window = GnomeMeeting::Process ()->GetCallWindow ();
+ g_timeout_add_seconds (2, on_delayed_hide_call_window_cb, call_window);
+ }
/* Sensitive a few things back */
gtk_widget_set_sensitive (GTK_WIDGET (mw->priv->uri_toolbar), true);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]