X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pager.c;h=12d86b74f2e01d2bb710c5c018cda04b0e6a8277;hp=5f93d966a044cd6c87d74340c2154643788ca2a4;hb=5dcac54e5db074dc4572f843666c7f7acaf2d109;hpb=dd5354f76c36f71044f6ddeee61241691c7195ff diff --git a/pager.c b/pager.c index 5f93d96..12d86b7 100644 --- a/pager.c +++ b/pager.c @@ -13,7 +13,7 @@ #include -#include +#include #include #include #include @@ -149,12 +149,12 @@ resolve_color (struct line_t *lineInfo, int n, int cnt, int flags, int search = 0, i, m; if (!cnt) - last_color = -1; /* force attrset() */ + last_color = -1; /* force wattrset(stdscr) */ if (lineInfo[n].continuation) { if (!cnt && option (OPTMARKERS)) { SETCOLOR (MT_COLOR_MARKERS); - addch ('+'); + waddch (stdscr, '+'); last_color = ColorDefs[MT_COLOR_MARKERS]; } m = (lineInfo[n].syntax)[0].first; @@ -246,7 +246,7 @@ resolve_color (struct line_t *lineInfo, int n, int cnt, int flags, } if (color != last_color) { - attrset (color); + wattrset (stdscr, color); last_color = color; } } @@ -938,7 +938,7 @@ static int format_line (struct line_t **lineInfo, int n, unsigned char *buf, break; col += 4; if (pa) - printw ("\\%03o", buf[ch]); + wprintw (stdscr, "\\%03o", buf[ch]); k = 1; continue; } @@ -1002,7 +1002,7 @@ static int format_line (struct line_t **lineInfo, int n, unsigned char *buf, break; if (pa) for (; col < t; col++) - addch (' '); + waddch (stdscr, ' '); else col = t; } @@ -1011,20 +1011,20 @@ static int format_line (struct line_t **lineInfo, int n, unsigned char *buf, break; col += 2; if (pa) - printw ("^%c", ('@' + wc) & 0x7f); + wprintw (stdscr, "^%c", ('@' + wc) & 0x7f); } else if (wc < 0x100) { if (col + 4 > wrap_cols) break; col += 4; if (pa) - printw ("\\%03o", wc); + wprintw (stdscr, "\\%03o", wc); } else { if (col + 1 > wrap_cols) break; ++col; if (pa) - addch (CharsetReplacement); + waddch (stdscr, CharsetReplacement); } } *pspace = space; @@ -1235,8 +1235,8 @@ display_line (FILE * f, off_t *last_pos, struct line_t **lineInfo, int n, /* * Fill the blank space at the end of the line with the prevailing color. - * ncurses does an implicit clrtoeol() when you do addch('\n') so we have - * to make sure to reset the color *after* that + * ncurses does an implicit wclrtoeol(stdscr) when you do waddch(stdscr, + * '\n') so we have to make sure to reset the color *after* that */ if (flags & M_SHOWCOLOR) { m = ((*lineInfo)[n].continuation) ? ((*lineInfo)[n].syntax)[0].first : n; @@ -1245,16 +1245,14 @@ display_line (FILE * f, off_t *last_pos, struct line_t **lineInfo, int n, else def_color = ColorDefs[(*lineInfo)[m].type]; - attrset (def_color); -#ifdef HAVE_BKGDSET - bkgdset (def_color | ' '); -#endif + wattrset (stdscr, def_color); + wbkgdset (stdscr, def_color | ' '); } - addch ('\n'); + waddch (stdscr, '\n'); /* * reset the color back to normal. This *must* come after the - * addch('\n'), otherwise the color for this line will not be + * waddch(stdscr, '\n'), otherwise the color for this line will not be * filled to the right margin. */ if (flags & M_SHOWCOLOR) { @@ -1358,9 +1356,9 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) if (redraw & REDRAW_FULL) { SETCOLOR (MT_COLOR_NORMAL); - /* clear() doesn't optimize screen redraws */ - move (0, 0); - clrtobot (); + /* wclear(stdscr) doesn't optimize screen redraws */ + wmove (stdscr, 0, 0); + wclrtobot (stdscr); if (IsHeader (extra) && Context->vcount + 1 < PagerIndexLines) indexlen = Context->vcount + 1; @@ -1375,24 +1373,18 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) bodyoffset = statusoffset + 1; helpoffset = LINES - 2; bodylen = helpoffset - bodyoffset; - if (!option (OPTHELP)) - bodylen++; } else { helpoffset = 0; indexoffset = 1; statusoffset = LINES - 2; - if (!option (OPTHELP)) - indexoffset = 0; bodyoffset = indexoffset + (IsHeader (extra) ? indexlen : 0); bodylen = statusoffset - bodyoffset; } - if (option (OPTHELP)) { - SETCOLOR (MT_COLOR_STATUS); - move (helpoffset, SW); - mutt_paddstr (COLS-SW, ""); - SETCOLOR (MT_COLOR_NORMAL); - } + SETCOLOR (MT_COLOR_STATUS); + wmove (stdscr, helpoffset, SW); + mutt_paddstr (COLS-SW, ""); + SETCOLOR (MT_COLOR_NORMAL); if (Resize != NULL) { if ((SearchCompiled = Resize->SearchCompiled)) { @@ -1456,7 +1448,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) if ((redraw & REDRAW_BODY) || topline != oldtopline) { do { - move (bodyoffset, SW); + wmove (stdscr, bodyoffset, SW); curline = oldtopline = topline; lines = 0; force_redraw = 0; @@ -1469,7 +1461,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) &SearchRE) > 0) lines++; curline++; - move (lines + bodyoffset, SW); + wmove (stdscr, lines + bodyoffset, SW); redraw |= REDRAW_SIDEBAR; } last_offset = lineInfo[curline].offset; @@ -1478,12 +1470,12 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) SETCOLOR (MT_COLOR_TILDE); BKGDSET (MT_COLOR_TILDE); while (lines < bodylen) { - clrtoeol (); + wclrtoeol (stdscr); if (option (OPTTILDE)) - addch ('~'); - addch ('\n'); + waddch (stdscr, '~'); + waddch (stdscr, '\n'); lines++; - move (lines + bodyoffset, SW); + wmove (stdscr, lines + bodyoffset, SW); } /* We are going to update the pager status bar, so it isn't * necessary to reset to normal color now. */ @@ -1510,15 +1502,15 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) _mutt_make_string (buffer, l1 < l2 ? l1 : l2, NONULL (PagerFmt), Context, extra->bdy->hdr, M_FORMAT_MAKEPRINT); } - move(statusoffset,SW); + wmove(stdscr, statusoffset,SW); mutt_paddstr (COLS - 10 - SW, IsHeader (extra) || IsMsgAttach (extra) ? buffer : banner); - addstr (" -- ("); + waddstr (stdscr, " -- ("); if (last_pos < sb.st_size - 1) - printw ("%d%%)", (int) (100 * last_offset / sb.st_size)); + wprintw (stdscr, "%d%%)", (int) (100 * last_offset / sb.st_size)); else - addstr (topline == 0 ? "all)" : "end)"); + waddstr (stdscr, topline == 0 ? "all)" : "end)"); BKGDSET (MT_COLOR_NORMAL); SETCOLOR (MT_COLOR_NORMAL); } @@ -1533,7 +1525,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) sidebar_draw (); /* print out the pager_index status bar */ menu_status_line (buffer, sizeof (buffer), pager_index, NONULL (Status)); - move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), SW); + wmove (stdscr, indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), SW); SETCOLOR (MT_COLOR_STATUS); BKGDSET (MT_COLOR_STATUS); mutt_paddstr (COLS-SW, buffer); @@ -1548,11 +1540,11 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) if (option(OPTBRAILLEFRIENDLY)) { if (brailleLine!=-1) { - move(brailleLine+1, 0); + wmove(stdscr, brailleLine+1, 0); brailleLine = -1; } } else - move (statusoffset, COLS-1); + wmove (stdscr, statusoffset, COLS-1); mutt_refresh (); if (IsHeader (extra) && OldHdr == extra->hdr && TopLine != topline @@ -1575,8 +1567,9 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) mutt_query_exit (); continue; } - else if (SigWinch) { - mutt_resize_screen (); + + if (SigWinch) { + ui_layout_resize(); /* Store current position. */ lines = -1; @@ -1613,12 +1606,10 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) redraw = REDRAW_FULL | REDRAW_SIGWINCH; ch = 0; } - - SigWinch = 0; - clearok (stdscr, TRUE); /*force complete redraw */ continue; } - else if (ch == -1) { + + if (ch == -1) { ch = 0; continue; }