X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=menu.c;h=1431797eca3e7e2cb982c6663b07ac096473f8c1;hp=f8ea243724f5232d96200fa0977a524db52c8644;hb=ebad7634114993e2e96fa66fda4b705d05832193;hpb=50adaa99ec40c06e557a13394b6f7e62bcc5b9fa diff --git a/menu.c b/menu.c index f8ea243..1431797 100644 --- a/menu.c +++ b/menu.c @@ -11,6 +11,8 @@ # include "config.h" #endif +#include + #include "mutt.h" #include "enter.h" #include "mutt_curses.h" @@ -22,7 +24,6 @@ #include "imap.h" #endif -#include "lib/mem.h" #include "lib/intl.h" #include "lib/str.h" @@ -31,8 +32,6 @@ #define SW (option(OPTMBOXPANE)?SidebarWidth:0) -extern int Charset_is_utf8; /* FIXME: bad modularisation */ - extern size_t UngetCount; static void print_enriched_string (int attr, unsigned char *s, int do_color) @@ -152,7 +151,7 @@ void menu_pad_string (char *s, size_t n) { int shift = option (OPTARROWCURSOR) ? 3 : 0; int cols; - char *tmpbuf = mem_malloc (n); + char *tmpbuf = p_new(char, n); if (option (OPTMBOXPANE)) cols = COLS - shift - SidebarWidth; @@ -161,7 +160,7 @@ void menu_pad_string (char *s, size_t n) mutt_format_string (tmpbuf, n, cols, cols, 0, ' ', s, str_len (s), 1); tmpbuf[n - 1] = 0; snprintf (s, n, "%s", tmpbuf); /* overkill */ - mem_free (&tmpbuf); + p_delete(&tmpbuf); } void menu_redraw_full (MUTTMENU * menu) @@ -173,8 +172,8 @@ void menu_redraw_full (MUTTMENU * menu) if (option (OPTHELP)) { SETCOLOR (MT_COLOR_STATUS); - move (option (OPTSTATUSONTOP) ? LINES - 2 : 0, 0); - mutt_paddstr (COLS, menu->help); + move (option (OPTSTATUSONTOP) ? LINES - 2 : 0, SW); + mutt_paddstr (COLS-SW, menu->help); SETCOLOR (MT_COLOR_NORMAL); menu->offset = 1; menu->pagelen = LINES - 3; @@ -184,6 +183,8 @@ void menu_redraw_full (MUTTMENU * menu) menu->pagelen = LINES - 2; } + sidebar_draw_frames(); + mutt_show_error (); menu->redraw = REDRAW_INDEX | REDRAW_STATUS; @@ -195,10 +196,11 @@ void menu_redraw_status (MUTTMENU * menu) snprintf (buf, sizeof (buf), M_MODEFMT, menu->title); SETCOLOR (MT_COLOR_STATUS); - move (option (OPTSTATUSONTOP) ? 0 : LINES - 2, 0); - mutt_paddstr (COLS, buf); + move (option (OPTSTATUSONTOP) ? 0 : LINES - 2, SW); + mutt_paddstr (COLS-SW, buf); SETCOLOR (MT_COLOR_NORMAL); menu->redraw &= ~REDRAW_STATUS; + sidebar_draw_frames(); } void menu_redraw_index (MUTTMENU * menu) @@ -206,7 +208,6 @@ void menu_redraw_index (MUTTMENU * menu) char buf[STRING]; int i; - 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); @@ -254,6 +255,9 @@ void menu_redraw_index (MUTTMENU * menu) else CLEARLINE_WIN (i - menu->top + menu->offset); } + sidebar_draw (1); +/* sidebar_draw_frames(); */ + menu->redraw = 0; } @@ -639,7 +643,7 @@ static int menu_search_generic (MUTTMENU * m, regex_t * re, int n) MUTTMENU *mutt_new_menu (void) { - MUTTMENU *p = (MUTTMENU *) mem_calloc (1, sizeof (MUTTMENU)); + MUTTMENU *p = p_new(MUTTMENU, 1); p->current = 0; p->top = 0; @@ -655,16 +659,16 @@ void mutt_menuDestroy (MUTTMENU ** p) { int i; - mem_free (&(*p)->searchBuf); + p_delete(&(*p)->searchBuf); if ((*p)->dialog) { for (i = 0; i < (*p)->max; i++) - mem_free (&(*p)->dialog[i]); + p_delete(&(*p)->dialog[i]); - mem_free (&(*p)->dialog); + p_delete(&(*p)->dialog); } - mem_free (p); + p_delete(p); } #define M_SEARCH_UP 1