X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-ui-actions.c;h=f6ae111ffca97d594471c6afd093f4ce670cf7f8;hp=f94973aed31bf426860f58d604764686301d388f;hb=8391efc6a01a30b91fa7a19f5e7df8b52bfdde46;hpb=48e7fe284efe9cb1334948accd2fa704dc2c74c5 diff --git a/src/modest-ui-actions.c b/src/modest-ui-actions.c index f94973a..f6ae111 100644 --- a/src/modest-ui-actions.c +++ b/src/modest-ui-actions.c @@ -855,7 +855,7 @@ modest_ui_actions_compose_msg(ModestWindow *win, if (available_disk < MIN_FREE_SPACE || expected_size > available_disk) { gchar *msg = g_strdup_printf (_KR("cerm_device_memory_full"), ""); - modest_platform_information_banner (NULL, NULL, msg); + modest_platform_system_banner (NULL, NULL, msg); g_free (msg); return; @@ -931,16 +931,18 @@ modest_ui_actions_compose_msg(ModestWindow *win, gtk_widget_show_all (GTK_WIDGET (msg_win)); while (attachments) { - total_size += + GnomeVFSFileSize att_size; + att_size = modest_msg_edit_window_attach_file_one((ModestMsgEditWindow *)msg_win, attachments->data, allowed_size); + total_size += att_size; - if (total_size > allowed_size) { - g_warning ("%s: total size: %u", - __FUNCTION__, (unsigned int)total_size); + if (att_size > allowed_size) { + g_debug ("%s: total size: %u", + __FUNCTION__, (unsigned int)total_size); break; } - allowed_size -= total_size; + allowed_size -= att_size; attachments = g_slist_next(attachments); } @@ -2228,13 +2230,21 @@ new_messages_arrived (ModestMailOperation *self, tny_list_append (actually_new_list, G_OBJECT (header)); } g_object_unref (header); - } g_object_unref (iterator); if (tny_list_get_length (actually_new_list) > 0) { - modest_platform_on_new_headers_received (actually_new_list, - show_visual_notifications); + GList *new_headers_list = NULL; + + new_headers_list = modest_utils_create_notification_list_from_header_list (actually_new_list); + + /* Send notifications */ + if (new_headers_list) { + modest_platform_on_new_headers_received (new_headers_list, + show_visual_notifications); + /* Free the list */ + modest_utils_free_notification_list (new_headers_list); + } } g_object_unref (actually_new_list); } @@ -2846,7 +2856,7 @@ void modest_ui_actions_on_msg_link_hover (ModestMsgView *msgview, const gchar* link, ModestWindow *win) { - /* g_message ("%s %s", __FUNCTION__, link); */ + /* g_debug ("%s %s", __FUNCTION__, link); */ } @@ -2882,7 +2892,7 @@ modest_ui_actions_on_msg_recpt_activated (ModestMsgView *msgview, const gchar *address, ModestWindow *win) { - /* g_message ("%s %s", __FUNCTION__, address); */ + /* g_debug ("%s %s", __FUNCTION__, address); */ } static void @@ -3120,6 +3130,7 @@ modest_ui_actions_on_send (GtkWidget *widget, ModestMsgEditWindow *edit_window) ModestAccountMgr *account_mgr; gchar *account_name; ModestMailOperation *mail_operation; + gchar *recipients; g_return_val_if_fail (MODEST_IS_MSG_EDIT_WINDOW(edit_window), TRUE); @@ -3128,6 +3139,24 @@ modest_ui_actions_on_send (GtkWidget *widget, ModestMsgEditWindow *edit_window) data = modest_msg_edit_window_get_msg_data (edit_window); + if (data->subject == NULL || data->subject[0] == '\0') { + /* Empty subject -> no send */ + modest_msg_edit_window_free_msg_data (edit_window, data); + return FALSE; + } + + recipients = g_strconcat (data->to?data->to:"", + data->cc?data->cc:"", + data->bcc?data->bcc:"", + NULL); + if (recipients == NULL || recipients[0] == '\0') { + /* Empty subject -> no send */ + g_free (recipients); + modest_msg_edit_window_free_msg_data (edit_window, data); + return FALSE; + } + g_free (recipients); + /* Check size */ if (!enough_space_for_message (edit_window, data)) { modest_msg_edit_window_free_msg_data (edit_window, data); @@ -5030,6 +5059,7 @@ on_move_to_dialog_response (GtkDialog *dialog, GtkWidget *parent_win; MoveToInfo *helper = NULL; ModestFolderView *folder_view; + gboolean unset_edit_mode = FALSE; helper = (MoveToInfo *) user_data; @@ -5091,6 +5121,7 @@ on_move_to_dialog_response (GtkDialog *dialog, if (dst_folder) g_object_unref (dst_folder); + unset_edit_mode = TRUE; break; default: g_warning ("%s unexpected response id %d", __FUNCTION__, response); @@ -5099,6 +5130,11 @@ on_move_to_dialog_response (GtkDialog *dialog, /* Free the helper and exit */ if (helper->list) g_object_unref (helper->list); + if (unset_edit_mode) { +#ifdef MODEST_TOOLKIT_HILDON2 + modest_hildon2_window_unset_edit_mode (MODEST_HILDON2_WINDOW (helper->win)); +#endif + } g_slice_free (MoveToInfo, helper); gtk_widget_destroy (GTK_WIDGET (dialog)); } @@ -5498,7 +5534,7 @@ modest_ui_actions_on_main_window_remove_attachments (GtkAction *action, modest_msg_view_window_remove_attachments (MODEST_MSG_VIEW_WINDOW (msg_view_window), TRUE); else { /* do nothing; uid was registered before, so window is probably on it's way */ - g_warning ("debug: header %p has already been registered", header); + g_debug ("header %p has already been registered", header); } } else { ModestMailOperation *mail_op = NULL; @@ -6058,7 +6094,7 @@ modest_ui_actions_on_edit_mode_move_to (ModestWindow *win) /* Show the dialog */ gtk_widget_show (dialog); - return TRUE; + return FALSE; } /* @@ -6797,14 +6833,34 @@ modest_ui_actions_on_delete_account (GtkWindow *parent_window, return removed; } -void +static void +on_fetch_images_performer (gboolean canceled, + GError *err, + GtkWindow *parent_window, + TnyAccount *account, + gpointer user_data) +{ + if (err || canceled) { + /* Show an unable to retrieve images ??? */ + return; + } + + /* Note that the user could have closed the window while connecting */ + if (GTK_WIDGET_VISIBLE (parent_window)) + modest_msg_view_window_fetch_images ((ModestMsgViewWindow *) parent_window); + g_object_unref ((GObject *) user_data); +} + +void modest_ui_actions_on_fetch_images (GtkAction *action, ModestWindow *window) { g_return_if_fail (MODEST_IS_MSG_VIEW_WINDOW (window)); - modest_msg_view_window_fetch_images (MODEST_MSG_VIEW_WINDOW (window)); - + modest_platform_connect_and_perform ((GtkWindow *) window, TRUE, + NULL, + on_fetch_images_performer, + g_object_ref (window)); } void