MainWindow *mainwin;
MessageView *msgview;
GSList *msginfo_list = NULL;
+ gboolean msg_is_selected = FALSE;
+ gboolean msg_is_opened = FALSE;
cm_return_if_fail(toolbar_item != NULL);
mainwin = (MainWindow*)toolbar_item->parent;
msginfo_list = summary_get_selection(mainwin->summaryview);
msgview = (MessageView*)mainwin->messageview;
+ msg_is_opened = summary_has_opened_message(mainwin->summaryview);
+ msg_is_selected = summary_is_opened_message_selected(mainwin->summaryview);
break;
case TOOLBAR_MSGVIEW:
msgview = (MessageView*)toolbar_item->parent;
cm_return_if_fail(msgview != NULL);
msginfo_list = g_slist_append(msginfo_list, msgview->msginfo);
+ msg_is_opened = TRUE;
+ msg_is_selected = TRUE;
break;
default:
return;
cm_return_if_fail(msgview != NULL);
cm_return_if_fail(msginfo_list != NULL);
- compose_reply_from_messageview(msgview, msginfo_list, action);
+ if (!msg_is_opened) {
+ compose_reply_from_messageview(NULL, msginfo_list, action);
+ } else if (msg_is_selected) {
+ compose_reply_from_messageview(msgview, msginfo_list, action);
+ } else {
+ compose_reply_from_messageview(msgview, NULL, action);
+ }
g_slist_free(msginfo_list);
/* TODO: update reply state ion summaryview */