X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=menu.c;h=ab3ce23200d1c1b6e4b297a4fe4cbcb35843ca7f;hb=dc2c2ef1ba4d0a0f3c2552459b9f962594a3536b;hp=ec4955097bda38bc569c1f924bd2555d7001c3d9;hpb=841934011451205d8295ac955486f06c317fdf15;p=apps%2Fmadmutt.git diff --git a/menu.c b/menu.c index ec49550..ab3ce23 100644 --- a/menu.c +++ b/menu.c @@ -1,7 +1,9 @@ /* * Copyright notice from original mutt: * Copyright (C) 1996-2000 Michael R. Elkins - * + * * Parts of it were written/modified by: + * Nico Golde + * * This file is part of mutt-ng, see http://www.muttng.org/. * It's licensed under the GNU General Public License, * please see the file GPL in the top level source directory. @@ -21,6 +23,10 @@ #include "imap.h" #endif +#include "lib/mem.h" +#include "lib/intl.h" +#include "lib/str.h" + #include #include @@ -163,6 +169,8 @@ void menu_redraw_full (MUTTMENU * menu) /* clear() doesn't optimize screen redraws */ move (0, 0); clrtobot (); + + if (!option(OPTMBOXPANE)) SidebarWidth=0; if (option (OPTHELP)) { SETCOLOR (MT_COLOR_STATUS); @@ -199,7 +207,8 @@ void menu_redraw_index (MUTTMENU * menu) char buf[STRING]; int i; - draw_sidebar (1); + if (!option(OPTMBOXPANE)) SidebarWidth=0; + sidebar_draw (1); for (i = menu->top; i < menu->top + menu->pagelen; i++) { if (i < menu->max) { menu_make_entry (buf, sizeof (buf), menu, i); @@ -216,8 +225,11 @@ void menu_redraw_index (MUTTMENU * menu) attrset (menu->color (i)); addch (' '); } - else - move (i - menu->top + menu->offset, SidebarWidth + 3); + else { + attrset (menu->color (i)); + move (i - menu->top + menu->offset, SidebarWidth); + addstr (" "); + } print_enriched_string (menu->color (i), (unsigned char *) buf, 1); SETCOLOR (MT_COLOR_NORMAL); @@ -310,6 +322,8 @@ void menu_redraw_current (MUTTMENU * menu) menu_make_entry (buf, sizeof (buf), menu, menu->current); menu_pad_string (buf, sizeof (buf)); + if (!option(OPTMBOXPANE)) SidebarWidth=0; + if (option (OPTARROWCURSOR)) { int attr = menu->color (menu->current); @@ -693,7 +707,7 @@ static int menu_search (MUTTMENU * menu, int op) _("Reverse search for: "), buf, sizeof (buf), M_CLEAR) != 0 || !buf[0]) return (-1); - mutt_str_replace (&menu->searchBuf, buf); + str_replace (&menu->searchBuf, buf); menu->searchDir = (op == OP_SEARCH) ? M_SEARCH_DOWN : M_SEARCH_UP; } else { @@ -824,13 +838,16 @@ int mutt_menuLoop (MUTTMENU * menu) menu->oldcurrent = menu->current; - - /* move the cursor out of the way */ - move (menu->current - menu->top + menu->offset, - (option (OPTARROWCURSOR) ? 2 : COLS - 1)); + if (option (OPTARROWCURSOR)) + move (menu->current - menu->top + menu->offset, 2); + else if (option (OPTBRAILLEFRIENDLY)) + move (menu->current - menu->top + menu->offset, 0); + else + move (menu->current - menu->top + menu->offset, COLS - 1); mutt_refresh (); + /* try to catch dialog keys before ops */ if (menu->dialog && menu_dialog_dokey (menu, &i) == 0) return i;