[gnome-settings-daemon/wip/aggregate-menu: 5/8] power: Use is-present to mark whether the composite device is relevant



commit 00b40658716d931d3e2153cca628a05f73523afe
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Mon Jun 10 13:38:27 2013 -0400

    power: Use is-present to mark whether the composite device is relevant
    
    https://bugzilla.gnome.org/show_bug.cgi?id=700913

 plugins/power/gsd-power-manager.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
index 7c9f974..46c41a4 100644
--- a/plugins/power/gsd-power-manager.c
+++ b/plugins/power/gsd-power-manager.c
@@ -711,6 +711,7 @@ engine_update_composite_device (GsdPowerManager *manager)
         gdouble energy_rate_total = 0.0;
         gint64 time_to_empty = 0;
         gint64 time_to_full = 0;
+        guint battery_devices = 0;
         gboolean is_charging = FALSE;
         gboolean is_discharging = FALSE;
         gboolean is_fully_charged = TRUE;
@@ -745,8 +746,12 @@ engine_update_composite_device (GsdPowerManager *manager)
                 energy_total += energy;
                 energy_full_total += energy_full;
                 energy_rate_total += energy_rate;
+                battery_devices++;
         }
 
+        if (battery_devices == 0)
+                goto out;
+
         /* use percentage weighted for each battery capacity */
         if (energy_full_total > 0.0)
                 percentage = 100.0 * energy_total / energy_full_total;
@@ -769,6 +774,7 @@ engine_update_composite_device (GsdPowerManager *manager)
                         time_to_full = 3600 * ((energy_full_total - energy_total) / energy_rate_total);
         }
 
+ out:
         g_debug ("printing composite device");
         g_object_set (manager->priv->device_composite,
                       "energy", energy,
@@ -778,6 +784,7 @@ engine_update_composite_device (GsdPowerManager *manager)
                       "time-to-full", time_to_full,
                       "percentage", percentage,
                       "state", state,
+                      "is-present", (battery_devices > 0),
                       NULL);
 
         /* force update of icon */


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