#include <lib-lib/lib-lib.h>
-#include <lib-ui/curses.h>
+#include <lib-ui/lib-ui.h>
#include <lib-ui/enter.h>
#include <lib-ui/menu.h>
#include <lib-ui/sidebar.h>
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;
}
if (color != last_color) {
- attrset (color);
+ wattrset (stdscr, color);
last_color = color;
}
}
break;
col += 4;
if (pa)
- printw ("\\%03o", buf[ch]);
+ wprintw (stdscr, "\\%03o", buf[ch]);
k = 1;
continue;
}
break;
if (pa)
for (; col < t; col++)
- addch (' ');
+ waddch (stdscr, ' ');
else
col = t;
}
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;
/*
* 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;
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) {
return cur;
}
-static struct mapping_t PagerHelp[] = {
- {N_("Exit"), OP_EXIT},
- {N_("PrevPg"), OP_PREV_PAGE},
- {N_("NextPg"), OP_NEXT_PAGE},
- {NULL, 0}
-};
-static struct mapping_t PagerHelpExtra[] = {
- {N_("View Attachm."), OP_VIEW_ATTACHMENTS},
- {N_("Del"), OP_DELETE},
- {N_("Reply"), OP_REPLY},
- {N_("Next"), OP_MAIN_NEXT_UNDELETED},
- {NULL, 0}
-};
-
-#ifdef USE_NNTP
-static struct mapping_t PagerNewsHelpExtra[] = {
- {N_("Post"), OP_POST},
- {N_("Followup"), OP_FOLLOWUP},
- {N_("Del"), OP_DELETE},
- {N_("Next"), OP_MAIN_NEXT_UNDELETED},
- {NULL, 0}
-};
-#endif
-
-
/* This pager is actually not so simple as it once was. It now operates in
two modes: one for viewing messages and the other for viewing help. These
can be distinguished by whether or not ``hdr'' is NULL. The ``hdr'' arg
{
static char searchbuf[STRING];
char buffer[LONG_STRING];
- char helpstr[STRING * 2];
- char tmphelp[STRING * 2];
int maxLine, lastLine = 0;
struct line_t *lineInfo;
struct q_class_t *QuoteList = NULL;
(lineInfo[i].syntax)[0].first = (lineInfo[i].syntax)[0].last = -1;
}
- mutt_compile_help (helpstr, sizeof(helpstr), MENU_PAGER, PagerHelp);
- if (IsHeader (extra)) {
- m_strcpy(tmphelp, sizeof(tmphelp), helpstr);
- mutt_compile_help (buffer, sizeof(buffer), MENU_PAGER,
-#ifdef USE_NNTP
- (Context
- && (Context->magic == M_NNTP)) ? PagerNewsHelpExtra :
-#endif
- PagerHelpExtra);
- snprintf (helpstr, sizeof (helpstr), "%s %s", tmphelp, buffer);
- }
- if (!InHelp) {
- m_strcpy(tmphelp, sizeof(tmphelp), helpstr);
- mutt_make_help (buffer, sizeof(buffer), _("Help"), MENU_PAGER, OP_HELP);
- snprintf (helpstr, sizeof(helpstr), "%s %s", tmphelp, buffer);
- }
-
while (ch != -1) {
mutt_curs_set (0);
imap_keepalive ();
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;
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, helpstr);
- 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)) {
if ((redraw & REDRAW_BODY) || topline != oldtopline) {
do {
- move (bodyoffset, SW);
+ wmove (stdscr, bodyoffset, SW);
curline = oldtopline = topline;
lines = 0;
force_redraw = 0;
&SearchRE) > 0)
lines++;
curline++;
- move (lines + bodyoffset, SW);
+ wmove (stdscr, lines + bodyoffset, SW);
redraw |= REDRAW_SIDEBAR;
}
last_offset = lineInfo[curline].offset;
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. */
_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);
}
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);
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
mutt_query_exit ();
continue;
}
- else if (SigWinch) {
- mutt_resize_screen ();
+
+ if (SigWinch) {
+ ui_layout_resize();
/* Store current position. */
lines = -1;
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;
}