proto = modest_tny_account_get_protocol_type (account);
protocol = modest_protocol_registry_get_protocol_by_type (modest_runtime_get_protocol_registry (), proto);
if (protocol)
- format = modest_protocol_get_translation (protocol, MODEST_PROTOCOL_TRANSLATION_MSG_NOT_AVAILABLE);
+ format = modest_protocol_get_translation (protocol, MODEST_PROTOCOL_TRANSLATION_MSG_NOT_AVAILABLE, subject);
g_object_unref (account);
}
else if (err->code == TNY_SYSTEM_ERROR_MEMORY)
/* If the account was created in memory full
conditions then tinymail won't be able to
- connect so it'll return this error code */
+ connect so it'll return this error code */
modest_platform_information_banner (parent_window,
NULL, _("emev_ui_imap_inbox_select_error"));
else
folder = modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view));
+ if (!folder)
+ return FALSE;
+
/* Show an error if it's an account */
if (!TNY_IS_FOLDER (folder)) {
modest_platform_run_information_dialog (GTK_WINDOW (window),
return FALSE;
}
- /* Ask the user */
+ /* Ask the user */
message = g_strdup_printf (_("mcen_nc_delete_folder_text"),
tny_folder_get_name (TNY_FOLDER (folder)));
response = modest_platform_run_confirmation_dialog (GTK_WINDOW (window),
* Checks if we need a connection to do the transfer and if the user
* wants to connect to complete it
*/
-void
+static void
modest_ui_actions_xfer_messages_check (GtkWindow *parent_window,
TnyFolderStore *src_folder,
TnyList *headers,
TnyAccount *src_account;
gint uncached_msgs = 0;
- uncached_msgs = header_list_count_uncached_msgs (headers);
-
/* We don't need any further check if
*
* 1- the source folder is local OR
* offline, it'll take place the next time we get a
* connection)
*/
+ uncached_msgs = header_list_count_uncached_msgs (headers);
src_account = get_account_from_folder_store (src_folder);
if (uncached_msgs > 0) {
guint num_headers;
if (remote_folder_has_leave_on_server (src_folder) && delete_originals) {
const gchar *account_name;
gboolean leave_on_server;
-
+
account_name = modest_tny_account_get_parent_modest_account_name_for_server_account (src_account);
leave_on_server = modest_account_mgr_get_leave_on_server (modest_runtime_get_account_mgr (),
account_name);
-
+
if (leave_on_server == TRUE) {
*need_connection = FALSE;
} else {
xfer_messages_error_handler (ModestMailOperation *mail_op,
gpointer user_data)
{
- GObject *win = modest_mail_operation_get_source (mail_op);
- modest_platform_run_information_dialog ((GtkWindow *) win,
- _("mail_in_ui_folder_move_target_error"),
- FALSE);
+ GObject *win;
+ const GError *error;
+
+ win = modest_mail_operation_get_source (mail_op);
+ error = modest_mail_operation_get_error (mail_op);
+
+ if (error && is_memory_full_error ((GError *) error))
+ modest_platform_information_banner ((GtkWidget *) win,
+ NULL, _KR("cerm_device_memory_full"));
+ else
+ modest_platform_run_information_dialog ((GtkWindow *) win,
+ _("mail_in_ui_folder_move_target_error"),
+ FALSE);
if (win)
g_object_unref (win);
}
gboolean
modest_ui_actions_on_edit_mode_move_to (ModestWindow *win)
{
- GtkWidget *dialog = NULL, *folder_view = NULL;
- ModestMainWindow *main_window;
+ GtkWidget *dialog = NULL;
MoveToInfo *helper = NULL;
TnyList *list_to_move;
g_return_val_if_fail (MODEST_IS_WINDOW (win), FALSE);
+#ifndef MODEST_TOOLKIT_HILDON2
/* Get the main window if exists */
+ ModestMainWindow *main_window;
if (MODEST_IS_MAIN_WINDOW (win))
main_window = MODEST_MAIN_WINDOW (win);
else
main_window =
MODEST_MAIN_WINDOW (modest_window_mgr_get_main_window (modest_runtime_get_window_mgr (),
FALSE)); /* don't create */
-
- /* Get the folder view widget if exists */
- if (main_window)
- folder_view = modest_main_window_get_child_widget (main_window,
- MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW);
- else
- folder_view = NULL;
+#endif
list_to_move = modest_platform_get_list_to_move (MODEST_WINDOW (win));
}
/* Create and run the dialog */
- dialog = create_move_to_dialog (GTK_WINDOW (win), folder_view);
+ dialog = create_move_to_dialog (GTK_WINDOW (win), NULL);
modest_window_mgr_set_modal (modest_runtime_get_window_mgr (),
GTK_WINDOW (dialog),
(GtkWindow *) win);
/* Create helper */
helper = g_slice_new0 (MoveToInfo);
- helper->list = modest_platform_get_list_to_move (MODEST_WINDOW (win));
+ helper->list = list_to_move;
helper->win = win;
/* Listen to response signal */
/* Trick: do a poke status in order to speed up the signaling
of observers */
- tny_folder_poke_status (folder);
+ if (folder) {
+ tny_folder_poke_status (folder);
+ g_object_unref (folder);
+ }
/* Frees */
- g_object_unref (folder);
g_object_unref (iter);
g_object_unref (headers_list);
}
guint status,
gpointer user_data)
{
- ModestMainWindow *main_window = NULL;
+ ModestWindow *top_window = NULL;
ModestWindowMgr *mgr = NULL;
- GtkWidget *folder_view = NULL, *header_view = NULL;
- TnyFolderStore *selected_folder = NULL;
+ GtkWidget *header_view = NULL;
+ TnyFolder *selected_folder = NULL;
TnyFolderType folder_type;
mgr = modest_runtime_get_window_mgr ();
- main_window = MODEST_MAIN_WINDOW (modest_window_mgr_get_main_window (mgr,
- FALSE));/* don't create */
- if (!main_window)
+ top_window = modest_window_mgr_get_current_top (mgr);
+
+ if (!top_window)
return;
- /* Check if selected folder is OUTBOX */
- folder_view = modest_main_window_get_child_widget (main_window,
- MODEST_MAIN_WINDOW_WIDGET_TYPE_FOLDER_VIEW);
- header_view = modest_main_window_get_child_widget (main_window,
- MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW);
+#ifndef MODEST_TOOLKIT_HILDON2
+ if (MODEST_IS_MAIN_WINDOW (top_window)) {
+ header_view = modest_main_window_get_child_widget (MODEST_MAIN_WINDOW (top_window),
+ MODEST_MAIN_WINDOW_WIDGET_TYPE_HEADER_VIEW);
+ }
+#else
+ if (MODEST_IS_HEADER_WINDOW (top_window)) {
+ header_view = (GtkWidget *)
+ modest_header_window_get_header_view (MODEST_HEADER_WINDOW (top_window));
+ }
+#endif
- selected_folder = modest_folder_view_get_selected (MODEST_FOLDER_VIEW (folder_view));
- if (!TNY_IS_FOLDER (selected_folder))
- goto frees;
+ /* Get selected folder */
+ selected_folder = modest_header_view_get_folder (MODEST_HEADER_VIEW (header_view));
+ if (!selected_folder)
+ return;
/* gtk_tree_view_column_queue_resize is only available in GTK+ 2.8 */
-#if GTK_CHECK_VERSION(2, 8, 0)
- folder_type = modest_tny_folder_guess_folder_type (TNY_FOLDER (selected_folder));
- if (folder_type == TNY_FOLDER_TYPE_OUTBOX) {
+#if GTK_CHECK_VERSION(2, 8, 0)
+ folder_type = modest_tny_folder_guess_folder_type (selected_folder);
+ if (folder_type == TNY_FOLDER_TYPE_OUTBOX) {
GtkTreeViewColumn *tree_column;
- tree_column = gtk_tree_view_get_column (GTK_TREE_VIEW (header_view),
+ tree_column = gtk_tree_view_get_column (GTK_TREE_VIEW (header_view),
TNY_GTK_HEADER_LIST_MODEL_FROM_COLUMN);
if (tree_column)
gtk_tree_view_column_queue_resize (tree_column);
- }
-#else
+ }
+#else /* #if GTK_CHECK_VERSION(2, 8, 0) */
gtk_widget_queue_draw (header_view);
-#endif
+#endif
+#ifndef MODEST_TOOLKIT_HILDON2
/* Rerun dimming rules, because the message could become deletable for example */
- modest_window_check_dimming_rules_group (MODEST_WINDOW (main_window),
+ modest_window_check_dimming_rules_group (MODEST_WINDOW (top_window),
MODEST_DIMMING_RULES_TOOLBAR);
- modest_window_check_dimming_rules_group (MODEST_WINDOW (main_window),
+ modest_window_check_dimming_rules_group (MODEST_WINDOW (top_window),
MODEST_DIMMING_RULES_MENU);
-
+#endif
+
/* Free */
- frees:
- if (selected_folder != NULL)
- g_object_unref (selected_folder);
+ g_object_unref (selected_folder);
}
-void
+void
modest_ui_actions_on_account_connection_error (GtkWindow *parent_window,
TnyAccount *account)
{
ModestProtocolType protocol_type;
ModestProtocol *protocol;
gchar *error_note = NULL;
-
+
protocol_type = modest_tny_account_get_protocol_type (account);
protocol = modest_protocol_registry_get_protocol_by_type (modest_runtime_get_protocol_registry (),
protocol_type);