GTK_POLICY_AUTOMATIC);
/* Create folder view */
- *tree_view = modest_folder_view_new (NULL);
+ *tree_view = modest_platform_create_folder_view (NULL);
/* It could happen that we're trying to move a message from a
window (msg window for example) after the main window was
gtk_widget_show_all (GTK_WIDGET(GTK_DIALOG(dialog)->vbox));
+ /* Select INBOX or local account */
+ modest_folder_view_select_first_inbox_or_local (MODEST_FOLDER_VIEW (*tree_view));
+
return dialog;
}
static void
-tranasfer_msgs_from_viewer_cb (const GObject *object, gpointer user_data)
+transfer_msgs_from_viewer_cb (const GObject *object, gpointer user_data)
{
ModestMsgViewWindow *self = NULL;
- gboolean found = FALSE;
g_return_if_fail (MODEST_IS_MSG_VIEW_WINDOW (object));
self = MODEST_MSG_VIEW_WINDOW (object);
- found = modest_msg_view_window_select_first_message (self);
- g_return_if_fail (found);
+ /* If there are not more messages don't do anything. The
+ viewer will show the same message */
+ if (!modest_msg_view_window_select_first_message (self))
+ return;
}
void
headers,
TNY_FOLDER (folder_store),
TRUE,
- tranasfer_msgs_from_viewer_cb,
+ transfer_msgs_from_viewer_cb,
NULL);
g_object_unref (G_OBJECT (mail_op));
}
{
TnyList *headers_list;
TnyIterator *iter;
+ TnyHeader *header;
+ TnyFolder *folder;
/* Get headers */
headers_list = get_selected_headers (win);
if (!headers_list)
return;
- /* Call the function for each header */
+ /* Get the folder */
iter = tny_list_create_iterator (headers_list);
- while (!tny_iterator_is_done (iter)) {
- TnyHeader *header;
+ header = TNY_HEADER (tny_iterator_get_current (iter));
+ folder = tny_header_get_folder (header);
+ g_object_unref (header);
+ /* Call the function for each header */
+ while (!tny_iterator_is_done (iter)) {
header = TNY_HEADER (tny_iterator_get_current (iter));
func (header, win, user_data);
g_object_unref (header);
tny_iterator_next (iter);
}
+
+ /* Trick: do a poke status in order to speed up the signaling
+ of observers */
+ tny_folder_poke_status (folder);
+
+ /* Frees */
+ g_object_unref (folder);
g_object_unref (iter);
g_object_unref (headers_list);
}