~ubuntu-branches/ubuntu/raring/empathy/raring-updates

« back to all changes in this revision

Viewing changes to src/empathy-camera-menu.c

  • Committer: Package Import Robot
  • Author(s): Robert Ancell
  • Date: 2012-11-14 09:37:59 UTC
  • mfrom: (1.1.108)
  • Revision ID: package-import@ubuntu.com-20121114093759-6j9gbp2lxdaquind
Tags: 3.6.2-0ubuntu1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
132
132
{
133
133
  EmpathyGstVideoSrc *video;
134
134
  const gchar *device;
135
 
  gchar *current_device;
 
135
  gchar *current_device = NULL;
136
136
 
137
137
  if (self->priv->in_update)
138
138
    return;
139
139
 
140
140
  video = empathy_call_window_get_video_src (self->priv->window);
 
141
  if (video != NULL)
 
142
    current_device = empathy_video_src_dup_device (video);
141
143
 
142
144
  device = gtk_action_get_name (action);
143
 
  current_device = empathy_video_src_dup_device (video);
144
145
 
145
146
  /* Don't change the device if it's the currently used one */
146
147
  if (!tp_strdiff (device, current_device))
156
157
empathy_camera_menu_update (EmpathyCameraMenu *self)
157
158
{
158
159
  GList *l;
 
160
  GtkAction *menu;
159
161
  GtkUIManager *ui_manager;
160
162
  EmpathyGstVideoSrc *video;
161
 
  gchar *current_camera;
 
163
  gboolean show_menu;
 
164
  gchar *current_camera = NULL;
 
165
  guint n_cameras;
162
166
 
163
167
  ui_manager = empathy_call_window_get_ui_manager (self->priv->window);
164
168
 
 
169
  menu = gtk_ui_manager_get_action (ui_manager, "/menubar1/edit/menucamera");
 
170
  n_cameras = g_queue_get_length (self->priv->cameras);
 
171
  show_menu = (n_cameras > 1);
 
172
  gtk_action_set_visible (menu, show_menu);
 
173
 
165
174
  video = empathy_call_window_get_video_src (self->priv->window);
166
 
  current_camera = empathy_video_src_dup_device (video);
 
175
  if (video != NULL)
 
176
    current_camera = empathy_video_src_dup_device (video);
167
177
 
168
178
  empathy_camera_menu_clean (self);
169
179
  self->priv->ui_id = gtk_ui_manager_new_merge_id (ui_manager);
394
404
      "window", window,
395
405
      NULL);
396
406
}
 
407
 
 
408
void
 
409
empathy_camera_menu_set_sensitive (EmpathyCameraMenu *self,
 
410
    gboolean sensitive)
 
411
{
 
412
  GtkUIManager *ui_manager;
 
413
 
 
414
  gtk_action_group_set_sensitive (self->priv->action_group, sensitive);
 
415
  if (sensitive) /* Mark the active camera as such. */
 
416
    empathy_camera_menu_update (self);
 
417
 
 
418
  ui_manager = empathy_call_window_get_ui_manager (self->priv->window);
 
419
  gtk_ui_manager_ensure_update (ui_manager);
 
420
}