Fixes NB#108268, update folder window title if the account title changes
[modest] / src / gnome / modest-msg-edit-window.c
index 0f3a7d2..e9cd50a 100644 (file)
@@ -89,6 +89,9 @@ struct _ModestMsgEditWindowPrivate {
        TnyMsg      *outbox_msg;
        gchar       *msg_uid;
 
+       gchar       *references;
+       gchar       *in_reply_to;
+
        gboolean    sent;
 };
 
@@ -179,6 +182,8 @@ modest_msg_edit_window_init (ModestMsgEditWindow *obj)
        priv->draft_msg = NULL;
        priv->outbox_msg = NULL;
        priv->msg_uid = NULL;
+       priv->references = NULL;
+       priv->in_reply_to = NULL;
 }
 
 /** 
@@ -339,6 +344,8 @@ modest_msg_edit_window_finalize (GObject *obj)
                priv->outbox_msg = NULL;
        }
        g_free (priv->msg_uid);
+       g_free (priv->references);
+       g_free (priv->in_reply_to);
        
        G_OBJECT_CLASS(parent_class)->finalize (obj);
 }
@@ -405,6 +412,8 @@ set_msg (ModestMsgEditWindow *self, TnyMsg *msg)
        if (subject)
                gtk_entry_set_text (GTK_ENTRY(priv->subject_field), subject);
 
+       modest_tny_msg_get_references (TNY_MSG (msg), NULL, &(priv->references), &(priv->in_reply_to));
+
        modest_attachments_view_set_message (MODEST_ATTACHMENTS_VIEW (priv->attachments_view), msg);
        priv->attachments = modest_attachments_view_get_attachments (MODEST_ATTACHMENTS_VIEW (priv->attachments_view));
        update_next_cid (self, priv->attachments);
@@ -599,6 +608,8 @@ modest_msg_edit_window_get_msg_data (ModestMsgEditWindow *edit_window)
        data->cc      =  g_strdup ( gtk_entry_get_text (GTK_ENTRY(priv->cc_field)));
        data->bcc     =  g_strdup ( gtk_entry_get_text (GTK_ENTRY(priv->bcc_field)));
        data->subject =  g_strdup ( gtk_entry_get_text (GTK_ENTRY(priv->subject_field)));
+       data->references = g_strdup (priv->references);
+       data->in_reply_to = g_strdup (priv->in_reply_to);
 
 /*     GtkTextBuffer *buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->msg_body)); */
 /*     GtkTextIter b, e; */
@@ -663,6 +674,8 @@ modest_msg_edit_window_free_msg_data (ModestMsgEditWindow *edit_window,
        g_free (data->subject);
        g_free (data->plain_body);
        g_free (data->html_body);
+       g_free (data->references);
+       g_free (data->in_reply_to);
 
        if (data->draft_msg != NULL) {
                g_object_unref (data->draft_msg);
@@ -1049,21 +1062,23 @@ modest_msg_edit_window_offer_attach_file           (ModestMsgEditWindow *window)
 
        for (uri_node = uris; uri_node != NULL; uri_node = g_slist_next (uri_node)) {
                const gchar *uri = (const gchar *) uri_node->data;
-               modest_msg_edit_window_attach_file_one (window, uri);
+               modest_msg_edit_window_attach_file_one (window, uri, MODEST_MAX_ATTACHMENT_SIZE);
        }
        g_slist_foreach (uris, (GFunc) g_free, NULL);
        g_slist_free (uris);
 }
 
-void                    
-modest_msg_edit_window_attach_file_one           (ModestMsgEditWindow *window, const gchar *uri)
+GnomeVFSFileSize
+modest_msg_edit_window_attach_file_one (ModestMsgEditWindow *window, 
+                                       const gchar *uri,
+                                       GnomeVFSFileSize allowed_size)
 {
        GnomeVFSHandle *handle = NULL;
        ModestMsgEditWindowPrivate *priv;
        GnomeVFSResult result;
 
-       g_return_if_fail (window);
-       g_return_if_fail (uri);
+       g_return_val_if_fail (window, 0);
+       g_return_val_if_fail (uri, 0);
                
        priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (window);
        
@@ -1118,11 +1133,13 @@ modest_msg_edit_window_attach_file_one           (ModestMsgEditWindow *window, c
                g_object_unref (mime_part);
                gnome_vfs_file_info_unref (info);
        }
+       /* TODO: return proper file size */
+       return 0;
 }
 
 void            
-modest_msg_edit_window_set_draft           (ModestMsgEditWindow *window,
-                                           TnyMsg *draft)
+modest_msg_edit_window_set_draft (ModestMsgEditWindow *window,
+                                 TnyMsg *draft)
 {
        ModestMsgEditWindowPrivate *priv;
        TnyHeader *header = NULL;
@@ -1146,7 +1163,7 @@ modest_msg_edit_window_set_draft           (ModestMsgEditWindow *window,
                }
                priv->msg_uid = modest_tny_folder_get_header_unique_id (header);
                if (GTK_WIDGET_REALIZED (window))
-                       modest_window_mgr_register_window (mgr, MODEST_WINDOW (window));
+                       modest_window_mgr_register_window (mgr, MODEST_WINDOW (window), NULL);
        }
 
        priv->draft_msg = draft;