aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Jardón <javier.jardon@codethink.co.uk>2011-10-13 15:58:27 +0100
committerJavier Jardón <javier.jardon@codethink.co.uk>2011-10-13 15:58:27 +0100
commit15c23becda24c70c2d859eb7ddf4f72e63d38825 (patch)
treedecd45ce0b4b4c227d90f2b758a51c842fac03e7
parent29f26133d5fbf3b67b9bbac487f2441cda1f3f1e (diff)
downloadayatana-indicator-power-15c23becda24c70c2d859eb7ddf4f72e63d38825.tar.gz
ayatana-indicator-power-15c23becda24c70c2d859eb7ddf4f72e63d38825.tar.bz2
ayatana-indicator-power-15c23becda24c70c2d859eb7ddf4f72e63d38825.zip
Do not hardcode icon percentage when discharging
-rw-r--r--src/indicator-power.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/indicator-power.c b/src/indicator-power.c
index 1ef1b85..cb684f5 100644
--- a/src/indicator-power.c
+++ b/src/indicator-power.c
@@ -360,6 +360,20 @@ set_accessible_desc (IndicatorPower *self,
priv->accessible_desc = g_strdup (desc);
}
+static const gchar *
+get_icon_percentage_for_status (const gchar *status)
+{
+
+ if (g_strcmp0 (status, "caution") == 0)
+ return "000";
+ else if (g_strcmp0 (status, "low") == 0)
+ return "040";
+ else if (g_strcmp0 (status, "good") == 0)
+ return "080";
+ else
+ return "100";
+}
+
static GIcon*
build_battery_icon (UpDeviceState state,
gchar *suffix_str)
@@ -388,10 +402,11 @@ build_battery_icon (UpDeviceState state,
}
else if (state == UP_DEVICE_STATE_DISCHARGING)
{
+ const gchar *percentage = get_icon_percentage_for_status (suffix_str);
g_string_append_printf (filename, "battery-%s;", suffix_str);
g_string_append_printf (filename, "battery-%s-symbolic;", suffix_str);
- g_string_append (filename, "battery-040;");
- g_string_append (filename, "gpm-battery-040;");
+ g_string_append_printf (filename, "battery-%s;", percentage);
+ g_string_append_printf (filename, "gpm-battery-%s;", percentage);
}
iconnames = g_strsplit (filename->str, ";", -1);