textview = textview_create();
textview->messageview = messageview;
- mimeview = mimeview_create();
+ mimeview = mimeview_create(mainwin);
mimeview->textview = textview_create();
mimeview->textview->messageview = messageview;
mimeview->messageview = messageview;
}
queue = folder_get_default_queue();
- if ((num = folder_item_add_msg(queue, tmp, TRUE)) < 0) {
+ if ((num = folder_item_add_msg(queue, tmp, NULL, TRUE)) < 0) {
g_warning("can't queue the message\n");
unlink(tmp);
g_free(tmp);
textview_set_all_headers(messageview->textview, all_headers);
textview_set_all_headers(messageview->mimeview->textview, all_headers);
- if (mimeinfo->mime_type != MIME_TEXT &&
- mimeinfo->mime_type != MIME_TEXT_HTML) {
+ if (mimeinfo->mime_type != MIME_TEXT) {
messageview_change_view_type(messageview, MVIEW_MIME);
mimeview_show_message(messageview->mimeview, mimeinfo, file);
} else {
procmime_mimeinfo_free_all(mimeinfo);
}
- if (MSG_IS_RETRCPT_PENDING(messageview->msginfo->flags))
+ if ((messageview->msginfo->dispositionnotificationto ||
+ messageview->msginfo->returnreceiptto) &&
+ !MSG_IS_RETRCPT_SENT(messageview->msginfo->flags))
return_receipt_show(messageview->noticeview, messageview->msginfo);
else
noticeview_hide(messageview->noticeview);
for (cur = msgview_list; cur != NULL; cur = cur->next) {
msgview = (MessageView*)cur->data;
toolbar_update(TOOLBAR_MSGVIEW, msgview);
+ mimeview_update(msgview->mimeview);
}
}
void messageview_delete(MessageView *msgview)
{
MsgInfo *msginfo = (MsgInfo*)msgview->msginfo;
- SummaryView *summaryview = (SummaryView*)msgview->mainwin->summaryview;
FolderItem *trash = folder_get_default_trash();
GSList *msg_list;
tmpmsginfo->msgnum = msginfo->msgnum;
if (disposition_notification_send(tmpmsginfo) >= 0) {
- procmsg_msginfo_unset_flags(msginfo, MSG_RETRCPT_PENDING, 0);
+ procmsg_msginfo_set_flags(msginfo, MSG_RETRCPT_SENT, 0);
noticeview_hide(noticeview);
}
*/
gchar *messageview_get_selection(MessageView *msgview)
{
+ TextView *textview;
gchar *text = NULL;
GtkEditable *edit = NULL;
gint body_pos = 0;
g_return_val_if_fail(msgview != NULL, NULL);
- if (msgview->type == MVIEW_TEXT) {
- edit = GTK_EDITABLE(msgview->textview->text);
- body_pos = msgview->textview->body_pos;
- }
- else if (msgview->type == MVIEW_MIME
- && msgview->mimeview->type == MIMEVIEW_TEXT
- && msgview->mimeview->textview
- && !msgview->mimeview->textview->default_text) {
+ textview = messageview_get_current_textview(msgview);
+ if (textview) {
+ edit = GTK_EDITABLE(textview->text);
+ body_pos = textview->body_pos;
+ } else {
edit = GTK_EDITABLE(msgview->mimeview->textview->text);
body_pos = msgview->mimeview->textview->body_pos;
}
g_return_val_if_fail(edit != NULL, NULL);
- printf("filtered: %d\n", msgview->filtered);
-
if (edit->has_selection)
text = gtkut_editable_get_selection(edit);
else if (msgview->filtered)