X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui_unity.c;h=0ab2e1290d9517dd90f1471971e830d4c996f4be;hb=28ba8deef53e8f46fa79919b9fea4fe2dc1163e4;hp=6040facd9408bc726ed778be2d0ad2858bfc415c;hpb=6f8560319706bacf5a24e2a01de2cdb9d2ae9b35;p=psensor.git diff --git a/src/ui_unity.c b/src/ui_unity.c index 6040fac..0ab2e12 100644 --- a/src/ui_unity.c +++ b/src/ui_unity.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2012 jeanfi@gmail.com + * Copyright (C) 2010-2014 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -18,22 +18,45 @@ */ #include -#include "psensor.h" +#include +#include +#include static int initialized; static UnityLauncherEntry *psensor_entry; static unsigned int last_visible = -1; +static double get_max_current_value(struct psensor **sensors, unsigned int type) +{ + double m, v; + struct psensor *s; + + m = UNKNOWN_DBL_VALUE; + while (*sensors) { + s = *sensors; + + if ((s->type & type) && config_is_sensor_graph_enabled(s->id)) { + v = psensor_get_current_value(s); + + if (m == UNKNOWN_DBL_VALUE || v > m) + m = v; + } + + sensors++; + } + + return m; +} + void ui_unity_launcher_entry_update(struct psensor **sensors, unsigned int show, - int use_celcius) + int use_celsius) { double v; - if (!initialized) { psensor_entry = unity_launcher_entry_get_for_desktop_file - ("psensor.desktop"); + (PSENSOR_DESKTOP_FILE); unity_launcher_entry_set_count(psensor_entry, 0); initialized = 1; @@ -50,10 +73,10 @@ void ui_unity_launcher_entry_update(struct psensor **sensors, } if (sensors && *sensors) { - v = psensor_get_max_current_value(sensors, SENSOR_TYPE_TEMP); + v = get_max_current_value(sensors, SENSOR_TYPE_TEMP); - if (!use_celcius) - v = celcius_to_fahrenheit(v); + if (!use_celsius) + v = celsius_to_fahrenheit(v); unity_launcher_entry_set_count(psensor_entry, v); }