summaryrefslogtreecommitdiff
path: root/src/up-daemon.c
diff options
context:
space:
mode:
authorPablo Correa Gómez <ablocorrea@hotmail.com>2021-06-17 14:25:33 +0200
committerPablo Correa Gómez <ablocorrea@hotmail.com>2021-06-18 13:08:59 +0200
commit9b2ab574e1c7d70a1e90a0ccf4cfb940af9b85bb (patch)
tree3346771b1ff1cf2a73ed7bc726f6c502c6a8ce91 /src/up-daemon.c
parentb64902eed2efa1e91e8faa49b44bf6b1982b8375 (diff)
downloadupower-9b2ab574e1c7d70a1e90a0ccf4cfb940af9b85bb.tar.gz
daemon: Make get_device_charge_icon() public
Diffstat (limited to 'src/up-daemon.c')
-rw-r--r--src/up-daemon.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/up-daemon.c b/src/up-daemon.c
index ef2cd6b..8fcaabe 100644
--- a/src/up-daemon.c
+++ b/src/up-daemon.c
@@ -704,6 +704,39 @@ up_daemon_update_warning_level (UpDaemon *daemon)
up_daemon_set_warning_level (daemon, warning_level);
}
+const gchar *
+up_daemon_get_charge_icon (gdouble percentage,
+ UpDeviceLevel battery_level,
+ gboolean charging)
+{
+ if (battery_level == UP_DEVICE_LEVEL_NONE && daemon != NULL) {
+ if (percentage < 10)
+ return charging ? "battery-caution-charging-symbolic" : "battery-caution-symbolic";
+ else if (percentage < 30)
+ return charging ? "battery-low-charging-symbolic" : "battery-low-symbolic";
+ else if (percentage < 60)
+ return charging ? "battery-good-charging-symbolic" : "battery-good-symbolic";
+ return charging ? "battery-full-charging-symbolic" : "battery-full-symbolic";
+ } else {
+ switch (battery_level) {
+ case UP_DEVICE_LEVEL_UNKNOWN:
+ /* The lack of symmetry is on purpose */
+ return charging ? "battery-good-charging-symbolic" : "battery-caution-symbolic";
+ case UP_DEVICE_LEVEL_LOW:
+ case UP_DEVICE_LEVEL_CRITICAL:
+ return charging ? "battery-caution-charging-symbolic" : "battery-caution-symbolic";
+ case UP_DEVICE_LEVEL_NORMAL:
+ return charging ? "battery-low-charging-symbolic" : "battery-low-symbolic";
+ case UP_DEVICE_LEVEL_HIGH:
+ return charging ? "battery-good-charging-symbolic" : "battery-good-symbolic";
+ case UP_DEVICE_LEVEL_FULL:
+ return charging ? "battery-full-charging-symbolic" : "battery-full-symbolic";
+ default:
+ g_assert_not_reached ();
+ }
+ }
+}
+
/**
* up_daemon_device_changed_cb:
**/