diff options
Diffstat (limited to 'src/fs/gnunet-fs-gtk_common.c')
-rw-r--r-- | src/fs/gnunet-fs-gtk_common.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/fs/gnunet-fs-gtk_common.c b/src/fs/gnunet-fs-gtk_common.c index 19b9f30e..36b1c897 100644 --- a/src/fs/gnunet-fs-gtk_common.c +++ b/src/fs/gnunet-fs-gtk_common.c | |||
@@ -545,5 +545,34 @@ GNUNET_GTK_get_reference_from_iter (GtkTreeModel *model, GtkTreeIter *iter) | |||
545 | return result; | 545 | return result; |
546 | } | 546 | } |
547 | 547 | ||
548 | gboolean | ||
549 | GNUNET_GTK_tree_model_get_next_flat_iter (GtkTreeModel *model, GtkTreeIter *iter, gboolean allow_children, GtkTreeIter *next_iter) | ||
550 | { | ||
551 | GtkTreeIter current_iter = *iter; | ||
552 | while (TRUE) | ||
553 | { | ||
554 | GtkTreeIter tmp_iter; | ||
555 | |||
556 | tmp_iter = current_iter; | ||
557 | if (gtk_tree_model_iter_next (model, &tmp_iter)) | ||
558 | { | ||
559 | *next_iter = tmp_iter; | ||
560 | return TRUE; | ||
561 | } | ||
562 | if (allow_children) | ||
563 | { | ||
564 | if (gtk_tree_model_iter_children (model, &tmp_iter, ¤t_iter)) | ||
565 | { | ||
566 | *next_iter = tmp_iter; | ||
567 | return TRUE; | ||
568 | } | ||
569 | } | ||
570 | allow_children = FALSE; | ||
571 | if (!gtk_tree_model_iter_parent (model, &tmp_iter, ¤t_iter)) | ||
572 | return FALSE; | ||
573 | current_iter = tmp_iter; | ||
574 | } | ||
575 | return FALSE; | ||
576 | } | ||
548 | 577 | ||
549 | /* end of gnunet-fs-gtk-common.c */ | 578 | /* end of gnunet-fs-gtk-common.c */ |