]> git.0d.be Git - empathy.git/commitdiff
Bind 'Video call' menu items to available cameras
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Thu, 12 May 2011 14:19:39 +0000 (15:19 +0100)
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Tue, 12 Jul 2011 09:11:11 +0000 (10:11 +0100)
libempathy-gtk/empathy-individual-menu.c

index a92e5bcd980b97911fc6437003a756d2220b2bd6..4ae727c9a192514114e6aa73df524d78b02574fd 100644 (file)
@@ -31,6 +31,7 @@
 #include <folks/folks.h>
 #include <folks/folks-telepathy.h>
 
+#include <libempathy/empathy-camera-monitor.h>
 #include <libempathy/empathy-request-util.h>
 #include <libempathy/empathy-individual-manager.h>
 #include <libempathy/empathy-chatroom-manager.h>
@@ -674,6 +675,7 @@ empathy_individual_video_call_menu_item_new (FolksIndividual *individual,
 {
   GtkWidget *item;
   GtkWidget *image;
+  EmpathyCameraMonitor *monitor;
 
   g_return_val_if_fail (FOLKS_IS_INDIVIDUAL (individual) ||
       EMPATHY_IS_CONTACT (contact),
@@ -698,6 +700,11 @@ empathy_individual_video_call_menu_item_new (FolksIndividual *individual,
           EMPATHY_ACTION_VIDEO_CALL);
     }
 
+  monitor = empathy_camera_monitor_dup_singleton ();
+  g_object_set_data_full (G_OBJECT (item), "monitor", monitor, g_object_unref);
+  g_object_bind_property (monitor, "available", item, "sensitive",
+      G_BINDING_SYNC_CREATE);
+
   return item;
 }