X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=curs_main.c;h=4d58326f89519470652bc00bed13daac3f9b243c;hp=0222a91c8ca8b1941e4672bbb1222222d3becd84;hb=ce31869e540c4f27d4a398482a44856f314883da;hpb=355d6c883e8aafb8f424c22aa576cf8262ed9e58 diff --git a/curs_main.c b/curs_main.c index 0222a91..4d58326 100644 --- a/curs_main.c +++ b/curs_main.c @@ -594,10 +594,6 @@ int mutt_index_menu (void) move (menu->current - menu->top + menu->offset, COLS - 1); mutt_refresh (); - op = km_dokey (MENU_MAIN); - - debug_print (4, ("Got op %d\n", op)); - #if defined (USE_SLANG_CURSES) || defined (HAVE_RESIZETERM) if (SigWinch) { mutt_flushinp (); @@ -615,6 +611,10 @@ int mutt_index_menu (void) } #endif + op = km_dokey (MENU_MAIN); + + debug_print (4, ("Got op %d\n", op)); + if (op == -1) continue; /* either user abort or timeout */ @@ -755,7 +755,7 @@ int mutt_index_menu (void) if (op == OP_GET_MESSAGE) { buf[0] = 0; - if (mutt_get_field (_("Enter Message-Id: "), buf, sizeof (buf), 0) + if (mutt_get_field (_("Enter Message-ID: "), buf, sizeof (buf), 0) != 0 || !buf[0]) break; } @@ -806,7 +806,7 @@ int mutt_index_menu (void) int old = CURHDR->index, i; if (!CURHDR->env->message_id) { - mutt_error (_("No Message-Id. Unable to perform operation")); + mutt_error (_("No Message-ID. Unable to perform operation")); break; } @@ -989,6 +989,8 @@ int mutt_index_menu (void) mutt_draw_tree (Context); menu->redraw = REDRAW_FULL; } + if (Context->pattern) + mutt_message _("To view all messages, limit to \"all\"."); break; case OP_QUIT: @@ -1208,9 +1210,13 @@ int mutt_index_menu (void) if (op == OP_SIDEBAR_OPEN) { strncpy (buf, NONULL(sidebar_get_current ()), sizeof (buf)); } - else if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == - -1) - break; + else if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == -1) { + if (menu->menu == MENU_PAGER) { + op = OP_DISPLAY_MESSAGE; + continue; + } else + break; + } if (!buf[0]) { CLEARLINE (LINES - 1); break; @@ -2103,6 +2109,14 @@ int mutt_index_menu (void) CHECK_MSGCOUNT; CHECK_VISIBLE; mutt_pipe_message (tag ? NULL : CURHDR); +#ifdef USE_IMAP + /* in an IMAP folder index with imap_peek=no, piping could change + * * new or old messages status to read. Redraw what's needed. + */ + if (Context->magic == M_IMAP && !option (OPTIMAPPEEK)) { + menu->redraw = (tag ? REDRAW_INDEX : REDRAW_CURRENT) | REDRAW_STATUS; + } +#endif MAYBE_REDRAW (menu->redraw); break; @@ -2111,6 +2125,14 @@ int mutt_index_menu (void) CHECK_MSGCOUNT; CHECK_VISIBLE; mutt_print_message (tag ? NULL : CURHDR); +#ifdef USE_IMAP + /* in an IMAP folder index with imap_peek=no, piping could change + * * new or old messages status to read. Redraw what's needed. + */ + if (Context->magic == M_IMAP && !option (OPTIMAPPEEK)) { + menu->redraw = (tag ? REDRAW_INDEX : REDRAW_CURRENT) | REDRAW_STATUS; + } +#endif break; case OP_MAIN_READ_THREAD: @@ -2321,6 +2343,10 @@ int mutt_index_menu (void) mutt_what_key (); break; + case OP_REBUILD_CACHE: + mx_rebuild_cache (); + break; + case OP_SIDEBAR_SCROLL_UP: case OP_SIDEBAR_SCROLL_DOWN: case OP_SIDEBAR_NEXT: @@ -2355,7 +2381,7 @@ int mutt_index_menu (void) /* Close all open NNTP connections */ nntp_logout_all (); #endif -#if defined (USE_SASL) || defined (USE_SASL2) +#ifdef USE_SASL mutt_sasl_done (); #endif }