diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2012-03-16 13:50:49 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2012-03-16 13:50:49 +0000 |
commit | 3f07393c6aba46585c26f4cbec7a515befdfbe55 (patch) | |
tree | 0b7b737102a5396bcdbe372a5d420e44ec6bcedb | |
parent | 7bef69b82182b32ec182b6fec218cb0903bb1234 (diff) | |
download | gnunet-gtk-3f07393c6aba46585c26f4cbec7a515befdfbe55.tar.gz gnunet-gtk-3f07393c6aba46585c26f4cbec7a515befdfbe55.zip |
- changes
-rw-r--r-- | contrib/gnunet_gns_gtk_main_window.glade | 1 | ||||
-rw-r--r-- | src/gns/gnunet-gns-gtk.c | 1 | ||||
-rw-r--r-- | src/gns/gnunet-gns-gtk.h | 1 | ||||
-rw-r--r-- | src/gns/gnunet-gns-gtk_zone.c | 29 |
4 files changed, 26 insertions, 6 deletions
diff --git a/contrib/gnunet_gns_gtk_main_window.glade b/contrib/gnunet_gns_gtk_main_window.glade index 17929559..649d5af7 100644 --- a/contrib/gnunet_gns_gtk_main_window.glade +++ b/contrib/gnunet_gns_gtk_main_window.glade | |||
@@ -277,7 +277,6 @@ | |||
277 | </object> | 277 | </object> |
278 | <attributes> | 278 | <attributes> |
279 | <attribute name="text">3</attribute> | 279 | <attribute name="text">3</attribute> |
280 | <attribute name="has-entry">2</attribute> | ||
281 | </attributes> | 280 | </attributes> |
282 | </child> | 281 | </child> |
283 | </object> | 282 | </object> |
diff --git a/src/gns/gnunet-gns-gtk.c b/src/gns/gnunet-gns-gtk.c index 8915dc4a..a4c6cac0 100644 --- a/src/gns/gnunet-gns-gtk.c +++ b/src/gns/gnunet-gns-gtk.c | |||
@@ -349,6 +349,7 @@ run (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
349 | } | 349 | } |
350 | gns->builder = GNUNET_GTK_main_loop_get_builder(ml); | 350 | gns->builder = GNUNET_GTK_main_loop_get_builder(ml); |
351 | gns->ts = GTK_TREE_STORE (gtk_builder_get_object (gns->builder, "GNUNET_GNS_GTK_treestore")); | 351 | gns->ts = GTK_TREE_STORE (gtk_builder_get_object (gns->builder, "GNUNET_GNS_GTK_treestore")); |
352 | gns->ls = GTK_LIST_STORE (gtk_builder_get_object (gns->builder, "GNUNET_GNS_GTK_type_liststore")); | ||
352 | GNUNET_assert (NULL != gns->ts); | 353 | GNUNET_assert (NULL != gns->ts); |
353 | 354 | ||
354 | zone_as_string = GNUNET_strdup (GNUNET_h2s_full (&gns->zone)); | 355 | zone_as_string = GNUNET_strdup (GNUNET_h2s_full (&gns->zone)); |
diff --git a/src/gns/gnunet-gns-gtk.h b/src/gns/gnunet-gns-gtk.h index 012f8de3..0eb8db14 100644 --- a/src/gns/gnunet-gns-gtk.h +++ b/src/gns/gnunet-gns-gtk.h | |||
@@ -37,6 +37,7 @@ struct GNUNET_GNS_Context | |||
37 | GtkBuilder *builder; | 37 | GtkBuilder *builder; |
38 | 38 | ||
39 | GtkTreeStore *ts; | 39 | GtkTreeStore *ts; |
40 | GtkListStore *ls; | ||
40 | 41 | ||
41 | struct GNUNET_CRYPTO_RsaPrivateKey *pkey; | 42 | struct GNUNET_CRYPTO_RsaPrivateKey *pkey; |
42 | struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; | 43 | struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded pubkey; |
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, |