TnyMsg *outbox_msg;
gchar *msg_uid;
+ gchar *references;
+ gchar *in_reply_to;
+
gboolean sent;
};
priv->draft_msg = NULL;
priv->outbox_msg = NULL;
priv->msg_uid = NULL;
+ priv->references = NULL;
+ priv->in_reply_to = NULL;
}
/**
while (cursor) {
gchar *account_name = cursor->data ? g_strdup((gchar*)cursor->data) : NULL;
gchar *from_string = modest_account_mgr_get_from_string (account_mgr,
- account_name);
+ account_name, NULL);
if (!from_string) {
/* something went wrong: ignore this one */
g_free (account_name);
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);
}
{
TnyHeader *header;
TnyFolder *msg_folder;
- const gchar *to, *cc, *bcc, *subject;
+ gchar *to, *cc, *bcc, *subject;
ModestMsgEditWindowPrivate *priv;
gchar *body;
priv = MODEST_MSG_EDIT_WINDOW_GET_PRIVATE (self);
header = tny_msg_get_header (msg);
- to = tny_header_get_to (header);
- cc = tny_header_get_cc (header);
- bcc = tny_header_get_bcc (header);
- subject = tny_header_get_subject (header);
+ to = tny_header_dup_to (header);
+ cc = tny_header_dup_cc (header);
+ bcc = tny_header_dup_bcc (header);
+ subject = tny_header_dup_subject (header);
if (to)
gtk_entry_set_text (GTK_ENTRY(priv->to_field), to);
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);
}
g_object_unref (msg_folder);
}
+
+ g_free (subject);
+ g_free (to);
+ g_free (cc);
+ g_free (bcc);
}
ModestWindow *
modest_msg_edit_window_new (TnyMsg *msg, const gchar *account,
+ const gchar *mailbox,
gboolean preserve_is_rich)
{
ModestMsgEditWindow *self;
account_name = (gchar*)modest_combo_box_get_active_id (MODEST_COMBO_BOX (priv->from_field));
if (account_name)
- from_string = modest_account_mgr_get_from_string (
- modest_runtime_get_account_mgr(), account_name);
+ from_string = modest_account_mgr_get_from_string (modest_runtime_get_account_mgr(),
+ account_name, NULL);
if (!from_string) {
g_printerr ("modest: cannot get from string\n");
return NULL;
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; */
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);
if (TNY_IS_MSG (part)) {
TnyHeader *header = tny_msg_get_header (TNY_MSG (part));
if (header) {
- filename = g_strdup (tny_header_get_subject (header));
+ filename = tny_header_dup_subject (header);
g_object_unref (header);
}
if (filename == NULL) {
GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_OK_CANCEL,
- message);
+ "%s", message);
g_free (message);
dialog_response = (gtk_dialog_run (GTK_DIALOG (confirmation_dialog))==GTK_RESPONSE_OK);
gtk_widget_destroy (confirmation_dialog);
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);
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;
}
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;