X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=pager.c;h=a66f9b0a63f93998a1c9241b90859e1b49aeddf3;hp=eee9b8393290123f17fe8aa42e11db5e0471a45b;hb=98f62b5fcbd680fd5214ee85e1635b84322cbdd1;hpb=7dcd7ee09b8760133ac8ec00562e4d60b2f0aebd diff --git a/pager.c b/pager.c index eee9b83..a66f9b0 100644 --- a/pager.c +++ b/pager.c @@ -14,9 +14,8 @@ #include #include -#include #include -#include +#include #include #include "mutt.h" @@ -30,7 +29,7 @@ #include "charset.h" #include "buffy.h" -#include +#include #define ISHEADER(x) ((x) == MT_COLOR_HEADER || (x) == MT_COLOR_HDEFAULT) @@ -216,7 +215,7 @@ resolve_color (struct line_t *lineInfo, int n, int cnt, int flags, if (special || a->attr) { if ((a->attr & ANSI_COLOR)) { if (a->pair == -1) - a->pair = mutt_alloc_color (a->fg, a->bg); + a->pair = madtty_color_pair(a->fg, a->bg); color = a->pair; if (a->attr & ANSI_BOLD) color |= A_BOLD; @@ -337,7 +336,7 @@ static struct q_class_t *classify_quote (struct q_class_t **QuoteList, class->color = ColorQuote[0]; *QuoteList = class; } - return (*QuoteList); + return *QuoteList; } /* Did I mention how much I like emulating Lisp in C? */ @@ -734,7 +733,7 @@ static int is_ansi(unsigned char *buf) { while (isdigit(*buf) || *buf == ';') buf++; - return (*buf == 'm'); + return *buf == 'm'; } static int check_attachment_marker(char *p) @@ -776,7 +775,7 @@ fill_buffer (FILE * f, off_t *last_pos, off_t offset, unsigned char *buf, fseeko (f, offset, 0); if (fgets ((char *) buf, blen - 1, f) == NULL) { fmt[0] = 0; - return (-1); + return -1; } *last_pos = ftello (f); b_read = (int) (*last_pos - offset); @@ -817,10 +816,6 @@ fill_buffer (FILE * f, off_t *last_pos, off_t offset, unsigned char *buf, return b_read; } -#ifdef USE_NNTP -#include "nntp.h" -#endif - static int format_line (struct line_t **lineInfo, int n, unsigned char *buf, int flags, ansi_attr * pa, int cnt, int *pspace, int *pvch, int *pcol, int *pspecial) @@ -1021,7 +1016,7 @@ display_line (FILE * f, off_t *last_pos, struct line_t **lineInfo, int n, &buf_ready) < 0) { if (change_last) (*last)--; - return (-1); + return -1; } resolve_types ((char *) fmt, (char *) buf, *lineInfo, n, *last, @@ -1053,7 +1048,7 @@ display_line (FILE * f, off_t *last_pos, struct line_t **lineInfo, int n, &buf_ready) < 0) { if (change_last) (*last)--; - return (-1); + return -1; } regexec ((regex_t *) QuoteRegexp.rx, (char *) fmt, 1, pmatch, 0); (*lineInfo)[n].quote = classify_quote (QuoteList, @@ -1069,7 +1064,7 @@ display_line (FILE * f, off_t *last_pos, struct line_t **lineInfo, int n, &buf_ready) < 0) { if (change_last) (*last)--; - return (-1); + return -1; } offset = 0; @@ -1099,18 +1094,18 @@ display_line (FILE * f, off_t *last_pos, struct line_t **lineInfo, int n, if (!(flags & M_SHOW) && (*lineInfo)[n + 1].offset > 0) { /* we've already scanned this line, so just exit */ - return (0); + return 0; } if ((flags & M_SHOWCOLOR) && *force_redraw && (*lineInfo)[n + 1].offset > 0) { /* no need to try to display this line... */ - return (1); /* fake display */ + return 1; /* fake display */ } if ((b_read = fill_buffer (f, last_pos, (*lineInfo)[n].offset, buf, fmt, sizeof (buf), &buf_ready)) < 0) { if (change_last) (*last)--; - return (-1); + return -1; } /* now chose a good place to break the line */ @@ -1193,7 +1188,7 @@ display_line (FILE * f, off_t *last_pos, struct line_t **lineInfo, int n, if (!(flags & M_SHOW)) flags = 0; - return (flags); + return flags; } static int upNLines (int nlines, struct line_t *info, int cur, int hiding) @@ -1234,32 +1229,26 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) int bodyoffset = 1; /* offset of first line of real text */ int statusoffset = 0; /* offset for the status bar */ - int helpoffset = LINES - 2; /* offset for the help bar. */ int bodylen = LINES - 2 - bodyoffset; /* length of displayable area */ MUTTMENU *pager_index = NULL; /* the Pager Index (PI) */ - int indexoffset = 0; /* offset for the PI */ - int indexlen = PagerIndexLines; /* indexlen not always == PIL */ + int indexlen = PagerIndexLines; /* indexlen not always == PIL */ int indicator = indexlen / 3; /* the indicator line of the PI */ int old_PagerIndexLines; /* some people want to resize it * while inside the pager... */ -#ifdef USE_NNTP - char *followup_to; -#endif - if (!(flags & M_SHOWCOLOR)) flags |= M_SHOWFLAT; if ((fp = fopen (fname, "r")) == NULL) { mutt_perror (fname); - return (-1); + return -1; } if (stat (fname, &sb) != 0) { mutt_perror (fname); m_fclose(&fp); - return (-1); + return -1; } unlink (fname); @@ -1285,9 +1274,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) if (redraw & REDRAW_FULL) { SETCOLOR(main_w, MT_COLOR_NORMAL); - /* wclear(main_w) doesn't optimize screen redraws */ - wmove(main_w, 0, 0); - wclrtobot(main_w); + werase(main_w); if (IsHeader (extra) && Context->vcount + 1 < PagerIndexLines) indexlen = Context->vcount + 1; @@ -1296,15 +1283,12 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) indicator = indexlen / 3; - indexoffset = 0; statusoffset = IsHeader (extra) ? indexlen : 0; - bodyoffset = statusoffset + 1; - helpoffset = LINES - 2; - bodylen = helpoffset - bodyoffset; + bodyoffset = statusoffset + 1; + bodylen = LINES - 2 - bodyoffset; - SETCOLOR(main_w, MT_COLOR_STATUS); - wmove(main_w, helpoffset, 0); - mutt_paddstr(main_w, getmaxx(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); if (Resize != NULL) { @@ -1333,8 +1317,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) } SETCOLOR(main_w, MT_COLOR_NORMAL); - pager_index->offset = indexoffset + 1; - + pager_index->offset = 1; pager_index->pagelen = indexlen - 1; /* some fudge to work out where abouts the indicator should go */ @@ -1447,17 +1430,15 @@ 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)); - wmove(main_w, indexoffset + 0, 0); + wmove(main_w, 0, 0); SETCOLOR(main_w, MT_COLOR_STATUS); BKGDSET(main_w, MT_COLOR_STATUS); mutt_paddstr(main_w, getmaxx(main_w), buffer); SETCOLOR(main_w, MT_COLOR_NORMAL); BKGDSET(main_w, MT_COLOR_NORMAL); } - /* if we're not using the index, update every time */ - if (index == 0) - sidebar_draw (); + sidebar_draw (); redraw = 0; mutt_refresh(); @@ -2055,70 +2036,6 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) redraw = REDRAW_FULL; break; -#ifdef USE_NNTP - case OP_POST: - CHECK_MODE (IsHeader (extra) && !IsAttach (extra)); - CHECK_ATTACH; - if (extra->ctx && extra->ctx->magic == M_NNTP && - !((nntp_data_t *) extra->ctx->data)->allowed && - query_quadoption (OPT_TOMODERATED, - _ - ("Posting to this group not allowed, may be moderated. Continue?")) - != M_YES) - break; - ci_send_message (SENDNEWS, NULL, NULL, extra->ctx, NULL); - redraw = REDRAW_FULL; - break; - - case OP_FORWARD_TO_GROUP: - CHECK_MODE (IsHeader (extra) || IsMsgAttach (extra)); - CHECK_ATTACH; - if (extra->ctx && extra->ctx->magic == M_NNTP && - !((nntp_data_t *) extra->ctx->data)->allowed && - query_quadoption (OPT_TOMODERATED, - _ - ("Posting to this group not allowed, may be moderated. Continue?")) - != M_YES) - break; - if (IsMsgAttach (extra)) - mutt_attach_forward (extra->fp, extra->hdr, extra->idx, - extra->idxlen, extra->bdy, SENDNEWS); - else - ci_send_message (SENDNEWS | SENDFORWARD, NULL, NULL, extra->ctx, - extra->hdr); - redraw = REDRAW_FULL; - break; - - case OP_FOLLOWUP: - CHECK_MODE (IsHeader (extra) || IsMsgAttach (extra)); - CHECK_ATTACH; - - if (IsMsgAttach (extra)) - followup_to = extra->bdy->hdr->env->followup_to; - else - followup_to = extra->hdr->env->followup_to; - - if (!followup_to || m_strcasecmp(followup_to, "poster") || - query_quadoption (OPT_FOLLOWUPTOPOSTER, - _("Reply by mail as poster prefers?")) != M_YES) { - if (extra->ctx && extra->ctx->magic == M_NNTP - && !((nntp_data_t *) extra->ctx->data)->allowed - && query_quadoption (OPT_TOMODERATED, - _ - ("Posting to this group not allowed, may be moderated. Continue?")) - != M_YES) - break; - if (IsMsgAttach (extra)) - mutt_attach_reply (extra->fp, extra->hdr, extra->idx, - extra->idxlen, extra->bdy, SENDNEWS | SENDREPLY); - else - ci_send_message (SENDNEWS | SENDREPLY, NULL, NULL, - extra->ctx, extra->hdr); - redraw = REDRAW_FULL; - break; - } -#endif - case OP_REPLY: CHECK_MODE (IsHeader (extra) || IsMsgAttach (extra)); CHECK_ATTACH; @@ -2285,10 +2202,6 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) } break; - case OP_VERSION: - mutt_version (); - break; - case OP_BUFFY_LIST: if (option (OPTFORCEBUFFYCHECK)) buffy_check (1); @@ -2354,7 +2267,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t * extra) p_delete(&lineInfo); if (pager_index) mutt_menuDestroy (&pager_index); - return (rc != -1 ? rc : 0); + return rc != -1 ? rc : 0; } #undef CHECK_ATTACH