86
87
g_object_unref (priv->session_settings);
87
88
priv->session_settings = NULL;
90
if (priv->lockdown_settings)
92
g_object_unref (priv->lockdown_settings);
93
priv->lockdown_settings = NULL;
89
95
if (priv->cancellable != NULL)
91
97
g_object_unref (priv->cancellable);
132
update_lock_screen_sensitivity (CcScreenPanel *self)
137
widget = WID ("screen_lock_main_box");
138
locked = g_settings_get_boolean (self->priv->lockdown_settings, "disable-lock-screen");
139
gtk_widget_set_sensitive (widget, !locked);
143
on_lockdown_settings_changed (GSettings *settings,
145
CcScreenPanel *panel)
147
if (g_str_equal (key, "disable-lock-screen") == FALSE)
150
update_lock_screen_sensitivity (panel);
126
154
cc_screen_panel_class_init (CcScreenPanelClass *klass)
128
156
GObjectClass *object_class = G_OBJECT_CLASS (klass);
277
lock_delay_to_relative (CcScreenPanel *self,
286
/* convert to relative units */
288
g_settings_get (self->priv->session_settings, "idle-delay", "u", &idle_delay);
291
if (idle_delay > value)
294
new = value - idle_delay;
300
lock_delay_to_absolute (CcScreenPanel *self,
308
/* convert to absolute units */
310
g_settings_get (self->priv->session_settings, "idle-delay", "u", &idle_delay);
319
305
set_idle_delay_from_dpms (CcScreenPanel *self,
330
313
off_delay = (guint) value;
332
g_settings_get (self->priv->lock_settings, "lock-delay", "u", &lock_delay);
333
/* convert to seconds */
336
lock_delay = lock_delay_to_absolute (self, lock_delay);
338
idle_delay = off_delay;
340
idle_delay = MIN (lock_delay, off_delay);
344
g_settings_set (self->priv->session_settings, "idle-delay", "u", idle_delay);
348
set_idle_delay_from_lock (CcScreenPanel *self,
354
off_delay = (guint) g_settings_get_int (self->priv->gsd_settings, "sleep-display-ac");
356
/* special value of zero means use dpms value */
358
idle_delay = MIN (value, off_delay);
360
idle_delay = off_delay;
364
g_settings_set (self->priv->session_settings, "idle-delay", "u", idle_delay);
315
g_settings_set (self->priv->session_settings, "idle-delay", "u", off_delay);
408
358
model = gtk_combo_box_get_model (GTK_COMBO_BOX(widget));
409
359
gtk_tree_model_get (model, &iter,
412
relative = lock_delay_to_relative (self, absolute);
414
/* convert to minutes */
418
g_settings_set (self->priv->lock_settings, "lock-delay", "u", relative);
420
set_idle_delay_from_lock (self, absolute);
362
g_settings_set (self->priv->lock_settings, "lock-delay", "u", delay);
482
424
/* try to make the UI match the lock setting */
483
425
g_settings_get (self->priv->lock_settings, "lock-delay", "u", &value);
485
/* convert to seconds */
489
value = lock_delay_to_absolute (self, value);
492
429
gtk_tree_model_get (model, &iter,
549
486
self->priv->gsd_settings = g_settings_new ("org.gnome.settings-daemon.plugins.power");
550
487
self->priv->session_settings = g_settings_new ("org.gnome.desktop.session");
488
self->priv->lockdown_settings = g_settings_new ("org.gnome.desktop.lockdown");
489
g_signal_connect (self->priv->lockdown_settings,
491
G_CALLBACK (on_lockdown_settings_changed),
552
494
/* bind the auto dim checkbox */
553
495
widget = WID ("screen_auto_reduce_checkbutton");
577
519
G_CALLBACK (lock_combo_changed_cb),
522
widget = WID ("screen_lock_hbox");
580
523
g_settings_bind (self->priv->lock_settings,
582
525
widget, "sensitive",
583
526
G_SETTINGS_BIND_GET);
528
update_lock_screen_sensitivity (self);
585
530
widget = WID ("screen_vbox");
586
531
gtk_widget_reparent (widget, (GtkWidget *) self);