Merge branch 'master' into nohook
[apps/madmutt.git] / lib-ui / menu.c
index f3ca7c5..dc53571 100644 (file)
@@ -9,14 +9,12 @@
 
 #include <lib-ui/lib-ui.h>
 
-#include "enter.h"
 #include "menu.h"
 
 #include "mutt.h"
 #include "charset.h"
 
 #include <imap/imap.h>
-#include <lib-ui/sidebar.h>
 
 extern size_t UngetCount;
 
@@ -112,10 +110,7 @@ static void menu_pad_string (char *s, size_t n)
 void menu_redraw_full (MUTTMENU * menu)
 {
   SETCOLOR(main_w, MT_COLOR_NORMAL);
-  /* wclear() doesn't optimize screen redraws */
-  wmove (main_w, 0, 0);
-  wclrtobot (main_w);
-
+  werase(main_w);
   SETCOLOR(main_w, MT_COLOR_SIDEBAR);
   mvwhline(main_w, LINES - 2, 0, ACS_HLINE, getmaxx(main_w));
   SETCOLOR(main_w, MT_COLOR_NORMAL);
@@ -180,12 +175,12 @@ void menu_redraw_motion (MUTTMENU * menu)
     return;
   }
 
-  wmove (main_w, menu->oldcurrent + menu->offset - menu->top, 0);
   SETCOLOR(main_w, MT_COLOR_NORMAL);
   BKGDSET(main_w, MT_COLOR_NORMAL);
 
   /* erase the current indicator */
-  wattrset (main_w, menu->color (menu->oldcurrent));
+  wattrset(main_w, menu->color(menu->oldcurrent));
+  wmove (main_w, menu->oldcurrent + menu->offset - menu->top, 0);
   wclrtoeol (main_w);
   menu_make_entry (buf, sizeof (buf), menu, menu->oldcurrent);
   menu_pad_string (buf, sizeof (buf));
@@ -212,13 +207,13 @@ void menu_redraw_current (MUTTMENU * menu)
 {
   char buf[STRING];
 
-  wmove (main_w, menu->current + menu->offset - menu->top, 0);
   menu_make_entry (buf, sizeof (buf), menu, menu->current);
   menu_pad_string (buf, sizeof (buf));
 
   wattrset (main_w, menu->color (menu->current));
   ADDCOLOR(main_w, MT_COLOR_INDICATOR);
   BKGDSET(main_w, MT_COLOR_INDICATOR);
+  wmove (main_w, menu->current + menu->offset - menu->top, 0);
   wclrtoeol (main_w);
   print_enriched_string (menu->color (menu->current), (unsigned char *) buf,
                          0);
@@ -239,9 +234,9 @@ static void menu_redraw_prompt (MUTTMENU * menu)
     if (*Errorbuf)
       mutt_clear_error ();
 
-    SETCOLOR(main_w, MT_COLOR_NORMAL);
-    mvwaddstr (main_w, LINES - 1, 0, menu->prompt);
-    wclrtoeol (main_w);
+    SETCOLOR(stdscr, MT_COLOR_NORMAL);
+    mvwaddstr(stdscr, LINES - 1, 0, menu->prompt);
+    wclrtoeol(stdscr);
   }
 }
 
@@ -682,11 +677,11 @@ int mutt_menuLoop (MUTTMENU * menu)
     i = km_dokey (menu->menu);
     if (i == OP_TAG_PREFIX || i == OP_TAG_PREFIX_COND) {
       if (menu->tagged) {
-        mvwaddstr (main_w, LINES - 1, 0, "Tag-");
-        wclrtoeol (main_w);
+        mvwaddstr(stdscr, LINES - 1, 0, "Tag-");
+        wclrtoeol(stdscr);
         i = km_dokey (menu->menu);
         menu->tagprefix = 1;
-        CLEARLINE(main_w, LINES - 1);
+        CLEARLINE(stdscr, LINES - 1);
       }
       else if (i == OP_TAG_PREFIX) {
         mutt_error _("No tagged entries.");
@@ -841,10 +836,6 @@ int mutt_menuLoop (MUTTMENU * menu)
       MAYBE_REDRAW (menu->redraw);
       break;
 
-    case OP_WHAT_KEY:
-      mutt_what_key ();
-      break;
-
     case OP_REDRAW:
       clearok (main_w, TRUE);
       menu->redraw = REDRAW_FULL;