Start streaming video when webcam icon is clicked
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>
Tue, 3 Feb 2009 09:04:13 +0000 (09:04 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Tue, 3 Feb 2009 09:04:13 +0000 (09:04 +0000)
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
svn path=/trunk/; revision=2408

src/empathy-call-window.c

index 4911f03737de6a4907a34976a4fee0246b4428f4..491ba1e0754ef4afc0a501297c1f1311f93dab3a 100644 (file)
@@ -89,6 +89,9 @@ static gboolean empathy_call_window_delete_cb (GtkWidget *widget,
 static void empathy_call_window_sidebar_toggled_cb (GtkToggleButton *toggle,
   EmpathyCallWindow *window);
 
+static void empathy_call_window_camera_toggled_cb (GtkToggleToolButton *toggle,
+  EmpathyCallWindow *window);
+
 static void empathy_call_window_sidebar_hidden_cb (EmpathySidebar *sidebar,
   EmpathyCallWindow *window);
 
@@ -130,6 +133,9 @@ empathy_call_window_setup_toolbar (EmpathyCallWindow *self)
 
   camera = glade_xml_get_widget (priv->glade, "camera");
   gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (camera), FALSE);
+
+  g_signal_connect (G_OBJECT (camera), "toggled",
+    G_CALLBACK (empathy_call_window_camera_toggled_cb), self);
 }
 
 static GtkWidget *
@@ -567,6 +573,23 @@ empathy_call_window_sidebar_toggled_cb (GtkToggleButton *toggle,
   gtk_button_set_image (GTK_BUTTON (priv->sidebar_button), arrow);
 }
 
+static void
+empathy_call_window_camera_toggled_cb (GtkToggleToolButton *toggle,
+  EmpathyCallWindow *window)
+{
+  EmpathyCallWindowPriv *priv = GET_PRIV (window);
+  gboolean active;
+  EmpathyTpCall *call;
+
+  active = (gtk_toggle_tool_button_get_active (toggle));
+
+  g_object_get (priv->handler, "tp-call", &call, NULL);
+
+  empathy_tp_call_request_video_stream_direction (call, active);
+
+  g_object_unref (call);
+}
+
 static void
 empathy_call_window_sidebar_hidden_cb (EmpathySidebar *sidebar,
   EmpathyCallWindow *window)