diff options
author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2007-03-03 16:19:51 +0000 |
---|---|---|
committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2007-03-03 16:19:51 +0000 |
commit | f7ab0cb977df0d6eba533a245c93da582b9f5f84 (patch) | |
tree | 1e6c3b94103371e6248391e6f56d0652ffdf0d90 /hardinfo2/util.c | |
parent | 6209464ea2c3bc3763bf6170bb4c54a2bfe2d1f4 (diff) |
Better APM battery support
Diffstat (limited to 'hardinfo2/util.c')
-rw-r--r-- | hardinfo2/util.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/hardinfo2/util.c b/hardinfo2/util.c index 288dda6c..265ebd3a 100644 --- a/hardinfo2/util.c +++ b/hardinfo2/util.c @@ -33,6 +33,36 @@ #define MiB 1048576 #define GiB 1073741824 +gchar *seconds_to_string(unsigned int seconds) +{ + unsigned int hours, minutes, days; + + minutes = seconds / 60; + hours = minutes / 60; + minutes %= 60; + days = hours / 24; + hours %= 24; + +#define plural(x) ((x > 1) ? "s" : "") + + if (days < 1) { + if (hours < 1) { + return g_strdup_printf("%d minute%s", minutes, + plural(minutes)); + } else { + return g_strdup_printf("%d hour%s, %d minute%s", + hours, + plural(hours), minutes, + plural(minutes)); + } + } + + return g_strdup_printf("%d day%s, %d hour%s and %d minute%s", + days, plural(days), hours, + plural(hours), minutes, + plural(minutes)); +} + inline gchar *size_human_readable(gfloat size) { if (size < KiB) |