diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2012-03-22 12:33:58 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2012-03-22 12:33:58 +0000 |
commit | f5ac42daf4247b0b51e67f30022427466342ecd1 (patch) | |
tree | 3c7627a178b898b37957deda726577998f0c3efb | |
parent | 79e4ab71445f76adb7fefb7e34e4fbe924338224 (diff) | |
download | gnunet-gtk-f5ac42daf4247b0b51e67f30022427466342ecd1.tar.gz gnunet-gtk-f5ac42daf4247b0b51e67f30022427466342ecd1.zip |
- update child
-rw-r--r-- | src/gns/gnunet-gns-gtk_zone.c | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/src/gns/gnunet-gns-gtk_zone.c b/src/gns/gnunet-gns-gtk_zone.c index 44a779bd..bfd54760 100644 --- a/src/gns/gnunet-gns-gtk_zone.c +++ b/src/gns/gnunet-gns-gtk_zone.c | |||
@@ -135,7 +135,6 @@ check_name_validity_and_commit (struct GNUNET_GNS_Context *gns, gchar *path) | |||
135 | 135 | ||
136 | if (FALSE == gtk_tree_model_iter_children (gns->tm, &it, &parent)) | 136 | if (FALSE == gtk_tree_model_iter_children (gns->tm, &it, &parent)) |
137 | { | 137 | { |
138 | GNUNET_break (0); | ||
139 | return; | 138 | return; |
140 | } | 139 | } |
141 | for (c = 0; c < children; c++) | 140 | for (c = 0; c < children; c++) |
@@ -155,8 +154,11 @@ check_name_validity_and_commit (struct GNUNET_GNS_Context *gns, gchar *path) | |||
155 | /* valid name */ | 154 | /* valid name */ |
156 | if (NULL == n_name) | 155 | if (NULL == n_name) |
157 | valid = GNUNET_NO; | 156 | valid = GNUNET_NO; |
158 | else if (GNUNET_SYSERR == GNUNET_NAMESTORE_check_name (n_value)) | 157 | else |
158 | { | ||
159 | if (GNUNET_SYSERR == GNUNET_NAMESTORE_check_name (n_name)) | ||
159 | valid = GNUNET_NO; | 160 | valid = GNUNET_NO; |
161 | } | ||
160 | 162 | ||
161 | /* valid record type */ | 163 | /* valid record type */ |
162 | if (0 == n_type) | 164 | if (0 == n_type) |
@@ -590,8 +592,10 @@ GNUNET_GNS_GTK_name_cellrenderertext_edited_cb (GtkCellRendererText *renderer, | |||
590 | { | 592 | { |
591 | struct GNUNET_GNS_Context *gns = user_data; | 593 | struct GNUNET_GNS_Context *gns = user_data; |
592 | GtkTreeIter it; | 594 | GtkTreeIter it; |
595 | GtkTreeIter child; | ||
593 | GtkTreeModel *tm = GTK_TREE_MODEL(gns->ts); | 596 | GtkTreeModel *tm = GTK_TREE_MODEL(gns->ts); |
594 | int not_dummy; | 597 | int not_dummy; |
598 | int children; | ||
595 | 599 | ||
596 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "New text for `%s' is `%s'\n", path, new_text); | 600 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "New text for `%s' is `%s'\n", path, new_text); |
597 | if ((0 == strcmp (new_text, NEW_NAME_STR)) || (0 == strcmp (new_text, ""))) | 601 | if ((0 == strcmp (new_text, NEW_NAME_STR)) || (0 == strcmp (new_text, ""))) |
@@ -609,6 +613,7 @@ GNUNET_GNS_GTK_name_cellrenderertext_edited_cb (GtkCellRendererText *renderer, | |||
609 | TREE_COL_RECORD_TYPE_AS_STR, _(NEW_RECORD_STR), | 613 | TREE_COL_RECORD_TYPE_AS_STR, _(NEW_RECORD_STR), |
610 | TREE_COL_NOT_DUMMY_ROW, GNUNET_YES, | 614 | TREE_COL_NOT_DUMMY_ROW, GNUNET_YES, |
611 | -1); | 615 | -1); |
616 | check_name_validity_and_commit (gns, gtk_tree_model_get_string_from_iter(gns->tm, &it)); | ||
612 | 617 | ||
613 | /* add a new dummy line */ | 618 | /* add a new dummy line */ |
614 | gtk_tree_store_insert_with_values (gns->ts, &it,NULL, 0, | 619 | gtk_tree_store_insert_with_values (gns->ts, &it,NULL, 0, |
@@ -623,6 +628,20 @@ GNUNET_GNS_GTK_name_cellrenderertext_edited_cb (GtkCellRendererText *renderer, | |||
623 | { | 628 | { |
624 | /* update name */ | 629 | /* update name */ |
625 | gtk_tree_store_set (gns->ts, &it, TREE_COL_NAME, new_text, -1); | 630 | gtk_tree_store_set (gns->ts, &it, TREE_COL_NAME, new_text, -1); |
631 | |||
632 | if (TRUE == gtk_tree_model_iter_children (gns->tm, &child, &it)) | ||
633 | { | ||
634 | do | ||
635 | { | ||
636 | gtk_tree_store_set (gns->ts, &child, | ||
637 | TREE_COL_NAME, &new_text, | ||
638 | -1); | ||
639 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "New text for `%s' is `%s'\n", path, new_text); | ||
640 | } | ||
641 | while (TRUE == gtk_tree_model_iter_next (gns->tm, &child)); | ||
642 | } | ||
643 | |||
644 | check_name_validity_and_commit (gns, gtk_tree_model_get_string_from_iter(gns->tm, &it)); | ||
626 | } | 645 | } |
627 | 646 | ||
628 | if (GNUNET_SYSERR == GNUNET_NAMESTORE_check_name (new_text)) | 647 | if (GNUNET_SYSERR == GNUNET_NAMESTORE_check_name (new_text)) |
@@ -637,8 +656,6 @@ GNUNET_GNS_GTK_name_cellrenderertext_edited_cb (GtkCellRendererText *renderer, | |||
637 | TREE_COL_NAME_COLOR, NULL, | 656 | TREE_COL_NAME_COLOR, NULL, |
638 | -1); | 657 | -1); |
639 | } | 658 | } |
640 | |||
641 | check_name_validity_and_commit (gns, path); | ||
642 | } | 659 | } |
643 | 660 | ||
644 | /** | 661 | /** |