X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=flags.c;h=6bbe78144efd2bbf0d4979c20e54ea399a2feca4;hp=bc57bb98c33c445795db0e51ee9f7f0b10086395;hb=ab12fea9d01b3b9bc53081ae4ccc046243f1cb9f;hpb=9c02039bb94c2fb846e0226c321c7dd79df455c4 diff --git a/flags.c b/flags.c index bc57bb9..6bbe781 100644 --- a/flags.c +++ b/flags.c @@ -11,6 +11,8 @@ # include "config.h" #endif +#include + #include "mutt.h" #include "mutt_curses.h" #include "mutt_menu.h" @@ -22,13 +24,13 @@ #include "imap_private.h" #endif -#include "lib/intl.h" void _mutt_set_flag (CONTEXT * ctx, HEADER * h, int flag, int bf, int upd_ctx) { int changed = h->changed; int deleted = ctx->deleted; int tagged = ctx->tagged; + int flagged = ctx->flagged; if (ctx->readonly && flag != M_TAG) return; /* don't modify anything if we are read-only */ @@ -36,13 +38,8 @@ void _mutt_set_flag (CONTEXT * ctx, HEADER * h, int flag, int bf, int upd_ctx) switch (flag) { case M_DELETE: -#ifdef USE_IMAP - if (ctx && ctx->magic == M_IMAP) - if (mutt_bit_isset (((IMAP_DATA *) ctx->data)->capabilities, ACL) - && !mutt_bit_isset (((IMAP_DATA *) ctx->data)->rights, - IMAP_ACL_DELETE)) - return; -#endif + if (!mx_acl_check (ctx, ACL_DELETE)) + return; if (bf) { if (!h->deleted && !ctx->readonly) { @@ -110,13 +107,8 @@ void _mutt_set_flag (CONTEXT * ctx, HEADER * h, int flag, int bf, int upd_ctx) case M_NEW: -#ifdef USE_IMAP - if (ctx && ctx->magic == M_IMAP) - if (mutt_bit_isset (((IMAP_DATA *) ctx->data)->capabilities, ACL) - && !mutt_bit_isset (((IMAP_DATA *) ctx->data)->rights, - IMAP_ACL_SEEN)) - return; -#endif + if (!mx_acl_check (ctx, ACL_SEEN)) + return; if (bf) { if (h->read || h->old) { @@ -148,13 +140,8 @@ void _mutt_set_flag (CONTEXT * ctx, HEADER * h, int flag, int bf, int upd_ctx) case M_OLD: -#ifdef USE_IMAP - if (ctx && ctx->magic == M_IMAP) - if (mutt_bit_isset (((IMAP_DATA *) ctx->data)->capabilities, ACL) - && !mutt_bit_isset (((IMAP_DATA *) ctx->data)->rights, - IMAP_ACL_SEEN)) - return; -#endif + if (!mx_acl_check (ctx, ACL_SEEN)) + return; if (bf) { if (!h->old) { @@ -180,13 +167,8 @@ void _mutt_set_flag (CONTEXT * ctx, HEADER * h, int flag, int bf, int upd_ctx) case M_READ: -#ifdef USE_IMAP - if (ctx && ctx->magic == M_IMAP) - if (mutt_bit_isset (((IMAP_DATA *) ctx->data)->capabilities, ACL) - && !mutt_bit_isset (((IMAP_DATA *) ctx->data)->rights, - IMAP_ACL_SEEN)) - return; -#endif + if (!mx_acl_check (ctx, ACL_SEEN)) + return; if (bf) { if (!h->read) { @@ -216,13 +198,8 @@ void _mutt_set_flag (CONTEXT * ctx, HEADER * h, int flag, int bf, int upd_ctx) case M_REPLIED: -#ifdef USE_IMAP - if (ctx && ctx->magic == M_IMAP) - if (mutt_bit_isset (((IMAP_DATA *) ctx->data)->capabilities, ACL) - && !mutt_bit_isset (((IMAP_DATA *) ctx->data)->rights, - IMAP_ACL_WRITE)) - return; -#endif + if (!mx_acl_check (ctx, ACL_WRITE)) + return; if (bf) { if (!h->replied) { @@ -250,13 +227,8 @@ void _mutt_set_flag (CONTEXT * ctx, HEADER * h, int flag, int bf, int upd_ctx) case M_FLAG: -#ifdef USE_IMAP - if (ctx && ctx->magic == M_IMAP) - if (mutt_bit_isset (((IMAP_DATA *) ctx->data)->capabilities, ACL) - && !mutt_bit_isset (((IMAP_DATA *) ctx->data)->rights, - IMAP_ACL_WRITE)) - return; -#endif + if (!mx_acl_check (ctx, ACL_WRITE)) + return; if (bf) { if (!h->flagged) { @@ -300,9 +272,8 @@ void _mutt_set_flag (CONTEXT * ctx, HEADER * h, int flag, int bf, int upd_ctx) * search results so that any future search will match the current status * of this message and not what it was at the time it was last searched. */ - if (h->searched - && (changed != h->changed || deleted != ctx->deleted - || tagged != ctx->tagged)) + if (h->searched && (changed != h->changed || deleted != ctx->deleted || + tagged != ctx->tagged || flagged != ctx->flagged)) h->searched = 0; sidebar_draw (0); } @@ -336,7 +307,7 @@ int mutt_thread_set_flag (HEADER * hdr, int flag, int bf, int subthread) if ((cur = cur->child) == NULL) return (0); - FOREVER { + for (;;) { if (cur->message) mutt_set_flag (Context, cur->message, flag, bf);