Fixed a reference problem in grey coloring of mail header view.
[modest] / src / hildon2 / modest-msg-edit-window.c
index fb0b072..27c1878 100644 (file)
@@ -718,6 +718,16 @@ attachment_deleted (ModestAttachmentsView *attachments_view,
 }
 
 static void
+body_size_request (GtkWidget *body,
+                  GtkRequisition *req,
+                  gpointer user_data)
+{
+       /* Make sure the body always get at least 70 pixels */
+       if (req->height < 70)
+               req->height = 70;
+}
+
+static void
 connect_signals (ModestMsgEditWindow *obj)
 {
        ModestMsgEditWindowPrivate *priv;
@@ -759,6 +769,8 @@ connect_signals (ModestMsgEditWindow *obj)
                          G_CALLBACK (msg_body_focus), obj);
        g_signal_connect (G_OBJECT (priv->msg_body), "focus-out-event",
                          G_CALLBACK (msg_body_focus), obj);
+       g_signal_connect (G_OBJECT (priv->msg_body), "size-request",
+                         G_CALLBACK (body_size_request), obj);
        g_signal_connect (G_OBJECT (obj), "set-focus", G_CALLBACK (window_focus), obj);
        g_signal_connect (G_OBJECT (modest_recpt_editor_get_buffer (MODEST_RECPT_EDITOR (priv->to_field))),
                          "changed", G_CALLBACK (recpt_field_changed), obj);
@@ -1249,9 +1261,9 @@ get_related_images (ModestMsgEditWindow *self, TnyMsg *msg)
 
        content_type = tny_mime_part_get_content_type (TNY_MIME_PART (msg));
 
-       if (content_type && !g_strcasecmp (content_type, "multipart/related")) {
+       if (content_type && !g_ascii_strcasecmp (content_type, "multipart/related")) {
                parent = g_object_ref (msg);
-       } else if (content_type && !g_strcasecmp (content_type, "multipart/mixed")) {
+       } else if (content_type && !g_ascii_strcasecmp (content_type, "multipart/mixed")) {
                TnyList *parts = TNY_LIST (tny_simple_list_new ());
                TnyIterator *iter;
 
@@ -1261,7 +1273,7 @@ get_related_images (ModestMsgEditWindow *self, TnyMsg *msg)
                        TnyMimePart *part;
                        part = TNY_MIME_PART (tny_iterator_get_current (iter));
                        content_type = tny_mime_part_get_content_type (part);
-                       if (content_type && !g_strcasecmp (content_type, "multipart/related")) {
+                       if (content_type && !g_ascii_strcasecmp (content_type, "multipart/related")) {
                                parent = part;
                                break;
                        } else {
@@ -2534,14 +2546,19 @@ modest_msg_edit_window_offer_attach_file (ModestMsgEditWindow *window)
        dialog = hildon_file_chooser_dialog_new (GTK_WINDOW (window), 
                                                 GTK_FILE_CHOOSER_ACTION_OPEN);
        gtk_window_set_title (GTK_WINDOW (dialog), _("mcen_ti_select_attachment_title"));
-       conf_folder = modest_conf_get_string (modest_runtime_get_conf (), MODEST_CONF_LATEST_ATTACH_FILE_PATH, NULL);
+       conf_folder = modest_conf_get_string (modest_runtime_get_conf (),
+                                             MODEST_CONF_LATEST_ATTACH_FILE_PATH, NULL);
        if (conf_folder && conf_folder[0] != '\0') {
                gtk_file_chooser_set_current_folder_uri (GTK_FILE_CHOOSER (dialog), conf_folder);
        } else {
                gchar *docs_folder;
-               /* Set the default folder to images folder */
-               docs_folder = g_build_filename (g_getenv (MODEST_MAEMO_UTILS_MYDOCS_ENV),
-                                               ".documents", NULL);
+               /* Set the default folder to documents folder */
+               docs_folder = (gchar *) g_strdup(g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS));
+               if (!docs_folder) {
+                       /* fallback */
+                       docs_folder = g_build_filename (g_getenv (MODEST_MAEMO_UTILS_MYDOCS_ENV),
+                                                       ".documents", NULL);
+               }
                gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), docs_folder);
                g_free (docs_folder);
        }
@@ -3423,7 +3440,8 @@ gboolean
 modest_msg_edit_window_check_names (ModestMsgEditWindow *window, gboolean add_to_addressbook)
 {
        ModestMsgEditWindowPrivate *priv = NULL;
-       
+       GSList *address_list = NULL;
+
        g_return_val_if_fail (MODEST_IS_MSG_EDIT_WINDOW (window), FALSE);
        priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window);
 
@@ -3436,23 +3454,28 @@ modest_msg_edit_window_check_names (ModestMsgEditWindow *window, gboolean add_to
                return FALSE;
        }
 
+       /* Check names */
        g_object_ref (window);
-       if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->to_field),  add_to_addressbook)) {
+       if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->to_field),  &address_list)) {
                modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->to_field));
                g_object_unref (window);
                return FALSE;
        }
-       if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->cc_field),  add_to_addressbook)) {
+       if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->cc_field),  &address_list)) {
                modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->cc_field));
                g_object_unref (window);
                return FALSE;
        }
-       if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->bcc_field), add_to_addressbook)) {
+       if (!modest_address_book_check_names (MODEST_RECPT_EDITOR (priv->bcc_field), &address_list)) {
                modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->bcc_field));
                g_object_unref (window);
                return FALSE;
        }
 
+       /* Add contacts to address book */
+       if (address_list)
+               modest_address_book_add_address_list (address_list);
+
        if (!modest_recpt_editor_has_focus (MODEST_RECPT_EDITOR (priv->cc_field)) &&
            !modest_recpt_editor_has_focus (MODEST_RECPT_EDITOR (priv->bcc_field)))
                modest_recpt_editor_grab_focus (MODEST_RECPT_EDITOR (priv->to_field));