[gnome-settings-daemon] power: Make the Percentage property always reflect the composite device



commit c93c95527f096266b7b2d828a934326459ade674
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Mon Jun 10 13:30:30 2013 -0400

    power: Make the Percentage property always reflect the composite device
    
    And ensure that it returns -1 when we have no devices in the composite
    device.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=700913

 plugins/power/gsd-power-manager.c |   33 ++++++++-------------------------
 1 files changed, 8 insertions(+), 25 deletions(-)
---
diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
index 555ba6a..2adc451 100644
--- a/plugins/power/gsd-power-manager.c
+++ b/plugins/power/gsd-power-manager.c
@@ -513,35 +513,18 @@ engine_get_summary (GsdPowerManager *manager)
 static gdouble
 engine_get_percentage (GsdPowerManager *manager)
 {
-        guint i;
-        GPtrArray *array;
-        UpDevice *device;
-        UpDeviceKind kind;
         gboolean is_present;
         gdouble percentage;
 
-        array = manager->priv->devices_array;
-        for (i = 0; i < array->len ; i++) {
-                device = g_ptr_array_index (array, i);
-
-                /* get device properties */
-                g_object_get (device,
-                              "kind", &kind,
-                              "is-present", &is_present,
-                              NULL);
-
-                /* if battery then use composite device to cope with multiple batteries */
-                if (kind == UP_DEVICE_KIND_BATTERY)
-                        device = manager->priv->device_composite;
-
-                if (is_present) {
-                        /* Doing it here as it could be a composite device */
-                        g_object_get (device, "percentage", &percentage, NULL);
-                        return percentage;
-                }
-        }
-        return -1;
+        g_object_get (manager->priv->device_composite,
+                      "percentage", &percentage,
+                      "is-present", &is_present,
+                      NULL);
 
+        if (is_present)
+                return percentage;
+        else
+                return -1;
 }
 
 static GIcon *


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]