if (MODEST_IS_MAIN_WINDOW (win)) {
header_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (win),
MODEST_WIDGET_TYPE_HEADER_VIEW);
- if (!GTK_WIDGET_HAS_FOCUS (header_view))
+ if (!gtk_widget_is_focus (header_view))
return;
}
}
/* Select message */
- if (tny_list_get_length(header_list) > 1)
- message = g_strdup(_("emev_nc_delete_messages"));
- else {
+ if (tny_list_get_length(header_list) == 1) {
iter = tny_list_create_iterator (header_list);
header = TNY_HEADER (tny_iterator_get_current (iter));
desc = g_strdup_printf ("%s", tny_header_get_subject (header));
- message = g_strdup_printf(_("emev_nc_delete_message"), desc);
g_object_unref (header);
g_object_unref (iter);
}
+ message = g_strdup_printf(ngettext("emev_nc_delete_message", "emev_nc_delete_messages",
+ tny_list_get_length(header_list)), desc);
/* Confirmation dialog */
response = modest_platform_run_confirmation_dialog (GTK_WINDOW (win),
/* Show the window: */
gtk_window_set_transient_for (GTK_WINDOW (specific_window), GTK_WINDOW (win));
gtk_window_set_modal (GTK_WINDOW (specific_window), TRUE);
- gtk_widget_show (specific_window);
+ gtk_widget_show (specific_window);
- /* Save changes when the window is hidden: */
+ /* Save changes when the window is hidden: */
g_signal_connect (specific_window, "hide",
G_CALLBACK (on_smtp_servers_window_hide), win);
#endif /* MODEST_PLATFORM_MAEMO */
cleanup:
/* Free */
g_free(account);
+ g_object_unref (parent_win);
g_object_unref (msg);
g_object_unref (folder);
g_object_unref (header);
modest_platform_run_information_dialog ((win) ? GTK_WINDOW (win) : NULL,
error->message);
+ g_object_unref (win);
}
}
modest_ui_actions_get_msgs_full_error_handler,
NULL);
modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_op);
- modest_mail_operation_get_msgs_full (mail_op,
- not_opened_headers,
- open_msg_cb,
- NULL,
- NULL);
+ if (tny_list_get_length (not_opened_headers) > 1) {
+ modest_mail_operation_get_msgs_full (mail_op,
+ not_opened_headers,
+ open_msg_cb,
+ NULL,
+ NULL);
+ } else {
+ TnyIterator *iter = tny_list_create_iterator (not_opened_headers);
+ TnyHeader *header = TNY_HEADER (tny_iterator_get_current (iter));
+ modest_mail_operation_get_msg (mail_op, header, open_msg_cb, NULL);
+ g_object_unref (header);
+ g_object_unref (iter);
+ }
+
/* Clean */
g_object_unref (not_opened_headers);
g_object_unref (iter);
return;
/* Update Main window title */
- if (GTK_WIDGET_HAS_FOCUS (header_view)) {
+ if (gtk_widget_is_focus (GTK_WIDGET(header_view))) {
const gchar *subject = tny_header_get_subject (header);
if (subject && strlen(subject) > 0)
gtk_window_set_title (GTK_WINDOW (main_window), subject);
/* Check if folder is empty and set headers view contents style */
if (tny_folder_get_all_count (folder) == 0) {
-/* printf ("DEBUG: %s: tny_folder_get_all_count() returned 0.\n", __FUNCTION__); */
+ printf ("DEBUG: %s: tny_folder_get_all_count() returned 0.\n", __FUNCTION__);
modest_main_window_set_contents_style (win,
MODEST_MAIN_WINDOW_CONTENTS_STYLE_EMPTY);
} else {
-/* printf ("DEBUG: %s: tny_folder_get_all_count() returned >0.\n", __FUNCTION__); */
-
- /* Set the header view, we could change it to
- the empty view after the refresh. We do not
- need to save the configuration because we
- have already done that when unselecting the
- folder */
- modest_main_window_set_contents_style (win,
- MODEST_MAIN_WINDOW_CONTENTS_STYLE_HEADERS);
-
- /* Restore configuration */
- modest_widget_memory_restore (modest_runtime_get_conf (),
- G_OBJECT(header_view),
- MODEST_CONF_HEADER_VIEW_KEY);
+ printf ("DEBUG: %s: tny_folder_get_all_count() returned >0.\n", __FUNCTION__);
}
}
} else {
if (TNY_IS_FOLDER (folder_store) && selected) {
- if (!TNY_IS_MERGE_FOLDER (folder_store)) { /* TnyMergeFolder can have no get_account() implementation. */
- /* Update the active account */
- TnyAccount *account = modest_tny_folder_get_account (TNY_FOLDER (folder_store));
+ /* Update the active account */
+ TnyAccount *account = modest_tny_folder_get_account (TNY_FOLDER (folder_store));
+ if (account) {
set_active_account_from_tny_account (account, MODEST_WINDOW (main_window));
g_object_unref (account);
+ account = NULL;
}
+ /* Set the header style by default, it could
+ be changed later by the refresh callback to
+ empty */
+ modest_main_window_set_contents_style (main_window,
+ MODEST_MAIN_WINDOW_CONTENTS_STYLE_HEADERS);
+
/* Set folder on header view. This function
will call tny_folder_refresh_async so we
pass a callback that will be called when
TNY_FOLDER (folder_store),
folder_refreshed_cb,
main_window);
+
+ /* Restore configuration. We need to do this
+ *after* the set_folder because the widget
+ memory asks the header view about its
+ folder */
+ modest_widget_memory_restore (modest_runtime_get_conf (),
+ G_OBJECT(header_view),
+ MODEST_CONF_HEADER_VIEW_KEY);
} else {
/* Update the active account */
modest_window_set_active_account (MODEST_WINDOW (main_window), NULL);
}
}
+ modest_platform_information_banner (NULL, NULL, _("mcen_ib_outbox_waiting_to_be_sent"));
+
/* Create the mail operation */
ModestMailOperation *mail_operation = modest_mail_operation_new (MODEST_MAIL_OPERATION_TYPE_SEND, G_OBJECT(edit_window));
modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_operation);
modest_platform_run_information_dialog ((win) ? GTK_WINDOW (win) : NULL,
_("mail_in_ui_folder_delete_error"));
+ g_object_unref (win);
}
static void
gtk_text_buffer_copy_clipboard (buffer, clipboard);
modest_header_view_copy_selection (MODEST_HEADER_VIEW (focused_widget));
} else if (MODEST_IS_HEADER_VIEW (focused_widget)) {
- gboolean continue_download, ask;
TnyList *header_list = modest_header_view_get_selected_headers (MODEST_HEADER_VIEW (focused_widget));
TnyIterator *iter = tny_list_create_iterator (header_list);
TnyHeader *header = TNY_HEADER (tny_iterator_get_current (iter));
TnyAccount *account = tny_folder_get_account (folder);
const gchar *proto_str = tny_account_get_proto (TNY_ACCOUNT (account));
/* If it's POP then ask */
- ask = (modest_protocol_info_get_transport_store_protocol (proto_str) ==
+ gboolean ask = (modest_protocol_info_get_transport_store_protocol (proto_str) ==
MODEST_PROTOCOL_STORE_POP) ? TRUE : FALSE;
g_object_unref (account);
g_object_unref (folder);
g_object_unref (header);
g_object_unref (iter);
+
/* Check that the messages have been previously downloaded */
+ gboolean continue_download = TRUE;
if (ask)
continue_download = download_uncached_messages (header_list, GTK_WINDOW (window));
if (continue_download)
/* Select all messages */
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(header_view));
gtk_tree_selection_select_all (selection);
+
+ /* Set focuse on header view */
+ gtk_widget_grab_focus (header_view);
+
} else if (GTK_IS_HTML (focused_widget)) {
gtk_html_select_all (GTK_HTML (focused_widget));
}
folder_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (win),
MODEST_WIDGET_TYPE_FOLDER_VIEW);
if (gtk_widget_is_focus (folder_view)) {
- TnyFolder *folder;
-
- folder = (TnyFolder *) modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view));
-
+ TnyFolderStore *folder_store
+ = modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view));
+ if (!folder_store) {
+ g_warning ("%s: No item was selected.\n", __FUNCTION__);
+ return;
+ }
/* Show only when it's a folder */
- if (!folder || !TNY_IS_FOLDER (folder))
- return;
+ /* This function should not be called for account items,
+ * because we dim the menu item for them. */
+ if (TNY_IS_FOLDER (folder_store)) {
+ show_folder_details (TNY_FOLDER (folder_store), GTK_WINDOW (win));
+ }
- show_folder_details (folder, GTK_WINDOW (win));
- g_object_unref (folder);
+ g_object_unref (folder_store);
} else {
header_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (win),
if (!modest_tny_folder_is_local_folder (src_folder)) {
const gchar *message;
- if (tny_list_get_length (headers) == 1)
- if (has_retrieved_msgs (headers))
- message = _("mcen_nc_move_retrieve");
- else
- message = _("mcen_nc_move_header");
- else
- if (has_retrieved_msgs (headers))
- message = _("mcen_nc_move_retrieves");
- else
- message = _("mcen_nc_move_headers");
-
+ if (has_retrieved_msgs (headers))
+ message = ngettext ("mcen_nc_move_retrieve", "mcen_nc_move_retrieves",
+ tny_list_get_length (headers));
+ else
+ message = ngettext ("mcen_nc_move_header", "mcen_nc_move_headers",
+ tny_list_get_length (headers));
+
response = modest_platform_run_confirmation_dialog (GTK_WINDOW (win),
(const gchar *) message);
}
/* TODO: show error message */
modest_platform_run_information_dialog ((win) ? GTK_WINDOW (win) : NULL,
_("mail_in_ui_folder_move_target_error"));
+ g_object_unref (win);
}
/*