diff options
Diffstat (limited to 'src/gns/gnunet-gns-gtk_zone.c')
-rw-r--r-- | src/gns/gnunet-gns-gtk_zone.c | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/src/gns/gnunet-gns-gtk_zone.c b/src/gns/gnunet-gns-gtk_zone.c index 95e980e8..433fffab 100644 --- a/src/gns/gnunet-gns-gtk_zone.c +++ b/src/gns/gnunet-gns-gtk_zone.c | |||
@@ -42,6 +42,12 @@ enum | |||
42 | TREE_COL_NAME_IS_EDITABLE, | 42 | TREE_COL_NAME_IS_EDITABLE, |
43 | }; | 43 | }; |
44 | 44 | ||
45 | enum | ||
46 | { | ||
47 | TYPE_LIST_TYPE = 0, | ||
48 | TYPE_LIST_TYPENAME | ||
49 | }; | ||
50 | |||
45 | /** | 51 | /** |
46 | * The user has selected a new record type. Update the | 52 | * The user has selected a new record type. Update the |
47 | * model, possibly invalidating (marking 'red') the existing | 53 | * model, possibly invalidating (marking 'red') the existing |
@@ -54,11 +60,25 @@ enum | |||
54 | */ | 60 | */ |
55 | void | 61 | void |
56 | GNUNET_GNS_GTK_type_cellrenderercombo_changed_cb (GtkCellRendererCombo *combo, | 62 | GNUNET_GNS_GTK_type_cellrenderercombo_changed_cb (GtkCellRendererCombo *combo, |
57 | gchar *path_string, | 63 | gchar *path, |
58 | GtkTreeIter *new_iter, | 64 | GtkTreeIter *new_iter, |
59 | gpointer user_data) | 65 | gpointer user_data) |
60 | { | 66 | { |
61 | GNUNET_break (0); // FIXME, not implemented | 67 | struct GNUNET_GNS_Context *gns = user_data; |
68 | GtkTreeIter it; | ||
69 | GtkTreeModel *tm = GTK_TREE_MODEL(gns->ts); | ||
70 | guint value; | ||
71 | char * v_name; | ||
72 | |||
73 | gtk_tree_model_get(GTK_TREE_MODEL(gns->ls), new_iter, 0, &value, -1); | ||
74 | |||
75 | gtk_tree_model_get(GTK_TREE_MODEL(gns->ls), new_iter, TYPE_LIST_TYPENAME, &v_name, -1); | ||
76 | gtk_tree_model_get_iter_from_string(tm, &it, path); | ||
77 | gtk_tree_store_set(gns->ts, &it, | ||
78 | TREE_COL_RECORD_TYPE, value, | ||
79 | TREE_COL_RECORD_TYPE_AS_STR, v_name, | ||
80 | -1); | ||
81 | |||
62 | } | 82 | } |
63 | 83 | ||
64 | 84 | ||
@@ -137,6 +157,7 @@ GNUNET_GNS_GTK_value_cellrenderertext_edited_cb (GtkCellRendererText *renderer, | |||
137 | &data_size)) | 157 | &data_size)) |
138 | { | 158 | { |
139 | gtk_tree_model_get_iter_from_string(tm, &it, path); | 159 | gtk_tree_model_get_iter_from_string(tm, &it, path); |
160 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_COLOR, NULL, -1); | ||
140 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_AS_STR, new_text, -1); | 161 | gtk_tree_store_set (gns->ts, &it, TREE_COL_VAL_AS_STR, new_text, -1); |
141 | } | 162 | } |
142 | else | 163 | else |
@@ -303,7 +324,7 @@ void zone_iteration_proc (void *cls, | |||
303 | gtk_tree_store_insert_with_values(zc_ctx->gns->ts, &iter_record , &iter_name, 0, | 324 | gtk_tree_store_insert_with_values(zc_ctx->gns->ts, &iter_record , &iter_name, 0, |
304 | TREE_COL_NAME, "", | 325 | TREE_COL_NAME, "", |
305 | TREE_COL_RECORD_TYPE, rd[c].record_type, | 326 | TREE_COL_RECORD_TYPE, rd[c].record_type, |
306 | TREE_COL_EXP_TIME_AS_STR, GNUNET_NAMESTORE_number_to_typename(rd[c].record_type), | 327 | TREE_COL_RECORD_TYPE_AS_STR, GNUNET_NAMESTORE_number_to_typename(rd[c].record_type), |
307 | TREE_COL_IS_PUBLIC, public, | 328 | TREE_COL_IS_PUBLIC, public, |
308 | TREE_COL_EXP_TIME_AS_STR, exp, | 329 | TREE_COL_EXP_TIME_AS_STR, exp, |
309 | TREE_COL_EXP_TIME_IS_REL, time_is_relative, | 330 | TREE_COL_EXP_TIME_IS_REL, time_is_relative, |
@@ -331,8 +352,6 @@ GNUNET_GNS_GTK_main_treeview_realize_cb (GtkWidget *widget, | |||
331 | GtkTreeIter toplevel; | 352 | GtkTreeIter toplevel; |
332 | 353 | ||
333 | /* Append a top level row and leave it empty */ | 354 | /* Append a top level row and leave it empty */ |
334 | //gtk_tree_store_append(gns->ts, &toplevel, NULL); | ||
335 | |||
336 | gtk_tree_store_insert_with_values(gns->ts, &toplevel, NULL, 0, | 355 | gtk_tree_store_insert_with_values(gns->ts, &toplevel, NULL, 0, |
337 | TREE_COL_NAME, _(NEW_RECORD_STR), | 356 | TREE_COL_NAME, _(NEW_RECORD_STR), |
338 | TREE_COL_RECORD_TYPE, 1, | 357 | TREE_COL_RECORD_TYPE, 1, |