X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=curs_main.c;h=2365958b6820233e582c6d31cace4d379fecdce7;hp=f2b6cb26d8beec80bfb1d4d98fc1e374e169745e;hb=be3bd578d8557b8d0cb9138153ee30e14b33ec58;hpb=9c02039bb94c2fb846e0226c321c7dd79df455c4 diff --git a/curs_main.c b/curs_main.c index f2b6cb2..2365958 100644 --- a/curs_main.c +++ b/curs_main.c @@ -18,7 +18,6 @@ #include "mutt_curses.h" #include "mx.h" #include "mutt_menu.h" -#include "mailbox.h" #include "mapping.h" #include "sort.h" #include "buffy.h" @@ -86,17 +85,6 @@ static const char *No_visible = N_("No visible messages."); break; \ } -#ifdef USE_IMAP -/* the error message returned here could be better. */ -#define CHECK_IMAP_ACL(aclbit) if (Context->magic == M_IMAP) \ - if (mutt_bit_isset (((IMAP_DATA *)Context->data)->capabilities, ACL) \ - && !mutt_bit_isset(((IMAP_DATA *)Context->data)->rights,aclbit)){ \ - mutt_flushinp(); \ - mutt_error ("Operation not permitted by the IMAP ACL for this mailbox"); \ - break; \ - } -#endif - #define CHECK_ATTACH if(option(OPTATTACHMSG)) \ {\ mutt_flushinp (); \ @@ -921,9 +909,7 @@ int mutt_index_menu (void) CHECK_VISIBLE; CHECK_READONLY; -#ifdef USE_IMAP - CHECK_IMAP_ACL (IMAP_ACL_DELETE); -#endif + CHECK_MX_ACL (Context, ACL_DELETE, _("Deletion")); CHECK_ATTACH; mutt_pattern_func (M_DELETE, _("Delete messages matching: ")); @@ -1101,9 +1087,7 @@ int mutt_index_menu (void) CHECK_VISIBLE; CHECK_READONLY; -#ifdef USE_IMAP - CHECK_IMAP_ACL (IMAP_ACL_DELETE); -#endif + CHECK_MX_ACL (Context, ACL_DELETE, _("Undeletion")); if (mutt_pattern_func (M_UNDELETE, _("Undelete messages matching: ")) == 0) @@ -1246,18 +1230,18 @@ int mutt_index_menu (void) mutt_error (_("%s is not a mailbox."), buf); break; } - mutt_str_replace (&CurrentFolder, buf); + str_replace (&CurrentFolder, buf); if (Context) { int check; #ifdef USE_COMPRESSED if (Context->compressinfo && Context->realpath) - mutt_str_replace (&LastFolder, Context->realpath); + str_replace (&LastFolder, Context->realpath); else #endif - mutt_str_replace (&LastFolder, Context->path); + str_replace (&LastFolder, Context->path); oldcount = Context ? Context->msgcount : 0; if ((check = mx_close_mailbox (Context, &index_hint)) != 0) { @@ -1649,27 +1633,7 @@ int mutt_index_menu (void) CHECK_VISIBLE; CHECK_READONLY; -#ifdef USE_POP - if (Context->magic == M_POP) { - mutt_flushinp (); - mutt_error (_("Can't change 'important' flag on POP server.")); - - break; - } -#endif - -#ifdef USE_IMAP - CHECK_IMAP_ACL (IMAP_ACL_WRITE); -#endif - -#ifdef USE_NNTP - if (Context->magic == M_NNTP) { - mutt_flushinp (); - mutt_error (_("Can't change 'important' flag on NNTP server.")); - - break; - } -#endif + CHECK_MX_ACL (Context, ACL_WRITE, _("Flagging")); if (tag) { for (j = 0; j < Context->vcount; j++) { @@ -1702,9 +1666,7 @@ int mutt_index_menu (void) CHECK_VISIBLE; CHECK_READONLY; -#ifdef USE_IMAP - CHECK_IMAP_ACL (IMAP_ACL_SEEN); -#endif + CHECK_MX_ACL (Context, ACL_SEEN, _("Toggling")); if (tag) { for (j = 0; j < Context->vcount; j++) { @@ -1811,10 +1773,6 @@ int mutt_index_menu (void) CHECK_VISIBLE; CHECK_READONLY; -/* #ifdef USE_IMAP -CHECK_IMAP_ACL(IMAP_ACL_WRITE); -#endif */ - if (mutt_change_flag (tag ? NULL : CURHDR, (op == OP_MAIN_SET_FLAG)) == 0) { menu->redraw = REDRAW_STATUS; @@ -1948,9 +1906,7 @@ CHECK_IMAP_ACL(IMAP_ACL_WRITE); CHECK_VISIBLE; CHECK_READONLY; -#ifdef USE_IMAP - CHECK_IMAP_ACL (IMAP_ACL_DELETE); -#endif + CHECK_MX_ACL (Context, ACL_DELETE, _("Deletion")); if (tag) { mutt_tag_set_flag (M_DELETE, 1); @@ -1990,9 +1946,7 @@ CHECK_IMAP_ACL(IMAP_ACL_WRITE); CHECK_VISIBLE; CHECK_READONLY; -#ifdef USE_IMAP - CHECK_IMAP_ACL (IMAP_ACL_DELETE); -#endif + CHECK_MX_ACL (Context, ACL_DELETE, _("Deletion")); rc = mutt_thread_set_flag (CURHDR, M_DELETE, 1, op == OP_DELETE_THREAD ? 0 : 1); @@ -2043,27 +1997,7 @@ CHECK_IMAP_ACL(IMAP_ACL_WRITE); CHECK_READONLY; CHECK_ATTACH; -#ifdef USE_POP - if (Context->magic == M_POP) { - mutt_flushinp (); - mutt_error (_("Can't edit message on POP server.")); - - break; - } -#endif - -#ifdef USE_IMAP - CHECK_IMAP_ACL (IMAP_ACL_INSERT); -#endif - -#ifdef USE_NNTP - if (Context->magic == M_NNTP) { - mutt_flushinp (); - mutt_error (_("Can't edit message on newsserver.")); - - break; - } -#endif + CHECK_MX_ACL (Context, ACL_INSERT, _("Editing")); if (option (OPTPGPAUTODEC) && (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED))) @@ -2169,9 +2103,7 @@ CHECK_IMAP_ACL(IMAP_ACL_WRITE); CHECK_VISIBLE; CHECK_READONLY; -#ifdef USE_IMAP - CHECK_IMAP_ACL (IMAP_ACL_SEEN); -#endif + CHECK_MX_ACL (Context, ACL_SEEN, _("Marking as read")); rc = mutt_thread_set_flag (CURHDR, M_READ, 1, op == OP_MAIN_READ_THREAD ? 0 : 1); @@ -2225,7 +2157,7 @@ CHECK_IMAP_ACL(IMAP_ACL_WRITE); sleep (2); } else if (op != OP_FOLLOWUP || !CURHDR->env->followup_to || - mutt_strcasecmp (CURHDR->env->followup_to, "poster") || + safe_strcasecmp (CURHDR->env->followup_to, "poster") || query_quadoption (OPT_FOLLOWUPTOPOSTER, _("Reply by mail as poster prefers?")) != M_YES) { @@ -2292,9 +2224,7 @@ CHECK_IMAP_ACL(IMAP_ACL_WRITE); CHECK_VISIBLE; CHECK_READONLY; -#ifdef USE_IMAP - CHECK_IMAP_ACL (IMAP_ACL_DELETE); -#endif + CHECK_MX_ACL (Context, ACL_DELETE, _("Undeletion")); if (tag) { mutt_tag_set_flag (M_DELETE, 0); @@ -2321,9 +2251,7 @@ CHECK_IMAP_ACL(IMAP_ACL_WRITE); CHECK_VISIBLE; CHECK_READONLY; -#ifdef USE_IMAP - CHECK_IMAP_ACL (IMAP_ACL_DELETE); -#endif + CHECK_MX_ACL (Context, ACL_DELETE, _("Undeletion")); rc = mutt_thread_set_flag (CURHDR, M_DELETE, 0, op == OP_UNDELETE_THREAD ? 0 : 1)