Make the sidebar live in a proper independent window.
[apps/madmutt.git] / lib-ui / curs_main.c
index 3fbe0e9..3fe1cd3 100644 (file)
  * please see the file GPL in the top level source directory.
  */
 
-#include <lib-lib/lib-lib.h>
+#include <lib-ui/lib-ui.h>
 
 #include <lib-ui/sidebar.h>
 #include <lib-mx/mx.h>
 #include "pop.h"
 
-#include "curses.h"
 #include "menu.h"
 
 #include "mutt.h"
@@ -350,38 +349,12 @@ static void resort_index (MUTTMENU * menu)
   menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
 }
 
-struct mapping_t IndexHelp[] = {
-  {N_("Quit"), OP_QUIT},
-  {N_("Del"), OP_DELETE},
-  {N_("Undel"), OP_UNDELETE},
-  {N_("Save"), OP_SAVE},
-  {N_("Mail"), OP_MAIL},
-  {N_("Reply"), OP_REPLY},
-  {N_("Group"), OP_GROUP_REPLY},
-  {N_("Help"), OP_HELP},
-  {NULL, OP_NULL}
-};
-
-#ifdef USE_NNTP
-struct mapping_t IndexNewsHelp[] = {
-  {N_("Quit"), OP_QUIT},
-  {N_("Del"), OP_DELETE},
-  {N_("Undel"), OP_UNDELETE},
-  {N_("Save"), OP_SAVE},
-  {N_("Post"), OP_POST},
-  {N_("Followup"), OP_FOLLOWUP},
-  {N_("Catchup"), OP_CATCHUP},
-  {N_("Help"), OP_HELP},
-  {NULL, OP_NULL}
-};
-#endif
-
 /* This function handles the message index window as well as commands returned
  * from the pager (MENU_PAGER).
  */
 int mutt_index_menu (void)
 {
-  char buf[LONG_STRING], helpstr[STRING];
+  char buf[LONG_STRING];
   int flags;
   int op = OP_NULL;
   int done = 0;                 /* controls when to exit the "event" loop */
@@ -404,13 +377,6 @@ int mutt_index_menu (void)
   menu->make_entry = (void *) index_make_entry;
   menu->color = index_color;
   menu->current = ci_first_message ();
-  menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_MAIN,
-#ifdef USE_NNTP
-                                  (Context
-                                   && (Context->magic ==
-                                       M_NNTP)) ? IndexNewsHelp :
-#endif
-                                  IndexHelp);
 
   if (!attach_msg) {
     buffy_check (0);       /* force the buffy check after we enter the folder */
@@ -533,10 +499,9 @@ int mutt_index_menu (void)
       if (menu->redraw & REDRAW_STATUS) {
         menu_status_line (buf, sizeof (buf), menu, NONULL (Status));
         CLEARLINE (option (OPTSTATUSONTOP) ? 0 : LINES - 2);
-        sidebar_draw_frames();
         SETCOLOR (MT_COLOR_STATUS);
         BKGDSET (MT_COLOR_STATUS);
-        move(option (OPTSTATUSONTOP) ? 0 : LINES - 2,SW);
+        wmove(stdscr, option (OPTSTATUSONTOP) ? 0 : LINES - 2,SW);
         mutt_paddstr (COLS-SW, buf);
         SETCOLOR (MT_COLOR_NORMAL);
         BKGDSET (MT_COLOR_NORMAL);
@@ -558,23 +523,17 @@ int mutt_index_menu (void)
         menu->oldcurrent = -1;
 
       if (option (OPTBRAILLEFRIENDLY))
-         move (menu->current - menu->top + menu->offset, 0);
+         wmove (stdscr, menu->current - menu->top + menu->offset, 0);
       else
-        move (menu->current - menu->top + menu->offset, COLS - 1);
+        wmove (stdscr, menu->current - menu->top + menu->offset, COLS - 1);
       mutt_refresh ();
 
       if (SigWinch) {
         mutt_flushinp ();
-        mutt_resize_screen ();
+        ui_layout_resize();
         menu->redraw = REDRAW_FULL;
         menu->menu = MENU_MAIN;
-        SigWinch = 0;
         menu->top = 0;          /* so we scroll the right amount */
-        /*
-         * force a real complete redraw.  clrtobot() doesn't seem to be able
-         * to handle every case without this.
-         */
-        clearok (stdscr, TRUE);
         continue;
       }
 
@@ -600,8 +559,8 @@ int mutt_index_menu (void)
         tag = 1;
 
         /* give visual indication that the next command is a tag- command */
-        mvaddstr (LINES - 1, 0, "tag-");
-        clrtoeol ();
+        mvwaddstr (stdscr, LINES - 1, 0, "tag-");
+        wclrtoeol (stdscr);
 
         /* get the real command */
         if ((op = km_dokey (MENU_MAIN)) == OP_TAG_PREFIX) {
@@ -635,8 +594,8 @@ int mutt_index_menu (void)
         tag = 1;
 
         /* give visual indication that the next command is a tag- command */
-        mvaddstr (LINES - 1, 0, "tag-");
-        clrtoeol ();
+        mvwaddstr (stdscr, LINES - 1, 0, "tag-");
+        wclrtoeol (stdscr);
 
         /* get the real command */
         if ((op = km_dokey (MENU_MAIN)) == OP_TAG_PREFIX) {
@@ -1232,14 +1191,6 @@ int mutt_index_menu (void)
         menu->current = 0;
       sidebar_set_current (buf);
 
-#ifdef USE_NNTP
-      /* buffy_check() must be done with mail-reader mode! */
-      menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_MAIN,
-                                      (Context
-                                       && (Context->magic ==
-                                           M_NNTP)) ? IndexNewsHelp :
-                                      IndexHelp);
-#endif
       mutt_clear_error ();
       buffy_check (0);     /* force the buffy check after we have changed
                                    the folder */