| 588 | | creater (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer user_data1) |
|---|
| 589 | | { |
|---|
| 590 | | gint type; |
|---|
| 591 | | TnyFolderStoreChange *change = user_data1; |
|---|
| 592 | | TnyFolderStore *parentstore = tny_folder_store_change_get_folder_store (change); |
|---|
| 593 | | |
|---|
| 594 | | gtk_tree_model_get (model, iter, |
|---|
| 595 | | TNY_GTK_FOLDER_STORE_TREE_MODEL_TYPE_COLUMN, |
|---|
| 596 | | &type, -1); |
|---|
| 597 | | |
|---|
| 598 | | if (type != TNY_FOLDER_TYPE_ROOT) |
|---|
| 599 | | { |
|---|
| 600 | | TnyFolderStore *fol; |
|---|
| 601 | | |
|---|
| 602 | | gtk_tree_model_get (model, iter, |
|---|
| 603 | | TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, |
|---|
| 604 | | &fol, -1); |
|---|
| 605 | | |
|---|
| 606 | | if (fol == parentstore) |
|---|
| 607 | | { |
|---|
| 608 | | TnyList *created = tny_simple_list_new (); |
|---|
| 609 | | TnyIterator *miter; |
|---|
| 610 | | |
|---|
| 611 | | tny_folder_store_change_get_created_folders (change, created); |
|---|
| 612 | | miter = tny_list_create_iterator (created); |
|---|
| 613 | | |
|---|
| 614 | | while (!tny_iterator_is_done (miter)) |
|---|
| 615 | | { |
|---|
| 616 | | GtkTreeIter newiter; |
|---|
| 617 | | TnyFolder *folder = TNY_FOLDER (tny_iterator_get_current (miter)); |
|---|
| 618 | | |
|---|
| 619 | | gtk_tree_store_append (GTK_TREE_STORE (model), &newiter, iter); |
|---|
| 620 | | |
|---|
| 621 | | /* This adds a reference count to folder_store too. When it gets |
|---|
| 622 | | removed, that reference count is decreased automatically by |
|---|
| 623 | | the gtktreestore infrastructure. */ |
|---|
| 624 | | |
|---|
| 625 | | gtk_tree_store_set (GTK_TREE_STORE (model), &newiter, |
|---|
| 626 | | TNY_GTK_FOLDER_STORE_TREE_MODEL_NAME_COLUMN, |
|---|
| 627 | | tny_folder_get_name (TNY_FOLDER (folder)), |
|---|
| 628 | | TNY_GTK_FOLDER_STORE_TREE_MODEL_UNREAD_COLUMN, |
|---|
| 629 | | tny_folder_get_unread_count (TNY_FOLDER (folder)), |
|---|
| 630 | | TNY_GTK_FOLDER_STORE_TREE_MODEL_ALL_COLUMN, |
|---|
| 631 | | tny_folder_get_all_count (TNY_FOLDER (folder)), |
|---|
| 632 | | TNY_GTK_FOLDER_STORE_TREE_MODEL_TYPE_COLUMN, |
|---|
| 633 | | tny_folder_get_folder_type (TNY_FOLDER (folder)), |
|---|
| 634 | | TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, |
|---|
| 635 | | folder, -1); |
|---|
| 636 | | |
|---|
| 637 | | g_object_unref (G_OBJECT (folder)); |
|---|
| 638 | | |
|---|
| 639 | | tny_iterator_next (miter); |
|---|
| 640 | | } |
|---|
| 641 | | |
|---|
| 642 | | g_object_unref (G_OBJECT (miter)); |
|---|
| 643 | | g_object_unref (G_OBJECT (created)); |
|---|
| 644 | | |
|---|
| 645 | | } |
|---|
| 646 | | |
|---|
| 647 | | g_object_unref (G_OBJECT (fol)); |
|---|
| 648 | | } |
|---|
| 649 | | |
|---|
| 650 | | g_object_unref (G_OBJECT (parentstore)); |
|---|
| 651 | | |
|---|
| 652 | | return FALSE; |
|---|
| 653 | | } |
|---|
| 654 | | |
|---|
| 655 | | |
|---|
| 656 | | static gboolean |
|---|