[ekiga] Ekiga: Automatically show/hide call window.



commit 026b9c3a3f7311b058045fc02a050baa5de5c9b2
Author: Damien Sandras <dsandras beip be>
Date:   Sun Jan 29 18:13:44 2012 +0100

    Ekiga: Automatically show/hide call window.
    
    It is shown only when there is a call.
    TODO: show it on incoming calls too to replace the popup.

 src/gui/main_window.cpp |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)
---
diff --git a/src/gui/main_window.cpp b/src/gui/main_window.cpp
index 8520db9..80e9094 100644
--- a/src/gui/main_window.cpp
+++ b/src/gui/main_window.cpp
@@ -684,6 +684,7 @@ static void on_cleared_call_cb (boost::shared_ptr<Ekiga::CallManager>  /*manager
                                 gpointer self)
 {
   EkigaMainWindow *mw = EKIGA_MAIN_WINDOW (self);
+  GtkWidget *call_window = NULL;
 
   /* Info message */
   ekiga_main_window_flash_message (mw, "%s", reason.c_str ());
@@ -692,12 +693,17 @@ static void on_cleared_call_cb (boost::shared_ptr<Ekiga::CallManager>  /*manager
   boost::shared_ptr<Ekiga::AudioOutputCore> audiooutput_core = mw->priv->core->get<Ekiga::AudioOutputCore> ("audiooutput-core");
   audiooutput_core->stop_play_event("incoming_call_sound");
   audiooutput_core->stop_play_event("ring_tone_sound");
+
+  /* Hide call window */
+  call_window = GnomeMeeting::Process ()->GetCallWindow ();
+  gtk_widget_hide_all (call_window);
 }
 
 static void on_cleared_incoming_call_cb (std::string /*reason*/,
                                          gpointer self)
 {
   EkigaMainWindow *mw = EKIGA_MAIN_WINDOW (GnomeMeeting::Process ()->GetMainWindow ());
+  GtkWidget *call_window = NULL;
 
   boost::shared_ptr<Ekiga::AudioOutputCore> audiooutput_core = mw->priv->core->get<Ekiga::AudioOutputCore> ("audiooutput-core");
   audiooutput_core->stop_play_event("incoming_call_sound");
@@ -711,6 +717,10 @@ static void on_cleared_incoming_call_cb (std::string /*reason*/,
 #else
   gtk_widget_destroy (GTK_WIDGET (self));
 #endif
+
+  /* Hide call window */
+  call_window = GnomeMeeting::Process ()->GetCallWindow ();
+  gtk_widget_hide_all (call_window);
 }
 
 
@@ -1566,6 +1576,7 @@ ekiga_main_window_init_menu (EkigaMainWindow *mw)
     {
       GTK_MENU_NEW (_("_Chat")),
 
+      // FIXME
       GTK_MENU_ENTRY("connect", _("Ca_ll"), _("Place a new call"),
 		     GM_STOCK_PHONE_PICK_UP_16, 'o',
 		     G_CALLBACK (show_window_cb), call_window, TRUE),
@@ -1652,14 +1663,6 @@ ekiga_main_window_init_menu (EkigaMainWindow *mw)
 			   (gpointer) USER_INTERFACE_KEY "main_window/panel_section",
 			   (cps == CALL), TRUE),
 
-      GTK_MENU_SEPARATOR,
-
-      GTK_MENU_ENTRY("callwindow", _("Call Window"),
-                     _("Show the call window"),
-                     NULL, 'J',
-                     G_CALLBACK (show_window_cb),
-                     (gpointer) call_window, TRUE),
-
       GTK_MENU_NEW(_("_Help")),
 
       GTK_MENU_ENTRY("help", NULL,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]