*/
#include <unity.h>
-#include "psensor.h"
+#include <cfg.h>
+#include <temperature.h>
+#include <ui_unity.h>
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;
last_visible = show;
}
- if (sensors && *sensors) {
- v = psensor_get_max_current_value(sensors, SENSOR_TYPE_TEMP);
+ if (show && sensors && *sensors) {
+ v = get_max_current_value(sensors, SENSOR_TYPE_TEMP);
- if (!use_celcius)
- v = celcius_to_fahrenheit(v);
+ if (v != UNKNOWN_DBL_VALUE) {
+ if (!use_celsius)
+ v = celsius_to_fahrenheit(v);
- unity_launcher_entry_set_count(psensor_entry, v);
+ unity_launcher_entry_set_count(psensor_entry, v);
+ }
}
}
+
+void ui_unity_init(void)
+{
+}