- color_set(s->color,
- p->color->red, p->color->green, p->color->blue);
- config_set_sensor_color(s->id, s->color);
+ if (s->alarm_enabled != p->alarm_enabled) {
+ s->alarm_enabled = p->alarm_enabled;
+ config_set_sensor_alarm_enabled(s->id, s->alarm_enabled);
+ }
+
+ color_set(s->color, p->color->red, p->color->green, p->color->blue);
+ config_set_sensor_color(s->id, s->color);
+
+ if (s->appindicator_enabled != p->appindicator_enabled) {
+ s->appindicator_enabled = p->appindicator_enabled;
+ config_set_appindicator_enabled(s->id, s->appindicator_enabled);
+ }
+
+ config_set_appindicator_label_enabled(s->id,
+ p->appindicator_label_enabled);
+
+ config_set_sensor_position(s->id, pos);
+}
+
+static void apply_prefs(GtkTreeModel *model, struct config *cfg)
+{
+ gboolean valid;
+ struct sensor_pref *spref;
+ GtkTreeIter iter;
+ int i;
+
+ valid = gtk_tree_model_get_iter_first(model, &iter);
+ i = 0;
+ while (valid) {
+ gtk_tree_model_get(model, &iter, COL_SENSOR_PREF, &spref, -1);
+ apply_pref(spref, i, cfg);
+ valid = gtk_tree_model_iter_next(model, &iter);
+ i++;