/*
- * Copyright (C) 2010-2012 jeanfi@gmail.com
+ * Copyright (C) 2010-2013 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
#include "ui_appindicator.h"
#endif
+enum {
+ COL_NAME = 0,
+ COL_SENSOR
+};
+
struct sensor_pref {
struct psensor *sensor;
char *name;
static void sensor_pref_list_free(struct sensor_pref **list)
{
- struct sensor_pref **cur = list;
+ struct sensor_pref **cur;
- while (*cur) {
+ for (cur = list; *cur; cur++)
sensor_pref_free(*cur);
- cur++;
- }
-
free(list);
}
struct config *cfg,
GtkBuilder *builder)
{
- GtkLabel *w_id, *w_type, *w_high_threshold_unit, *w_low_threshold_unit;
+ GtkLabel *w_id, *w_type, *w_high_threshold_unit, *w_low_threshold_unit,
+ *w_chipname;
GtkEntry *w_name;
GtkToggleButton *w_draw, *w_alarm, *w_appindicator_enabled;
GtkColorButton *w_color;
w_name = GTK_ENTRY(gtk_builder_get_object(builder, "sensor_name"));
gtk_entry_set_text(w_name, p->name);
+ w_chipname = GTK_LABEL(gtk_builder_get_object(builder, "chip_name"));
+ if (s->chip)
+ gtk_label_set_text(w_chipname, s->chip);
+ else
+ gtk_label_set_text(w_chipname, _("Unknown"));
+
w_draw = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
"sensor_draw"));
gtk_toggle_button_set_active(w_draw, p->enabled);
gtk_widget_set_sensitive(GTK_WIDGET(w_alarm), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(w_high_threshold), TRUE);
gtk_widget_set_sensitive(GTK_WIDGET(w_low_threshold), TRUE);
- gtk_toggle_button_set_active(w_appindicator_enabled,
- p->appindicator_enabled);
} else {
gtk_toggle_button_set_active(w_alarm, 0);
gtk_spin_button_set_value(w_high_threshold, 0);
gtk_widget_set_sensitive(GTK_WIDGET(w_alarm), FALSE);
gtk_widget_set_sensitive(GTK_WIDGET(w_high_threshold), FALSE);
gtk_widget_set_sensitive(GTK_WIDGET(w_low_threshold), FALSE);
- gtk_toggle_button_set_active(w_appindicator_enabled,
- !p->appindicator_enabled);
}
+
+ gtk_toggle_button_set_active(w_appindicator_enabled,
+ p->appindicator_enabled);
+
}
static void on_changed(GtkTreeSelection *selection, gpointer data)
GError *error = NULL;
GtkTreeView *w_sensors_list;
guint ok;
- GtkCellRenderer *renderer;
GtkListStore *store;
- struct psensor **s_cur;
+ struct psensor **s_cur, *s;
GtkTreeSelection *selection;
struct cb_data cbdata;
+ GtkTreeIter iter;
cbdata.ui = ui;
- cbdata.prefs = sensor_pref_list_new(ui->sensors,
- ui->config);
+ cbdata.prefs = sensor_pref_list_new(ui->sensors, ui->config);
builder = gtk_builder_new();
cbdata.builder = builder;
= GTK_TREE_VIEW(gtk_builder_get_object(builder,
"sensors_list"));
- renderer = gtk_cell_renderer_text_new();
- gtk_tree_view_insert_column_with_attributes(w_sensors_list,
- -1,
- _("Sensor Name"),
- renderer,
- "text", 0, NULL);
-
- store = GTK_LIST_STORE(gtk_tree_view_get_model(w_sensors_list));
-
- s_cur = ui->sensors;
- while (*s_cur) {
- GtkTreeIter iter;
- struct psensor *s = *s_cur;
+ store = GTK_LIST_STORE(gtk_builder_get_object(builder,
+ "sensors_liststore"));
+ for (s_cur = ui->sensors; *s_cur; s_cur++) {
+ s = *s_cur;
gtk_list_store_append(store, &iter);
- gtk_list_store_set(store, &iter, 0, s->name, -1);
-
- s_cur++;
+ gtk_list_store_set(store, &iter,
+ COL_NAME, s->name,
+ COL_SENSOR, s,
+ -1);
}
selection = gtk_tree_view_get_selection(w_sensors_list);
if (result == GTK_RESPONSE_ACCEPT) {
apply_prefs(cbdata.prefs, ui->sensors, ui->config);
- ui_sensorlist_update_sensors_preferences(ui);
+ ui_sensorlist_update(ui, 1);
#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
ui_appindicator_update_menu(ui);
#endif