#include "pager.h"
#include "attach.h"
#include "mbyte.h"
+#include "sidebar.h"
#include "mx.h"
wchar_t wc;
mbstate_t mbstate;
- int wrap_cols = COLS - WrapMargin;
+ int wrap_cols = COLS - WrapMargin - SidebarWidth;
if (wrap_cols <= 0)
wrap_cols = COLS;
if ((redraw & REDRAW_BODY) || topline != oldtopline)
{
do {
- move (bodyoffset, 0);
+ move (bodyoffset, SidebarWidth);
curline = oldtopline = topline;
lines = 0;
force_redraw = 0;
&QuoteList, &q_level, &force_redraw, &SearchRE) > 0)
lines++;
curline++;
+ move(lines + bodyoffset, SidebarWidth);
}
last_offset = lineInfo[curline].offset;
} while (force_redraw);
addch ('~');
addch ('\n');
lines++;
+ move(lines + bodyoffset, SidebarWidth);
}
/* We are going to update the pager status bar, so it isn't
* necessary to reset to normal color now. */
/* print out the pager status bar */
SETCOLOR (MT_COLOR_STATUS);
BKGDSET (MT_COLOR_STATUS);
- CLEARLINE (statusoffset);
+ CLEARLINE_WIN(statusoffset);
if (IsHeader (extra))
{
_mutt_make_string (buffer,
- COLS-9 < sizeof (buffer) ? COLS-9 : sizeof (buffer),
+ COLS-9-SidebarWidth < sizeof (buffer) ?
+ COLS-9-SidebarWidth : sizeof (buffer),
NONULL (PagerFmt), Context, extra->hdr, M_FORMAT_MAKEPRINT);
}
else if (IsMsgAttach (extra))
{
_mutt_make_string (buffer,
- COLS - 9 < sizeof (buffer) ? COLS - 9: sizeof (buffer),
+ COLS - 9 - SidebarWidth < sizeof (buffer) ?
+ COLS - 9 - SidebarWidth : sizeof (buffer),
NONULL (PagerFmt), Context, extra->bdy->hdr, M_FORMAT_MAKEPRINT);
}
- mutt_paddstr (COLS-10, IsHeader (extra) || IsMsgAttach (extra) ?
+ mutt_paddstr (COLS-10-SidebarWidth, IsHeader (extra) || IsMsgAttach (extra) ?
buffer : banner);
addstr (" -- (");
if (last_pos < sb.st_size - 1)
/* redraw the pager_index indicator, because the
* flags for this message might have changed. */
menu_redraw_current (index);
-
+ draw_sidebar(MENU_PAGER);
/* print out the index status bar */
menu_status_line (buffer, sizeof (buffer), index, NONULL(Status));
-
- move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), 0);
+ move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)),
+ SidebarWidth);
SETCOLOR (MT_COLOR_STATUS);
- mutt_paddstr (COLS, buffer);
+ mutt_paddstr (COLS-SidebarWidth, buffer);
SETCOLOR (MT_COLOR_NORMAL);
}
+ /* if we're not using the index, update every time */
+ if ( index == 0 )
+ draw_sidebar(MENU_PAGER);
redraw = 0;
case OP_TAG:
CHECK_MODE(IsHeader (extra));
mutt_set_flag (Context, extra->hdr, M_TAG, !extra->hdr->tagged);
+
+ Context->last_tag = extra->hdr->tagged ? extra->hdr :
+ ((Context->last_tag == extra->hdr && !extra->hdr->tagged)
+ ? NULL : Context->last_tag);
+
redraw = REDRAW_STATUS | REDRAW_INDEX;
if (option (OPTRESOLVE))
{
redraw = REDRAW_FULL;
break;
+ case OP_SIDEBAR_SCROLL_UP:
+ case OP_SIDEBAR_SCROLL_DOWN:
+ case OP_SIDEBAR_NEXT:
+ case OP_SIDEBAR_PREV:
+ scroll_sidebar(ch, MENU_PAGER);
+ break;
default:
ch = -1;
break;