1 From 83b20fd2335a2cc54577019ea9af1a664a93ac28 Mon Sep 17 00:00:00 2001
2 From: Lionel Le Folgoc <lionel@lefolgoc.net>
3 Date: Sun, 11 Aug 2013 22:47:24 +0200
4 Subject: [PATCH 082/219] Fix incorrect check for suspend permissions (bug
8 src/xfpm-power.c | 508 +++++++++++++++++++++++++++----------------------------
9 1 file changed, 254 insertions(+), 254 deletions(-)
11 diff --git a/src/xfpm-power.c b/src/xfpm-power.c
12 index bcf2fbd..d703f8e 100644
13 --- a/src/xfpm-power.c
14 +++ b/src/xfpm-power.c
15 @@ -69,25 +69,25 @@ static void xfpm_power_refresh_adaptor_visible (XfpmPower *power);
16 struct XfpmPowerPrivate
22 DBusGProxy *proxy_prop;
28 XfpmConsoleKit *console;
31 GtkStatusIcon *adapter_icon;
34 XfpmBatteryCharge overall_state;
35 gboolean critical_action_done;
38 XfpmPowerMode power_mode;
39 EggIdletime *idletime;
48 @@ -103,9 +103,9 @@ struct XfpmPowerPrivate
49 gchar *daemon_version;
51 gboolean can_hibernate;
55 - * Warning dialog to use when notification daemon
56 + * Warning dialog to use when notification daemon
57 * doesn't support actions.
60 @@ -144,10 +144,10 @@ G_DEFINE_TYPE (XfpmPower, xfpm_power, G_TYPE_OBJECT)
62 xfpm_power_check_polkit_auth (XfpmPower *power)
64 - power->priv->auth_suspend = xfpm_polkit_check_auth (power->priv->polkit,
65 + power->priv->auth_suspend = xfpm_polkit_check_auth (power->priv->polkit,
68 - power->priv->auth_hibernate = xfpm_polkit_check_auth (power->priv->polkit,
69 + power->priv->auth_hibernate = xfpm_polkit_check_auth (power->priv->polkit,
70 POLKIT_AUTH_HIBERNATE);
73 @@ -158,30 +158,30 @@ xfpm_power_check_pm (XfpmPower *power, GHashTable *props)
79 value = g_hash_table_lookup (props, "CanSuspend");
85 g_warning ("No 'CanSuspend' property");
87 ret = g_value_get_boolean (value);
89 - if (ret != power->priv->can_suspend)
91 + if (ret != power->priv->can_suspend)
93 power->priv->can_suspend = ret;
96 value = g_hash_table_lookup (props, "CanHibernate");
102 g_warning ("No 'CanHibernate' property");
106 ret = g_value_get_boolean (value);
108 - if (ret != power->priv->can_hibernate)
110 + if (ret != power->priv->can_hibernate)
112 power->priv->can_hibernate = ret;
114 @@ -192,14 +192,14 @@ xfpm_power_check_power (XfpmPower *power, GHashTable *props)
120 value = g_hash_table_lookup (props, "OnBattery");
122 - if (G_LIKELY (value))
124 + if (G_LIKELY (value))
126 on_battery = g_value_get_boolean (value);
128 - if (on_battery != power->priv->on_battery )
130 + if (on_battery != power->priv->on_battery )
134 @@ -209,7 +209,7 @@ xfpm_power_check_power (XfpmPower *power, GHashTable *props)
135 len = g_list_length (list);
136 for ( i = 0; i < len; i++)
138 - g_object_set (G_OBJECT (g_list_nth_data (list, i)),
139 + g_object_set (G_OBJECT (g_list_nth_data (list, i)),
140 "ac-online", !on_battery,
143 @@ -225,10 +225,10 @@ static void
144 xfpm_power_check_lid (XfpmPower *power, GHashTable *props)
149 value = g_hash_table_lookup (props, "LidIsPresent");
155 g_warning ("No 'LidIsPresent' property");
157 @@ -236,21 +236,21 @@ xfpm_power_check_lid (XfpmPower *power, GHashTable *props)
159 power->priv->lid_is_present = g_value_get_boolean (value);
161 - if (power->priv->lid_is_present)
162 + if (power->priv->lid_is_present)
167 value = g_hash_table_lookup (props, "LidIsClosed");
173 g_warning ("No 'LidIsClosed' property");
178 closed = g_value_get_boolean (value);
180 - if (closed != power->priv->lid_is_closed )
182 + if (closed != power->priv->lid_is_closed )
184 power->priv->lid_is_closed = closed;
185 g_signal_emit (G_OBJECT (power), signals [LID_CHANGED], 0, power->priv->lid_is_closed);
186 @@ -260,7 +260,7 @@ xfpm_power_check_lid (XfpmPower *power, GHashTable *props)
189 * Get the properties on org.freedesktop.DeviceKit.Power
195 @@ -273,9 +273,9 @@ static void
196 xfpm_power_get_properties (XfpmPower *power)
201 props = xfpm_power_get_interface_properties (power->priv->proxy_prop, UPOWER_IFACE);
204 xfpm_power_check_pm (power, props);
205 xfpm_power_check_lid (power, props);
206 xfpm_power_check_power (power, props);
207 @@ -289,10 +289,10 @@ xfpm_power_report_error (XfpmPower *power, const gchar *error, const gchar *icon
208 GtkStatusIcon *battery = NULL;
213 list = g_hash_table_get_values (power->priv->hash);
214 len = g_list_length (list);
217 for ( i = 0; i < len; i++)
220 @@ -302,16 +302,16 @@ xfpm_power_report_error (XfpmPower *power, const gchar *error, const gchar *icon
221 type == XFPM_DEVICE_TYPE_UPS )
225 - xfpm_notify_show_notification (power->priv->notify,
226 - _("Power Manager"),
229 + xfpm_notify_show_notification (power->priv->notify,
230 + _("Power Manager"),
235 XFPM_NOTIFY_CRITICAL,
242 @@ -319,7 +319,7 @@ xfpm_power_sleep (XfpmPower *power, const gchar *sleep_time, gboolean force)
244 GError *error = NULL;
245 gboolean lock_screen;
248 if ( power->priv->inhibited && force == FALSE)
251 @@ -333,24 +333,24 @@ xfpm_power_sleep (XfpmPower *power, const gchar *sleep_time, gboolean force)
257 g_signal_emit (G_OBJECT (power), signals [SLEEPING], 0);
258 xfpm_network_manager_sleep (TRUE);
261 g_object_get (G_OBJECT (power->priv->conf),
262 LOCK_SCREEN_ON_SLEEP, &lock_screen,
268 g_usleep (2000000); /* 2 seconds */
273 dbus_g_proxy_call (power->priv->proxy, sleep_time, &error,
280 if ( g_error_matches (error, DBUS_GERROR, DBUS_GERROR_NO_REPLY) )
281 @@ -364,12 +364,12 @@ xfpm_power_sleep (XfpmPower *power, const gchar *sleep_time, gboolean force)
282 icon_name = XFPM_HIBERNATE_ICON;
284 icon_name = XFPM_SUSPEND_ICON;
287 xfpm_power_report_error (power, error->message, icon_name);
288 g_error_free (error);
293 g_signal_emit (G_OBJECT (power), signals [WAKING_UP], 0);
294 xfpm_network_manager_sleep (FALSE);
296 @@ -420,9 +420,9 @@ static void
297 xfpm_power_tray_exit_activated_cb (gpointer data)
301 - ret = xfce_dialog_confirm (NULL,
304 + ret = xfce_dialog_confirm (NULL,
307 _("All running instances of the power manager will exit"),
309 @@ -439,19 +439,19 @@ xfpm_power_change_mode (XfpmPower *power, XfpmPowerMode mode)
315 power->priv->power_mode = mode;
318 dpms = xfpm_dpms_new ();
319 xfpm_dpms_refresh (dpms);
320 g_object_unref (dpms);
323 if (mode == XFPM_POWER_MODE_NORMAL)
325 EggIdletime *idletime;
326 idletime = egg_idletime_new ();
327 egg_idletime_alarm_reset_all (idletime);
330 g_object_unref (idletime);
333 @@ -470,9 +470,9 @@ xfpm_power_presentation_mode_cb (XfpmPower *power)
337 -xfpm_power_show_tray_menu (XfpmPower *power,
338 - GtkStatusIcon *icon,
340 +xfpm_power_show_tray_menu (XfpmPower *power,
341 + GtkStatusIcon *icon,
344 gboolean show_info_item)
346 @@ -485,7 +485,7 @@ xfpm_power_show_tray_menu (XfpmPower *power,
347 img = gtk_image_new_from_icon_name (XFPM_HIBERNATE_ICON, GTK_ICON_SIZE_MENU);
348 gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
349 gtk_widget_set_sensitive (mi, FALSE);
352 if ( power->priv->can_hibernate && power->priv->auth_hibernate)
354 gtk_widget_set_sensitive (mi, TRUE);
355 @@ -494,21 +494,21 @@ xfpm_power_show_tray_menu (XfpmPower *power,
357 gtk_widget_show (mi);
358 gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
361 // Suspend menu option
362 mi = gtk_image_menu_item_new_with_label (_("Suspend"));
363 img = gtk_image_new_from_icon_name (XFPM_SUSPEND_ICON, GTK_ICON_SIZE_MENU);
364 gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
367 gtk_widget_set_sensitive (mi, FALSE);
369 - if ( power->priv->can_suspend && power->priv->auth_hibernate)
371 + if ( power->priv->can_suspend && power->priv->auth_suspend)
373 gtk_widget_set_sensitive (mi, TRUE);
374 g_signal_connect_swapped (mi, "activate",
375 G_CALLBACK (xfpm_power_suspend_cb), power);
379 gtk_widget_show (mi);
380 gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
382 @@ -518,14 +518,14 @@ xfpm_power_show_tray_menu (XfpmPower *power,
383 gtk_widget_set_tooltip_text (mi, _("Disable or enable monitor power control, "\
384 "for example you could disable the screen power "\
385 "control to avoid screen blanking when watching a movie."));
388 g_signal_connect (G_OBJECT (mi), "activate",
389 G_CALLBACK (xfpm_tray_icon_inhibit_active_cb), tray);
390 gtk_widget_set_sensitive (mi, TRUE);
392 gtk_menu_shell_append(GTK_MENU_SHELL(menu),mi);
396 mi = gtk_separator_menu_item_new ();
397 gtk_widget_show (mi);
398 gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
399 @@ -536,14 +536,14 @@ xfpm_power_show_tray_menu (XfpmPower *power,
400 gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
402 gtk_widget_set_sensitive (mi,TRUE);
405 g_signal_connect_swapped (mi, "activate",
406 G_CALLBACK (xfpm_power_power_info_cb), icon);
409 gtk_widget_show (mi);
410 gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
417 /* TRANSLATOR: Mode here is the power profile (presentation, power save, normal) */
418 @@ -552,55 +552,55 @@ xfpm_power_show_tray_menu (XfpmPower *power,
419 gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img);
420 gtk_widget_set_sensitive (mi,TRUE);
421 gtk_widget_show (mi);
424 subm = gtk_menu_new ();
425 gtk_menu_item_set_submenu (GTK_MENU_ITEM (mi), subm);
426 gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
430 mi = gtk_check_menu_item_new_with_label (_("Normal"));
431 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (mi), power->priv->power_mode == XFPM_POWER_MODE_NORMAL);
432 gtk_widget_set_sensitive (mi,TRUE);
435 g_signal_connect_swapped (mi, "activate",
436 G_CALLBACK (xfpm_power_normal_mode_cb), power);
437 gtk_widget_show (mi);
438 gtk_menu_shell_append (GTK_MENU_SHELL (subm), mi);
442 mi = gtk_check_menu_item_new_with_label (_("Presentation"));
443 gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (mi), power->priv->power_mode == XFPM_POWER_MODE_PRESENTATION);
444 gtk_widget_set_sensitive (mi, TRUE);
447 g_signal_connect_swapped (mi, "activate",
448 G_CALLBACK (xfpm_power_presentation_mode_cb), power);
449 gtk_widget_show (mi);
450 gtk_menu_shell_append (GTK_MENU_SHELL (subm), mi);
455 mi = gtk_separator_menu_item_new ();
456 gtk_widget_show (mi);
457 gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
460 mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_HELP, NULL);
461 gtk_widget_set_sensitive (mi, TRUE);
462 gtk_widget_show (mi);
463 g_signal_connect (mi, "activate", G_CALLBACK (xfpm_help), NULL);
466 gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
469 mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_ABOUT, NULL);
470 gtk_widget_set_sensitive (mi, TRUE);
471 gtk_widget_show (mi);
472 g_signal_connect (mi, "activate", G_CALLBACK (xfpm_about), _("Power Manager"));
475 gtk_menu_shell_append (GTK_MENU_SHELL(menu), mi);
478 mi = gtk_image_menu_item_new_from_stock (GTK_STOCK_PREFERENCES, NULL);
479 gtk_widget_set_sensitive (mi, TRUE);
480 gtk_widget_show (mi);
481 g_signal_connect (mi, "activate",G_CALLBACK (xfpm_preferences), NULL);
484 gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi);
486 mi = gtk_separator_menu_item_new ();
487 @@ -618,20 +618,20 @@ xfpm_power_show_tray_menu (XfpmPower *power,
490 gtk_menu_popup(GTK_MENU(menu), NULL, NULL,
491 - gtk_status_icon_position_menu,
492 + gtk_status_icon_position_menu,
493 icon, button, activate_time);
499 -xfpm_power_show_tray_menu_battery (GtkStatusIcon *icon, guint button,
501 +xfpm_power_show_tray_menu_battery (GtkStatusIcon *icon, guint button,
502 guint activate_time, XfpmPower *power)
504 xfpm_power_show_tray_menu (power, icon, button, activate_time, TRUE);
508 -xfpm_power_show_tray_menu_adaptor (GtkStatusIcon *icon, guint button,
510 +xfpm_power_show_tray_menu_adaptor (GtkStatusIcon *icon, guint button,
511 guint activate_time, XfpmPower *power)
513 xfpm_power_show_tray_menu (power, icon, button, activate_time, FALSE);
514 @@ -643,26 +643,26 @@ xfpm_power_get_current_charge_state (XfpmPower *power)
517 XfpmBatteryCharge max_charge_status = XFPM_BATTERY_CHARGE_UNKNOWN;
520 list = g_hash_table_get_values (power->priv->hash);
521 len = g_list_length (list);
524 for ( i = 0; i < len; i++)
526 XfpmBatteryCharge battery_charge;
530 g_object_get (G_OBJECT (g_list_nth_data (list, i)),
531 "charge-status", &battery_charge,
532 "device-type", &type,
534 - if ( type != XFPM_DEVICE_TYPE_BATTERY &&
535 + if ( type != XFPM_DEVICE_TYPE_BATTERY &&
536 type != XFPM_DEVICE_TYPE_UPS )
540 max_charge_status = MAX (max_charge_status, battery_charge);
544 return max_charge_status;
547 @@ -679,11 +679,11 @@ static void
548 xfpm_power_add_actions_to_notification (XfpmPower *power, NotifyNotification *n)
550 gboolean can_shutdown;
553 g_object_get (G_OBJECT (power->priv->console),
554 "can-shutdown", &can_shutdown,
558 if ( power->priv->can_hibernate && power->priv->auth_hibernate )
560 xfpm_notify_add_action_to_notification(
561 @@ -692,9 +692,9 @@ xfpm_power_add_actions_to_notification (XfpmPower *power, NotifyNotification *n)
563 _("Hibernate the system"),
564 (NotifyActionCallback)xfpm_power_notify_action_callback,
570 if ( power->priv->can_suspend && power->priv->auth_suspend )
572 xfpm_notify_add_action_to_notification(
573 @@ -703,9 +703,9 @@ xfpm_power_add_actions_to_notification (XfpmPower *power, NotifyNotification *n)
575 _("Suspend the system"),
576 (NotifyActionCallback)xfpm_power_notify_action_callback,
583 xfpm_notify_add_action_to_notification(
585 @@ -713,7 +713,7 @@ xfpm_power_add_actions_to_notification (XfpmPower *power, NotifyNotification *n)
587 _("Shutdown the system"),
588 (NotifyActionCallback)xfpm_power_notify_action_callback,
594 @@ -721,19 +721,19 @@ xfpm_power_show_critical_action_notification (XfpmPower *power, XfpmBattery *bat
596 const gchar *message;
597 NotifyNotification *n;
600 message = _("System is running on low power. "\
601 "Save your work to avoid losing data");
604 - xfpm_notify_new_notification (power->priv->notify,
605 - _("Power Manager"),
609 + xfpm_notify_new_notification (power->priv->notify,
610 + _("Power Manager"),
612 gtk_status_icon_get_icon_name (GTK_STATUS_ICON (battery)),
614 XFPM_NOTIFY_CRITICAL,
615 GTK_STATUS_ICON (battery));
618 xfpm_power_add_actions_to_notification (power, n);
619 xfpm_notify_critical (power->priv->notify, n);
621 @@ -755,24 +755,24 @@ xfpm_power_show_critical_action_gtk (XfpmPower *power)
623 const gchar *message;
624 gboolean can_shutdown;
627 g_object_get (G_OBJECT (power->priv->console),
628 "can-shutdown", &can_shutdown,
632 message = _("System is running on low power. "\
633 "Save your work to avoid losing data");
636 dialog = gtk_dialog_new_with_buttons (_("Power Manager"), NULL, GTK_DIALOG_MODAL,
640 gtk_dialog_set_default_response (GTK_DIALOG (dialog),
641 GTK_RESPONSE_CANCEL);
644 content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
646 gtk_box_pack_start_defaults (GTK_BOX (content_area), gtk_label_new (message));
649 if ( power->priv->can_hibernate && power->priv->auth_hibernate )
651 GtkWidget *hibernate;
652 @@ -780,50 +780,50 @@ xfpm_power_show_critical_action_gtk (XfpmPower *power)
653 img = gtk_image_new_from_icon_name (XFPM_HIBERNATE_ICON, GTK_ICON_SIZE_BUTTON);
654 gtk_button_set_image (GTK_BUTTON (hibernate), img);
655 gtk_dialog_add_action_widget (GTK_DIALOG (dialog), hibernate, GTK_RESPONSE_NONE);
658 g_signal_connect_swapped (hibernate, "clicked",
659 G_CALLBACK (xfpm_power_hibernate_clicked), power);
663 if ( power->priv->can_suspend && power->priv->auth_suspend )
668 suspend = gtk_button_new_with_label (_("Suspend"));
669 img = gtk_image_new_from_icon_name (XFPM_SUSPEND_ICON, GTK_ICON_SIZE_BUTTON);
670 gtk_button_set_image (GTK_BUTTON (suspend), img);
671 gtk_dialog_add_action_widget (GTK_DIALOG (dialog), suspend, GTK_RESPONSE_NONE);
674 g_signal_connect_swapped (suspend, "clicked",
675 G_CALLBACK (xfpm_power_suspend_clicked), power);
684 shutdown = gtk_button_new_with_label (_("Shutdown"));
685 img = gtk_image_new_from_icon_name (XFPM_SUSPEND_ICON, GTK_ICON_SIZE_BUTTON);
686 gtk_button_set_image (GTK_BUTTON (shutdown), img);
687 gtk_dialog_add_action_widget (GTK_DIALOG (dialog), shutdown, GTK_RESPONSE_NONE);
690 g_signal_connect_swapped (shutdown, "clicked",
691 G_CALLBACK (xfpm_power_shutdown_clicked), power);
695 cancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
696 gtk_dialog_add_action_widget (GTK_DIALOG (dialog), cancel, GTK_RESPONSE_NONE);
699 g_signal_connect_swapped (cancel, "clicked",
700 G_CALLBACK (xfpm_power_close_critical_dialog), power);
703 g_signal_connect_swapped (dialog, "destroy",
704 G_CALLBACK (xfpm_power_close_critical_dialog), power);
705 if ( power->priv->dialog )
707 gtk_widget_destroy (power->priv->dialog);
708 power->priv->dialog = NULL;
712 power->priv->dialog = dialog;
713 gtk_widget_show_all (dialog);
714 @@ -833,11 +833,11 @@ static void
715 xfpm_power_show_critical_action (XfpmPower *power, XfpmBattery *battery)
717 gboolean supports_actions;
720 g_object_get (G_OBJECT (power->priv->notify),
721 "actions", &supports_actions,
725 if ( supports_actions )
726 xfpm_power_show_critical_action_notification (power, battery);
728 @@ -861,7 +861,7 @@ static void
729 xfpm_power_system_on_critical_power (XfpmPower *power, XfpmBattery *battery)
731 XfpmShutdownRequest critical_action;
734 g_object_get (G_OBJECT (power->priv->conf),
735 CRITICAL_BATT_ACTION_CFG, &critical_action,
737 @@ -893,53 +893,53 @@ xfpm_power_battery_charge_changed_cb (XfpmBattery *battery, XfpmPower *power)
739 XfpmBatteryCharge battery_charge;
740 XfpmBatteryCharge current_charge;
743 battery_charge = xfpm_battery_get_charge (battery);
744 current_charge = xfpm_power_get_current_charge_state (power);
747 XFPM_DEBUG_ENUM (current_charge, XFPM_TYPE_BATTERY_CHARGE, "Current system charge status");
750 if (current_charge == power->priv->overall_state)
754 if (current_charge >= XFPM_BATTERY_CHARGE_LOW)
755 power->priv->critical_action_done = FALSE;
758 power->priv->overall_state = current_charge;
761 if ( current_charge == XFPM_BATTERY_CHARGE_CRITICAL && power->priv->on_battery)
763 xfpm_power_system_on_critical_power (power, battery);
766 power->priv->on_low_battery = TRUE;
767 g_signal_emit (G_OBJECT (power), signals [LOW_BATTERY_CHANGED], 0, power->priv->on_low_battery);
772 if ( power->priv->on_low_battery )
774 power->priv->on_low_battery = FALSE;
775 g_signal_emit (G_OBJECT (power), signals [LOW_BATTERY_CHANGED], 0, power->priv->on_low_battery);
779 g_object_get (G_OBJECT (power->priv->conf),
780 GENERAL_NOTIFICATION_CFG, ¬ify,
784 if ( power->priv->on_battery )
786 if ( current_charge == XFPM_BATTERY_CHARGE_LOW )
789 - xfpm_notify_show_notification (power->priv->notify,
790 - _("Power Manager"),
791 - _("System is running on low power"),
792 + xfpm_notify_show_notification (power->priv->notify,
793 + _("Power Manager"),
794 + _("System is running on low power"),
795 gtk_status_icon_get_icon_name (GTK_STATUS_ICON (battery)),
799 GTK_STATUS_ICON (battery));
803 else if ( battery_charge == XFPM_BATTERY_CHARGE_LOW )
805 @@ -947,17 +947,17 @@ xfpm_power_battery_charge_changed_cb (XfpmBattery *battery, XfpmPower *power)
811 const gchar *battery_name = xfpm_battery_get_battery_name (battery);
814 time_str = xfpm_battery_get_time_left (battery);
817 msg = g_strdup_printf (_("Your %s charge level is low\nEstimated time left %s"), battery_name, time_str);
820 - xfpm_notify_show_notification (power->priv->notify,
821 - _("Power Manager"),
825 + xfpm_notify_show_notification (power->priv->notify,
826 + _("Power Manager"),
828 gtk_status_icon_get_icon_name (GTK_STATUS_ICON (battery)),
831 @@ -968,7 +968,7 @@ xfpm_power_battery_charge_changed_cb (XfpmBattery *battery, XfpmPower *power)
837 /*Current charge is okay now, then close the dialog*/
838 if ( power->priv->dialog )
840 @@ -983,25 +983,25 @@ xfpm_power_add_device (XfpmPower *power, const gchar *object_path)
841 DBusGProxy *proxy_prop;
842 guint device_type = XFPM_DEVICE_TYPE_UNKNOWN;
845 - proxy_prop = dbus_g_proxy_new_for_name (power->priv->bus,
847 + proxy_prop = dbus_g_proxy_new_for_name (power->priv->bus,
850 DBUS_INTERFACE_PROPERTIES);
855 g_warning ("Unable to create proxy for : %s", object_path);
860 value = xfpm_power_get_interface_property (proxy_prop, UPOWER_IFACE_DEVICE, "Type");
863 device_type = g_value_get_uint (&value);
866 XFPM_DEBUG_ENUM (device_type, XFPM_TYPE_DEVICE_TYPE, " device added");
868 - if ( device_type == XFPM_DEVICE_TYPE_BATTERY ||
870 + if ( device_type == XFPM_DEVICE_TYPE_BATTERY ||
871 device_type == XFPM_DEVICE_TYPE_UPS ||
872 device_type == XFPM_DEVICE_TYPE_MOUSE ||
873 device_type == XFPM_DEVICE_TYPE_KBD ||
874 @@ -1009,7 +1009,7 @@ xfpm_power_add_device (XfpmPower *power, const gchar *object_path)
876 GtkStatusIcon *battery;
878 - XFPM_DEBUG_ENUM (device_type, XFPM_TYPE_DEVICE_TYPE,
879 + XFPM_DEBUG_ENUM (device_type, XFPM_TYPE_DEVICE_TYPE,
880 "Battery device detected at : %s", object_path);
881 proxy = dbus_g_proxy_new_for_name (power->priv->bus,
883 @@ -1017,19 +1017,19 @@ xfpm_power_add_device (XfpmPower *power, const gchar *object_path)
884 UPOWER_IFACE_DEVICE);
885 battery = xfpm_battery_new ();
886 gtk_status_icon_set_visible (battery, FALSE);
887 - xfpm_battery_monitor_device (XFPM_BATTERY (battery),
890 + xfpm_battery_monitor_device (XFPM_BATTERY (battery),
895 g_hash_table_insert (power->priv->hash, g_strdup (object_path), battery);
898 g_signal_connect (battery, "popup-menu",
899 G_CALLBACK (xfpm_power_show_tray_menu_battery), power);
902 g_signal_connect (battery, "battery-charge-changed",
903 G_CALLBACK (xfpm_power_battery_charge_changed_cb), power);
906 xfpm_power_refresh_adaptor_visible (power);
908 else if ( device_type != XFPM_DEVICE_TYPE_LINE_POWER )
909 @@ -1044,9 +1044,9 @@ xfpm_power_get_power_devices (XfpmPower *power)
911 GPtrArray *array = NULL;
915 array = xfpm_power_enumerate_devices (power->priv->proxy);
920 for ( i = 0; i < array->len; i++)
921 @@ -1057,7 +1057,7 @@ xfpm_power_get_power_devices (XfpmPower *power)
923 g_ptr_array_free (array, TRUE);
930 @@ -1111,7 +1111,7 @@ static void
931 xfpm_power_hide_adapter_icon (XfpmPower *power)
933 XFPM_DEBUG ("Hide adaptor icon");
936 if ( power->priv->adapter_icon )
938 g_object_unref (power->priv->adapter_icon);
939 @@ -1123,15 +1123,15 @@ static void
940 xfpm_power_show_adapter_icon (XfpmPower *power)
942 g_return_if_fail (power->priv->adapter_icon == NULL);
945 power->priv->adapter_icon = gtk_status_icon_new ();
948 XFPM_DEBUG ("Showing adaptor icon");
951 gtk_status_icon_set_from_icon_name (power->priv->adapter_icon, XFPM_AC_ADAPTER_ICON);
954 gtk_status_icon_set_visible (power->priv->adapter_icon, TRUE);
957 g_signal_connect (power->priv->adapter_icon, "popup-menu",
958 G_CALLBACK (xfpm_power_show_tray_menu_adaptor), power);
960 @@ -1140,26 +1140,26 @@ static void
961 xfpm_power_refresh_adaptor_visible (XfpmPower *power)
963 XfpmShowIcon show_icon;
966 g_object_get (G_OBJECT (power->priv->conf),
967 SHOW_TRAY_ICON_CFG, &show_icon,
971 XFPM_DEBUG_ENUM (show_icon, XFPM_TYPE_SHOW_ICON, "Tray icon configuration: ");
974 if ( show_icon == SHOW_ICON_ALWAYS )
976 if ( g_hash_table_size (power->priv->hash) == 0 )
978 xfpm_power_show_adapter_icon (power);
979 #if GTK_CHECK_VERSION (2, 16, 0)
980 - gtk_status_icon_set_tooltip_text (power->priv->adapter_icon,
981 - power->priv->on_battery ?
982 + gtk_status_icon_set_tooltip_text (power->priv->adapter_icon,
983 + power->priv->on_battery ?
984 _("Adaptor is offline") :
985 _("Adaptor is online") );
987 - gtk_status_icon_set_tooltip (power->priv->adapter_icon,
988 - power->priv->on_battery ?
989 + gtk_status_icon_set_tooltip (power->priv->adapter_icon,
990 + power->priv->on_battery ?
991 _("Adaptor is offline") :
992 _("Adaptor is online") );
994 @@ -1184,7 +1184,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
996 object_class->get_property = xfpm_power_get_property;
998 - signals [ON_BATTERY_CHANGED] =
999 + signals [ON_BATTERY_CHANGED] =
1000 g_signal_new ("on-battery-changed",
1003 @@ -1193,7 +1193,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
1004 g_cclosure_marshal_VOID__BOOLEAN,
1005 G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
1007 - signals [LOW_BATTERY_CHANGED] =
1008 + signals [LOW_BATTERY_CHANGED] =
1009 g_signal_new ("low-battery-changed",
1012 @@ -1202,7 +1202,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
1013 g_cclosure_marshal_VOID__BOOLEAN,
1014 G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
1016 - signals [LID_CHANGED] =
1017 + signals [LID_CHANGED] =
1018 g_signal_new ("lid-changed",
1021 @@ -1211,7 +1211,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
1022 g_cclosure_marshal_VOID__BOOLEAN,
1023 G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
1025 - signals [WAKING_UP] =
1026 + signals [WAKING_UP] =
1027 g_signal_new ("waking-up",
1030 @@ -1220,7 +1220,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
1031 g_cclosure_marshal_VOID__VOID,
1032 G_TYPE_NONE, 0, G_TYPE_NONE);
1034 - signals [SLEEPING] =
1035 + signals [SLEEPING] =
1036 g_signal_new ("sleeping",
1039 @@ -1229,7 +1229,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
1040 g_cclosure_marshal_VOID__VOID,
1041 G_TYPE_NONE, 0, G_TYPE_NONE);
1043 - signals [ASK_SHUTDOWN] =
1044 + signals [ASK_SHUTDOWN] =
1045 g_signal_new ("ask-shutdown",
1048 @@ -1238,7 +1238,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
1049 g_cclosure_marshal_VOID__VOID,
1050 G_TYPE_NONE, 0, G_TYPE_NONE);
1052 - signals [SHUTDOWN] =
1053 + signals [SHUTDOWN] =
1054 g_signal_new ("shutdown",
1057 @@ -1297,7 +1297,7 @@ xfpm_power_class_init (XfpmPowerClass *klass)
1060 g_type_class_add_private (klass, sizeof (XfpmPowerPrivate));
1063 xfpm_power_dbus_class_init (klass);
1066 @@ -1305,9 +1305,9 @@ static void
1067 xfpm_power_init (XfpmPower *power)
1069 GError *error = NULL;
1072 power->priv = XFPM_POWER_GET_PRIVATE (power);
1075 power->priv->hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
1076 power->priv->lid_is_present = FALSE;
1077 power->priv->lid_is_closed = FALSE;
1078 @@ -1323,26 +1323,26 @@ xfpm_power_init (XfpmPower *power)
1079 power->priv->overall_state = XFPM_BATTERY_CHARGE_OK;
1080 power->priv->critical_action_done = FALSE;
1081 power->priv->power_mode = XFPM_POWER_MODE_NORMAL;
1084 power->priv->inhibit = xfpm_inhibit_new ();
1085 power->priv->notify = xfpm_notify_new ();
1086 power->priv->conf = xfpm_xfconf_new ();
1087 power->priv->console = xfpm_console_kit_new ();
1090 g_signal_connect_swapped (power->priv->conf, "notify::" SHOW_TRAY_ICON_CFG,
1091 G_CALLBACK (xfpm_power_refresh_adaptor_visible), power);
1094 #ifdef ENABLE_POLKIT
1095 power->priv->polkit = xfpm_polkit_get ();
1096 g_signal_connect_swapped (power->priv->polkit, "auth-changed",
1097 G_CALLBACK (xfpm_power_polkit_auth_changed_cb), power);
1101 g_signal_connect (power->priv->inhibit, "has-inhibit-changed",
1102 G_CALLBACK (xfpm_power_inhibit_changed_cb), power);
1105 power->priv->bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
1110 g_critical ("Unable to connect to the system bus : %s", error->message);
1111 @@ -1354,18 +1354,18 @@ xfpm_power_init (XfpmPower *power)
1119 power->priv->proxy_prop = dbus_g_proxy_new_for_name (power->priv->bus,
1122 DBUS_INTERFACE_PROPERTIES);
1123 - if (power->priv->proxy_prop == NULL)
1124 + if (power->priv->proxy_prop == NULL)
1126 g_critical ("Unable to create proxy for %s", UPOWER_NAME);
1131 xfpm_power_get_power_devices (power);
1132 xfpm_power_get_properties (power);
1133 #ifdef ENABLE_POLKIT
1134 @@ -1376,18 +1376,18 @@ xfpm_power_init (XfpmPower *power)
1135 dbus_g_proxy_add_signal (power->priv->proxy, "DeviceAdded", G_TYPE_STRING, G_TYPE_INVALID);
1136 dbus_g_proxy_add_signal (power->priv->proxy, "DeviceRemoved", G_TYPE_STRING, G_TYPE_INVALID);
1137 dbus_g_proxy_add_signal (power->priv->proxy, "DeviceChanged", G_TYPE_STRING, G_TYPE_INVALID);
1140 dbus_g_proxy_connect_signal (power->priv->proxy, "Changed",
1141 G_CALLBACK (xfpm_power_changed_cb), power, NULL);
1142 dbus_g_proxy_connect_signal (power->priv->proxy, "DeviceRemoved",
1143 G_CALLBACK (xfpm_power_device_removed_cb), power, NULL);
1144 dbus_g_proxy_connect_signal (power->priv->proxy, "DeviceAdded",
1145 G_CALLBACK (xfpm_power_device_added_cb), power, NULL);
1148 dbus_g_proxy_connect_signal (power->priv->proxy, "DeviceChanged",
1149 G_CALLBACK (xfpm_power_device_changed_cb), power, NULL);
1154 xfpm_power_refresh_adaptor_visible (power);
1156 @@ -1439,18 +1439,18 @@ xfpm_power_finalize (GObject *object)
1159 power = XFPM_POWER (object);
1162 g_free (power->priv->daemon_version);
1165 g_object_unref (power->priv->inhibit);
1166 g_object_unref (power->priv->notify);
1167 g_object_unref (power->priv->conf);
1168 g_object_unref (power->priv->console);
1171 xfpm_power_hide_adapter_icon (power);
1174 dbus_g_connection_unref (power->priv->bus);
1177 if ( power->priv->proxy )
1179 dbus_g_proxy_disconnect_signal (power->priv->proxy, "Changed",
1180 @@ -1463,7 +1463,7 @@ xfpm_power_finalize (GObject *object)
1181 G_CALLBACK (xfpm_power_device_changed_cb), power);
1182 g_object_unref (power->priv->proxy);
1186 if ( power->priv->proxy_prop )
1187 g_object_unref (power->priv->proxy_prop);
1189 @@ -1480,7 +1480,7 @@ XfpmPower *
1190 xfpm_power_get (void)
1192 static gpointer xfpm_power_object = NULL;
1195 if ( G_LIKELY (xfpm_power_object != NULL ) )
1197 g_object_ref (xfpm_power_object);
1198 @@ -1490,7 +1490,7 @@ xfpm_power_get (void)
1199 xfpm_power_object = g_object_new (XFPM_TYPE_POWER, NULL);
1200 g_object_add_weak_pointer (xfpm_power_object, &xfpm_power_object);
1204 return XFPM_POWER (xfpm_power_object);
1207 @@ -1509,12 +1509,12 @@ gboolean xfpm_power_has_battery (XfpmPower *power)
1208 GtkStatusIcon *battery = NULL;
1213 gboolean ret = FALSE;
1216 list = g_hash_table_get_values (power->priv->hash);
1217 len = g_list_length (list);
1220 for ( i = 0; i < len; i++)
1222 XfpmDeviceType type;
1223 @@ -1527,28 +1527,28 @@ gboolean xfpm_power_has_battery (XfpmPower *power)
1232 XfpmPowerMode xfpm_power_get_mode (XfpmPower *power)
1234 g_return_val_if_fail (XFPM_IS_POWER (power), XFPM_POWER_MODE_NORMAL);
1237 return power->priv->power_mode;
1243 * DBus server implementation for org.freedesktop.PowerManagement
1247 static gboolean xfpm_power_dbus_shutdown (XfpmPower *power,
1250 static gboolean xfpm_power_dbus_reboot (XfpmPower *power,
1254 static gboolean xfpm_power_dbus_hibernate (XfpmPower * power,
1257 @@ -1556,11 +1556,11 @@ static gboolean xfpm_power_dbus_suspend (XfpmPower * power,
1260 static gboolean xfpm_power_dbus_can_reboot (XfpmPower * power,
1261 - gboolean * OUT_can_reboot,
1262 + gboolean * OUT_can_reboot,
1265 static gboolean xfpm_power_dbus_can_shutdown (XfpmPower * power,
1266 - gboolean * OUT_can_reboot,
1267 + gboolean * OUT_can_reboot,
1270 static gboolean xfpm_power_dbus_can_hibernate (XfpmPower * power,
1271 @@ -1606,20 +1606,20 @@ static gboolean xfpm_power_dbus_shutdown (XfpmPower *power,
1274 gboolean can_reboot;
1277 g_object_get (G_OBJECT (power->priv->console),
1278 "can-shutdown", &can_reboot,
1284 g_set_error (error, XFPM_ERROR, XFPM_ERROR_PERMISSION_DENIED,
1285 _("Permission denied"));
1290 xfpm_console_kit_shutdown (power->priv->console, error);
1296 @@ -1627,23 +1627,23 @@ static gboolean xfpm_power_dbus_reboot (XfpmPower *power,
1299 gboolean can_reboot;
1302 g_object_get (G_OBJECT (power->priv->console),
1303 "can-restart", &can_reboot,
1309 g_set_error (error, XFPM_ERROR, XFPM_ERROR_PERMISSION_DENIED,
1310 _("Permission denied"));
1315 xfpm_console_kit_reboot (power->priv->console, error);
1322 static gboolean xfpm_power_dbus_hibernate (XfpmPower * power,
1325 @@ -1652,18 +1652,18 @@ static gboolean xfpm_power_dbus_hibernate (XfpmPower * power,
1326 g_set_error (error, XFPM_ERROR, XFPM_ERROR_PERMISSION_DENIED,
1327 _("Permission denied"));
1334 if (!power->priv->can_hibernate )
1336 g_set_error (error, XFPM_ERROR, XFPM_ERROR_NO_HARDWARE_SUPPORT,
1337 _("Suspend not supported"));
1342 xfpm_power_sleep (power, "Hibernate", FALSE);
1348 @@ -1675,34 +1675,34 @@ static gboolean xfpm_power_dbus_suspend (XfpmPower * power,
1349 g_set_error (error, XFPM_ERROR, XFPM_ERROR_PERMISSION_DENIED,
1350 _("Permission denied"));
1357 if (!power->priv->can_suspend )
1359 g_set_error (error, XFPM_ERROR, XFPM_ERROR_NO_HARDWARE_SUPPORT,
1360 _("Suspend not supported"));
1365 xfpm_power_sleep (power, "Suspend", FALSE);
1371 static gboolean xfpm_power_dbus_can_reboot (XfpmPower * power,
1372 - gboolean * OUT_can_reboot,
1373 + gboolean * OUT_can_reboot,
1376 g_object_get (G_OBJECT (power->priv->console),
1377 "can-reboot", OUT_can_reboot,
1384 static gboolean xfpm_power_dbus_can_shutdown (XfpmPower * power,
1385 - gboolean * OUT_can_shutdown,
1386 + gboolean * OUT_can_shutdown,
1389 g_object_get (G_OBJECT (power->priv->console),
1390 @@ -1724,7 +1724,7 @@ static gboolean xfpm_power_dbus_can_suspend (XfpmPower * power,
1393 *OUT_can_suspend = power->priv->can_suspend;
1399 @@ -1741,7 +1741,7 @@ static gboolean xfpm_power_dbus_get_on_battery (XfpmPower * power,
1402 *OUT_on_battery = power->priv->on_battery;
1408 @@ -1750,6 +1750,6 @@ static gboolean xfpm_power_dbus_get_low_battery (XfpmPower * power,
1411 *OUT_low_battery = power->priv->on_low_battery;