window_list = modest_window_mgr_get_window_list (mgr);
if (window_list == NULL) {
win = MODEST_WINDOW (modest_accounts_window_new ());
- modest_window_mgr_register_window (mgr, win, NULL);
- gtk_widget_show_all (GTK_WIDGET (win));
+ if (modest_window_mgr_register_window (mgr, win, NULL))
+ gtk_widget_show_all (GTK_WIDGET (win));
+ else
+ gtk_widget_destroy (GTK_WIDGET (win));
win = MODEST_WINDOW (modest_folder_window_new (NULL));
- modest_window_mgr_register_window (mgr, win, NULL);
-
- gtk_widget_show_all (GTK_WIDGET (win));
+ if (modest_window_mgr_register_window (mgr, win, NULL))
+ gtk_widget_show_all (GTK_WIDGET (win));
+ else
+ gtk_widget_destroy (GTK_WIDGET (win));
} else {
g_list_free (window_list);
}
check_memory_full_error ((GtkWidget *) parent_window, err);
} else {
- mail_op =
+ mail_op =
modest_mail_operation_new_with_error_handling (G_OBJECT(parent_window),
modest_ui_actions_rename_folder_error_handler,
parent_window, NULL);
folder_view = modest_main_window_get_child_widget (
MODEST_MAIN_WINDOW (parent_window),
MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW);
-
- /* Clear the headers view */
- sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (folder_view));
- gtk_tree_selection_unselect_all (sel);
- } else {
- folder_view = NULL;
+ }
+#ifdef MODEST_TOOLKIT_HILDON2
+ else if (MODEST_IS_FOLDER_WINDOW (parent_window)) {
+ ModestFolderWindow *folder_window = (ModestFolderWindow *) parent_window;
+ folder_view = GTK_WIDGET (modest_folder_window_get_folder_view (folder_window));
}
+#endif
+
+ /* Clear the folders view */
+ sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (folder_view));
+ gtk_tree_selection_unselect_all (sel);
/* Actually rename the folder */
modest_mail_operation_rename_folder (mail_op,
(const gchar *) (data->new_name),
on_rename_folder_cb,
folder_view);
- g_object_unref (data->folder);
g_object_unref (mail_op);
}
+ g_object_unref (data->folder);
g_free (data->new_name);
g_free (data);
}
* Used by modest_ui_actions_on_details to call do_headers_action
*/
static void
-headers_action_show_details (TnyHeader *header,
+headers_action_show_details (TnyHeader *header,
ModestWindow *window,
gpointer user_data)
/*
* Show the header details in a ModestDetailsDialog widget
*/
-void
-modest_ui_actions_on_details (GtkAction *action,
+void
+modest_ui_actions_on_details (GtkAction *action,
ModestWindow *win)
{
- TnyList * headers_list;
- TnyIterator *iter;
- TnyHeader *header;
-
if (MODEST_IS_MSG_VIEW_WINDOW (win)) {
TnyMsg *msg;
+ TnyHeader *header;
msg = modest_msg_view_window_get_message (MODEST_MSG_VIEW_WINDOW (win));
if (!msg)
return;
- g_object_unref (msg);
-
- headers_list = get_selected_headers (win);
- if (!headers_list)
- return;
-
- iter = tny_list_create_iterator (headers_list);
- header = TNY_HEADER (tny_iterator_get_current (iter));
+ header = tny_msg_get_header (msg);
if (header) {
headers_action_show_details (header, win, NULL);
g_object_unref (header);
}
-
- g_object_unref (iter);
- g_object_unref (headers_list);
+ g_object_unref (msg);
} else if (MODEST_IS_MAIN_WINDOW (win)) {
GtkWidget *folder_view, *header_view;
TnyFolderStore *dst_folder;
case MODEST_GTK_RESPONSE_NEW_FOLDER:
- modest_ui_actions_create_folder (GTK_WIDGET (parent_win), folder_view);
+ modest_ui_actions_create_folder (GTK_WIDGET (dialog), folder_view);
return;
case GTK_RESPONSE_NONE:
case GTK_RESPONSE_CANCEL: