Changeset 2848
- Timestamp:
- 10/18/07 15:36:05
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/libtinymail/tny-folder-store.c (modified) (1 diff)
- trunk/libtinymail/tny-folder.c (modified) (3 diffs)
- trunk/libtinymailui-gtk/tny-gtk-folder-store-tree-model.c (modified) (1 diff)
- trunk/tests/c-demo/tny-demoui-summary-view.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r2846 r2848 6 6 * Added a -DMERGEFOLDERTEST that will perform a test for 7 7 TnyMergeFolder 8 * Implemented a small test that makes it possible to transfer messages 9 from one folder to another using the demoui 10 * Removed a few invalid assertions 8 11 9 12 2007-10-17 Philip Van Hoof <pvanhoof@gnome.org> trunk/libtinymail/tny-folder-store.c
r2825 r2848 308 308 g_assert (TNY_IS_FOLDER_STORE (self)); 309 309 g_assert (list); 310 g_assert (callback);311 310 g_assert (TNY_IS_LIST (list)); 312 311 if (query) trunk/libtinymail/tny-folder.c
r2825 r2848 808 808 #ifdef DBC /* require */ 809 809 g_assert (TNY_IS_FOLDER (self)); 810 g_assert (callback);811 g_assert (status_callback);812 810 g_assert (TNY_FOLDER_GET_IFACE (self)->refresh_async_func != NULL); 813 811 #endif … … 1032 1030 g_assert (folder_dst); 1033 1031 g_assert (TNY_IS_FOLDER (folder_dst)); 1034 g_assert (callback);1035 1032 g_assert (TNY_FOLDER_GET_IFACE (self)->transfer_msgs_async_func != NULL); 1036 1033 #endif … … 1190 1187 g_assert (header); 1191 1188 g_assert (TNY_IS_HEADER (header)); 1192 g_assert (callback);1193 g_assert (status_callback);1194 1189 g_assert (TNY_FOLDER_GET_IFACE (self)->get_msg_async_func != NULL); 1195 1190 #endif trunk/libtinymailui-gtk/tny-gtk-folder-store-tree-model.c
r2825 r2848 307 307 break; 308 308 } 309 g_object_unref ( G_OBJECT (citem));309 g_object_unref (citem); 310 310 311 311 } while (gtk_tree_model_iter_next (model, &iter)); trunk/tests/c-demo/tny-demoui-summary-view.c
r2825 r2848 1521 1521 } 1522 1522 1523 1524 typedef struct { 1525 TnyHeader *header; 1526 TnyFolder *to_folder; 1527 } OnMoveToFolderInfo; 1528 1529 static void 1530 on_move_to_folder_activate (GtkMenuItem *mitem, gpointer user_data) 1531 { 1532 OnMoveToFolderInfo *info = user_data; 1533 TnyFolder *folder = tny_header_get_folder (info->header); 1534 1535 if (folder) 1536 { 1537 TnyList *headers = tny_simple_list_new (); 1538 1539 g_print ("Transfering: %s to %s\n", 1540 tny_header_get_subject (info->header), 1541 tny_folder_get_name (info->to_folder)); 1542 1543 tny_list_prepend (headers, (GObject *) info->header); 1544 tny_folder_transfer_msgs_async (folder, headers, info->to_folder, 1545 FALSE, NULL, NULL, user_data); 1546 g_object_unref (headers); 1547 } 1548 1549 return; 1550 } 1551 1552 static void 1553 recursive_all_folders (GtkWidget *my_widget, GtkTreeModel *model, GtkTreeIter *iter, gpointer user_data, GtkWidget *menu) 1554 { 1555 TnyDemouiSummaryView *self = user_data; 1556 TnyDemouiSummaryViewPriv *priv = TNY_DEMOUI_SUMMARY_VIEW_GET_PRIVATE (self); 1557 1558 do { 1559 GtkTreeIter niter; 1560 GObject *citem; 1561 gchar *line; 1562 1563 gtk_tree_model_get (model, iter, 1564 TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN, 1565 &citem, TNY_GTK_FOLDER_STORE_TREE_MODEL_NAME_COLUMN, &line, -1); 1566 1567 if (TNY_IS_FOLDER (citem)) 1568 { 1569 GtkTreeIter hiter; 1570 GtkTreeModel *hmodel = gtk_tree_view_get_model (priv->header_view); 1571 GtkTreeSelection *sel = gtk_tree_view_get_selection (priv->header_view); 1572 1573 if (gtk_tree_selection_get_selected (sel, &hmodel, &hiter)) 1574 { 1575 /* Small leak, indeed */ 1576 OnMoveToFolderInfo *info = g_new0 (OnMoveToFolderInfo, 1); 1577 GtkWidget *menuitem = NULL; 1578 1579 info->to_folder = (TnyFolder *) citem; 1580 gtk_tree_model_get (hmodel, &hiter, 1581 TNY_GTK_HEADER_LIST_MODEL_INSTANCE_COLUMN, 1582 &info->header, -1); 1583 1584 menuitem = gtk_menu_item_new_with_label (tny_folder_get_name ((TnyFolder *)citem)); 1585 1586 g_signal_connect (G_OBJECT (menuitem), "activate", 1587 G_CALLBACK (on_move_to_folder_activate), info); 1588 1589 gtk_widget_show (menuitem); 1590 gtk_menu_prepend (menu, menuitem); 1591 } 1592 } 1593 1594 g_object_unref (citem); 1595 1596 if (gtk_tree_model_iter_children (model, &niter, iter)) { 1597 recursive_all_folders (my_widget, model, &niter, user_data, menu); 1598 } 1599 1600 } while (gtk_tree_model_iter_next (model, iter)); 1601 } 1602 1523 1603 static void 1524 1604 header_view_do_popup_menu (GtkWidget *my_widget, GdkEventButton *event, gpointer user_data) 1525 1605 { 1606 TnyDemouiSummaryView *self = user_data; 1607 TnyDemouiSummaryViewPriv *priv = TNY_DEMOUI_SUMMARY_VIEW_GET_PRIVATE (self); 1608 1526 1609 GtkWidget *menu; 1527 1610 int button, event_time; 1611 GtkTreeView *view = priv->mailbox_view; 1612 GtkTreeModel *model = gtk_tree_view_get_model (view); 1528 1613 1529 1614 menu = gtk_menu_new (); 1530 g_signal_connect (menu, "deactivate", G_CALLBACK (gtk_widget_destroy), NULL); 1531 1532 /* ... add menu items ... */ 1615 1616 if (model) { 1617 GtkTreeIter iter; 1618 gtk_tree_model_get_iter_first (model, &iter); 1619 recursive_all_folders (my_widget, model, &iter, user_data, menu); 1620 } 1533 1621 1534 1622 if (event)
