[empathy] Disable video preview when there is no call



commit 68cdcde0b0a029379d3a0b9e0e62bfda7e0bcf7f
Author: Guillaume Desmottes <guillaume desmottes collabora co uk>
Date:   Wed Nov 25 13:45:45 2009 +0000

    Disable video preview when there is no call
    
    This is a workaround until bug 602937 is fixed.

 src/empathy-call-window.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)
---
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index 8d2e79a..bc42f33 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -130,6 +130,7 @@ struct _EmpathyCallWindowPriv
   GtkAction *redial;
   GtkAction *menu_fullscreen;
   GtkAction *action_camera;
+  GtkAction *action_camera_preview;
   GtkWidget *tool_button_camera_off;
   GtkWidget *tool_button_camera_preview;
   GtkWidget *tool_button_camera_on;
@@ -944,6 +945,7 @@ empathy_call_window_init (EmpathyCallWindow *self)
     "camera_preview", &priv->tool_button_camera_preview,
     "camera_on", &priv->tool_button_camera_on,
     "action_camera_off",  &priv->action_camera,
+    "action_camera_preview",  &priv->action_camera_preview,
     NULL);
   g_free (filename);
 
@@ -1543,6 +1545,13 @@ empathy_call_window_disconnected (EmpathyCallWindow *self)
       gtk_toggle_tool_button_set_active (
           GTK_TOGGLE_TOOL_BUTTON (priv->mic_button), TRUE);
 
+      /* FIXME: This is to workaround the fact that the pipeline has been
+       * destroyed and so we can't display preview until a new call (and so a
+       * new pipeline) is created. We should fix this properly by refactoring
+       * the code managing the pipeline. This is bug #602937 */
+      gtk_widget_set_sensitive (priv->tool_button_camera_preview, FALSE);
+      gtk_action_set_sensitive (priv->action_camera_preview, FALSE);
+
       gtk_progress_bar_set_fraction (
           GTK_PROGRESS_BAR (priv->volume_progress_bar), 0);
 
@@ -1915,6 +1924,11 @@ empathy_call_window_connected (gpointer user_data)
 
   gtk_widget_set_sensitive (priv->mic_button, TRUE);
 
+  /* FIXME: this should won't be needed once bug #602937 is fixed
+   * (see empathy_call_window_disconnected for details) */
+  gtk_widget_set_sensitive (priv->tool_button_camera_preview, TRUE);
+  gtk_action_set_sensitive (priv->action_camera_preview, TRUE);
+
   empathy_call_window_update_avatars_visibility (call, self);
 
   g_object_unref (call);



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