diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2012-03-16 14:31:44 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2012-03-16 14:31:44 +0000 |
commit | c95431fb48da383d3c5ec84a0285384a71436f00 (patch) | |
tree | c71f0002f64a1052201f0bd31630cded0a0bb6ee | |
parent | 0e01c52beb8915281992ee4fc989db926294c994 (diff) | |
download | gnunet-gtk-c95431fb48da383d3c5ec84a0285384a71436f00.tar.gz gnunet-gtk-c95431fb48da383d3c5ec84a0285384a71436f00.zip |
- value check if type changes
-rw-r--r-- | src/gns/gnunet-gns-gtk_zone.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/gns/gnunet-gns-gtk_zone.c b/src/gns/gnunet-gns-gtk_zone.c index bef4e1d0..319061ef 100644 --- a/src/gns/gnunet-gns-gtk_zone.c +++ b/src/gns/gnunet-gns-gtk_zone.c | |||
@@ -67,19 +67,31 @@ GNUNET_GNS_GTK_type_cellrenderercombo_changed_cb (GtkCellRendererCombo *combo, | |||
67 | struct GNUNET_GNS_Context *gns = user_data; | 67 | struct GNUNET_GNS_Context *gns = user_data; |
68 | GtkTreeIter it; | 68 | GtkTreeIter it; |
69 | GtkTreeModel *tm = GTK_TREE_MODEL(gns->ts); | 69 | GtkTreeModel *tm = GTK_TREE_MODEL(gns->ts); |
70 | guint value; | 70 | guint type; |
71 | char * v_name; | 71 | char *type_str; |
72 | char *value_str; | ||
73 | void *data; | ||
74 | size_t data_size; | ||
75 | |||
76 | gtk_tree_model_get(GTK_TREE_MODEL(gns->ls), new_iter, 0, &type, -1); | ||
77 | gtk_tree_model_get(GTK_TREE_MODEL(gns->ls), new_iter, TYPE_LIST_TYPENAME, &type_str, -1); | ||
72 | 78 | ||
73 | gtk_tree_model_get(GTK_TREE_MODEL(gns->ls), new_iter, 0, &value, -1); | ||
74 | gtk_tree_model_get(GTK_TREE_MODEL(gns->ls), new_iter, TYPE_LIST_TYPENAME, &v_name, -1); | ||
75 | gtk_tree_model_get_iter_from_string(tm, &it, path); | 79 | gtk_tree_model_get_iter_from_string(tm, &it, path); |
76 | gtk_tree_store_set(gns->ts, &it, | 80 | gtk_tree_store_set(gns->ts, &it, |
77 | TREE_COL_RECORD_TYPE, value, | 81 | TREE_COL_RECORD_TYPE, type, |
78 | TREE_COL_RECORD_TYPE_AS_STR, v_name, | 82 | TREE_COL_RECORD_TYPE_AS_STR, type_str, |
79 | -1); | 83 | -1); |
84 | GNUNET_free (type_str); | ||
80 | 85 | ||
81 | /* check if value is still valid */ | 86 | /* check if value is still valid */ |
82 | 87 | gtk_tree_model_get(tm, &it, TREE_COL_VAL_AS_STR, &value_str, -1); | |
88 | if (GNUNET_OK != GNUNET_NAMESTORE_string_to_value (type, | ||
89 | value_str, | ||
90 | &data, | ||
91 | &data_size)) | ||
92 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_COLOR, "red", -1); | ||
93 | else | ||
94 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_COLOR, NULL, -1); | ||
83 | } | 95 | } |
84 | 96 | ||
85 | 97 | ||
@@ -159,7 +171,6 @@ GNUNET_GNS_GTK_value_cellrenderertext_edited_cb (GtkCellRendererText *renderer, | |||
159 | &data, | 171 | &data, |
160 | &data_size)) | 172 | &data_size)) |
161 | { | 173 | { |
162 | |||
163 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_COLOR, NULL, -1); | 174 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_COLOR, NULL, -1); |
164 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_AS_STR, new_text, -1); | 175 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_AS_STR, new_text, -1); |
165 | } | 176 | } |