Rocco Rutte:
[apps/madmutt.git] / curs_main.c
index 1f2c605..4811ba4 100644 (file)
 #include "mutt_menu.h"
 #include "mapping.h"
 #include "sort.h"
+#include "recvattach.h"
 #include "buffy.h"
 #include "mx.h"
 #include "sidebar.h"
+#include "thread.h"
 #include "xterm.h"
 
 #ifdef USE_POP
@@ -288,7 +290,7 @@ static void update_index (MUTTMENU * menu, CONTEXT * ctx, int check,
   /* save the list of new messages */
   if (oldcount && check != M_REOPENED && ((Sort & SORT_MASK) == SORT_THREADS)) {
     save_new =
-      (HEADER **) safe_malloc (sizeof (HEADER *) *
+      (HEADER **) mem_malloc (sizeof (HEADER *) *
                                (Context->msgcount - oldcount));
     for (j = oldcount; j < Context->msgcount; j++)
       save_new[j - oldcount] = Context->hdrs[j];
@@ -321,7 +323,7 @@ static void update_index (MUTTMENU * menu, CONTEXT * ctx, int check,
             mutt_uncollapse_thread (Context, h);
         }
       }
-      FREE (&save_new);
+      mem_free (&save_new);
       mutt_set_virtual (Context);
     }
   }
@@ -339,7 +341,6 @@ static void update_index (MUTTMENU * menu, CONTEXT * ctx, int check,
 
   if (menu->current < 0)
     menu->current = ci_first_message ();
-
 }
 
 static void resort_index (MUTTMENU * menu)
@@ -474,7 +475,7 @@ int mutt_index_menu (void)
       if ((check = mx_check_mailbox (Context, &index_hint, 0)) < 0) {
         if (!Context->path) {
           /* fatal error occurred */
-          FREE (&Context);
+          mem_free (&Context);
           menu->redraw = REDRAW_FULL;
         }
         set_option (OPTSEARCHINVALID);
@@ -557,8 +558,10 @@ int mutt_index_menu (void)
         DrawFullLine = 0;
         CLEARLINE (option (OPTSTATUSONTOP) ? 0 : LINES - 2);
         SETCOLOR (MT_COLOR_STATUS);
+        BKGDSET (MT_COLOR_STATUS);
         mutt_paddstr (COLS, buf);
         SETCOLOR (MT_COLOR_NORMAL);
+        BKGDSET (MT_COLOR_NORMAL);
         sidebar_set_buffystats (Context);
         menu->redraw &= ~REDRAW_STATUS;
         if (option (OPTXTERMSETTITLES)) {
@@ -954,8 +957,8 @@ int mutt_index_menu (void)
             snprintf (buf, sizeof (buf), "~A");
           unset_option (OPTHIDEREAD);
         }
-        FREE (&Context->pattern);
-        Context->pattern = safe_strdup (buf);
+        mem_free (&Context->pattern);
+        Context->pattern = str_dup (buf);
       }
       if ((op == OP_TOGGLE_READ && mutt_pattern_func (M_LIMIT, NULL) == 0) ||
           mutt_pattern_func (M_LIMIT, _("Limit to messages matching: ")) == 0)
@@ -1140,7 +1143,7 @@ int mutt_index_menu (void)
 
       /* check for a fatal error, or all messages deleted */
       if (!Context->path)
-        FREE (&Context);
+        mem_free (&Context);
 
       /* if we were in the pager, redisplay the message */
       if (menu->menu == MENU_PAGER) {
@@ -1183,15 +1186,15 @@ int mutt_index_menu (void)
           cp = _("Open newsgroup in read-only mode");
         else
           cp = _("Open newsgroup");
-        nntp_buffy (buf);
+        nntp_buffy (buf, sizeof (buf));
       }
       else
 #endif
       {
         if (Context && Context->path)
           strncpy (buf, Context->path, sizeof (buf));
-       if (op != OP_SIDEBAR_OPEN)
-         buffy_next (buf, sizeof (buf));
+        if (op != OP_SIDEBAR_OPEN)
+          buffy_next (buf, sizeof (buf));
       }
 
       if (op == OP_SIDEBAR_OPEN) {
@@ -1239,7 +1242,7 @@ int mutt_index_menu (void)
           menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
           break;
         }
-        FREE (&Context);
+        mem_free (&Context);
       }
 
       mutt_sleep (0);
@@ -1295,6 +1298,10 @@ int mutt_index_menu (void)
           menu->current = mutt_thread_next_unread (Context, CURHDR);
       }
 
+      if (option (OPTPGPAUTODEC) && 
+          (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED)))
+        mutt_check_traditional_pgp (tag ? NULL : CURHDR, &menu->redraw);
+
       if ((op = mutt_display_message (CURHDR)) == -1) {
         unset_option (OPTNEEDRESORT);
         break;
@@ -1318,7 +1325,7 @@ int mutt_index_menu (void)
       {
         if (Context) {
           mx_fastclose_mailbox (Context);
-          FREE (&Context);
+          mem_free (&Context);
         }
         done = 1;
       }
@@ -2000,6 +2007,10 @@ int mutt_index_menu (void)
       CHECK_MSGCOUNT;
       CHECK_VISIBLE;
       CHECK_ATTACH;
+
+      if (option (OPTPGPAUTODEC) &&
+          (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED))) 
+        mutt_check_traditional_pgp (tag ? NULL : CURHDR, &menu->redraw);
       ci_send_message (SENDFORWARD, NULL, NULL, Context, tag ? NULL : CURHDR);
       menu->redraw = REDRAW_FULL;
       break;
@@ -2014,6 +2025,11 @@ int mutt_index_menu (void)
       CHECK_MSGCOUNT;
       CHECK_VISIBLE;
       CHECK_ATTACH;
+
+      if (option (OPTPGPAUTODEC) &&
+          (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED))) 
+        mutt_check_traditional_pgp (tag ? NULL : CURHDR, &menu->redraw);
+
       ci_send_message (SENDREPLY | SENDGROUPREPLY, NULL, NULL, Context,
                        tag ? NULL : CURHDR);
       menu->redraw = REDRAW_FULL;
@@ -2024,6 +2040,11 @@ int mutt_index_menu (void)
       CHECK_ATTACH;
       CHECK_MSGCOUNT;
       CHECK_VISIBLE;
+
+      if (option (OPTPGPAUTODEC) &&
+          (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED))) 
+        mutt_check_traditional_pgp (tag ? NULL : CURHDR, &menu->redraw);
+
       ci_send_message (SENDREPLY | SENDLISTREPLY, NULL, NULL, Context,
                        tag ? NULL : CURHDR);
       menu->redraw = REDRAW_FULL;
@@ -2145,7 +2166,7 @@ int mutt_index_menu (void)
         sleep (2);
       }
       else if (op != OP_FOLLOWUP || !CURHDR->env->followup_to ||
-               safe_strcasecmp (CURHDR->env->followup_to, "poster") ||
+               str_casecmp (CURHDR->env->followup_to, "poster") ||
                query_quadoption (OPT_FOLLOWUPTOPOSTER,
                                  _("Reply by mail as poster prefers?")) !=
                M_YES) {
@@ -2177,6 +2198,11 @@ int mutt_index_menu (void)
       CHECK_ATTACH;
       CHECK_MSGCOUNT;
       CHECK_VISIBLE;
+
+      if (option (OPTPGPAUTODEC) &&
+          (tag || !(CURHDR->security & PGP_TRADITIONAL_CHECKED))) 
+        mutt_check_traditional_pgp (tag ? NULL : CURHDR, &menu->redraw);
+
       ci_send_message (SENDREPLY, NULL, NULL, Context, tag ? NULL : CURHDR);
       menu->redraw = REDRAW_FULL;
       break;
@@ -2265,6 +2291,8 @@ int mutt_index_menu (void)
       break;
 
     case OP_BUFFY_LIST:
+      if (option (OPTFORCEBUFFYCHECK))
+        buffy_check (1);
       buffy_list ();
       menu->redraw = REDRAW_FULL;
       break;