Revision 848 src/summaryview.c

summaryview.c (revision 848)
2271 2271
		    MSG_IS_UNREAD(msginfo->flags)) {
2272 2272
			MSG_UNSET_PERM_FLAGS
2273 2273
				(msginfo->flags, MSG_NEW | MSG_UNREAD);
2274
			MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED);
2274 2275
			summaryview->folder_item->mark_dirty = TRUE;
2275 2276
			if (MSG_IS_IMAP(msginfo->flags))
2276 2277
				imap_msg_unset_perm_flags
......
2450 2451
	GET_MSG_INFO(msginfo, iter);
2451 2452

  
2452 2453
	msginfo->to_folder = NULL;
2453
	if (MSG_IS_DELETED(msginfo->flags))
2454
	if (MSG_IS_DELETED(msginfo->flags)) {
2454 2455
		summaryview->deleted--;
2456
		MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_DELETED);
2457
	}
2455 2458
	if (MSG_IS_MOVE(msginfo->flags))
2456 2459
		summaryview->moved--;
2457 2460
	if (MSG_IS_COPY(msginfo->flags))
2458 2461
		summaryview->copied--;
2459
	MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_DELETED);
2460 2462
	MSG_UNSET_TMP_FLAGS(msginfo->flags, MSG_MOVE | MSG_COPY);
2461 2463
	MSG_SET_PERM_FLAGS(msginfo->flags, MSG_MARKED);
2464
	MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED);
2462 2465
	summaryview->folder_item->mark_dirty = TRUE;
2463 2466
	summary_set_row(summaryview, iter, msginfo);
2464 2467

  
......
2508 2511
		summaryview->folder_item->unread--;
2509 2512
	if (MSG_IS_NEW(msginfo->flags) || MSG_IS_UNREAD(msginfo->flags)) {
2510 2513
		MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_NEW | MSG_UNREAD);
2514
		MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED);
2511 2515
		summaryview->folder_item->mark_dirty = TRUE;
2512 2516
		summary_set_row(summaryview, iter, msginfo);
2513 2517
		debug_print(_("Message %d is marked as being read\n"),
......
2597 2601
		debug_print(_("Message %d is marked as unread\n"),
2598 2602
			    msginfo->msgnum);
2599 2603
	}
2604
	MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED);
2600 2605
	summary_set_row(summaryview, iter, msginfo);
2601 2606
}
2602 2607

  
......
2646 2651
		summaryview->copied--;
2647 2652
	MSG_UNSET_TMP_FLAGS(msginfo->flags, MSG_MOVE | MSG_COPY);
2648 2653
	MSG_SET_PERM_FLAGS(msginfo->flags, MSG_DELETED);
2654
	MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED);
2649 2655
	summaryview->deleted++;
2650 2656
	summaryview->folder_item->mark_dirty = TRUE;
2651 2657

  
......
2771 2777
		summaryview->copied--;
2772 2778
	MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_MARKED | MSG_DELETED);
2773 2779
	MSG_UNSET_TMP_FLAGS(msginfo->flags, MSG_MOVE | MSG_COPY);
2780
	MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED);
2774 2781
	summaryview->folder_item->mark_dirty = TRUE;
2775 2782
	summary_set_row(summaryview, iter, msginfo);
2776 2783

  
......
2818 2825
	GET_MSG_INFO(msginfo, iter);
2819 2826

  
2820 2827
	msginfo->to_folder = to_folder;
2821
	if (MSG_IS_DELETED(msginfo->flags))
2828
	if (MSG_IS_DELETED(msginfo->flags)) {
2822 2829
		summaryview->deleted--;
2823
	MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_DELETED);
2830
		MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_DELETED);
2831
		MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED);
2832
	}
2824 2833
	MSG_UNSET_TMP_FLAGS(msginfo->flags, MSG_COPY);
2825 2834
	if (!MSG_IS_MOVE(msginfo->flags)) {
2826 2835
		MSG_SET_TMP_FLAGS(msginfo->flags, MSG_MOVE);
......
2889 2898
	GET_MSG_INFO(msginfo, iter);
2890 2899

  
2891 2900
	msginfo->to_folder = to_folder;
2892
	if (MSG_IS_DELETED(msginfo->flags))
2901
	if (MSG_IS_DELETED(msginfo->flags)) {
2893 2902
		summaryview->deleted--;
2894
	MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_DELETED);
2903
		MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_DELETED);
2904
		MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED);
2905
	}
2895 2906
	MSG_UNSET_TMP_FLAGS(msginfo->flags, MSG_MOVE);
2896 2907
	if (!MSG_IS_COPY(msginfo->flags)) {
2897 2908
		MSG_SET_TMP_FLAGS(msginfo->flags, MSG_COPY);
......
4254 4265

  
4255 4266
		MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_CLABEL_FLAG_MASK);
4256 4267
		MSG_SET_COLORLABEL_VALUE(msginfo->flags, labelcolor);
4268
		MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED);
4257 4269
		summary_set_row(summaryview, &iter, msginfo);
4258 4270
	}
4259 4271

  

Also available in: Unified diff