1
0
mirror of https://github.com/Tha14/toxic.git synced 2024-11-23 01:53:02 +01:00

put help message in chatwindow box when in scroll mode

This commit is contained in:
Jfreegman 2014-03-27 05:08:48 -04:00
parent bd5453002e
commit 1b3c40b539
No known key found for this signature in database
GPG Key ID: 3627F3144076AE63
4 changed files with 41 additions and 23 deletions

View File

@ -688,20 +688,23 @@ static void chat_onDraw(ToxWindow *self, Tox *m)
ChatContext *ctx = self->chatwin; ChatContext *ctx = self->chatwin;
if (!ctx->hst->scroll_mode) line_info_print(self);
wclear(ctx->linewin);
if (ctx->hst->scroll_mode) {
line_info_onDraw(self);
} else {
curs_set(1); curs_set(1);
wclear(ctx->linewin); if (ctx->len > 0 && !ctx->hst->scroll_mode) {
line_info_print(self); uint8_t line[MAX_STR_SIZE];
if (ctx->len > 0) { if (wcs_to_mbs_buf(line, ctx->line, MAX_STR_SIZE) == -1) {
uint8_t line[MAX_STR_SIZE]; reset_buf(ctx->line, &ctx->pos, &ctx->len);
wmove(self->window, y2 - CURS_Y_OFFSET, 0);
if (wcs_to_mbs_buf(line, ctx->line, MAX_STR_SIZE) == -1) { } else {
reset_buf(ctx->line, &ctx->pos, &ctx->len); mvwprintw(ctx->linewin, 1, 0, "%s", line);
wmove(self->window, y2 - CURS_Y_OFFSET, 0); }
} else {
mvwprintw(ctx->linewin, 1, 0, "%s", line);
} }
} }

View File

@ -538,20 +538,23 @@ static void groupchat_onDraw(ToxWindow *self, Tox *m)
ChatContext *ctx = self->chatwin; ChatContext *ctx = self->chatwin;
if (!ctx->hst->scroll_mode)
scrollok(ctx->history, 1);
wclear(ctx->linewin);
line_info_print(self); line_info_print(self);
wclear(ctx->linewin);
if (ctx->len > 0) { if (ctx->hst->scroll_mode) {
uint8_t line[MAX_STR_SIZE]; line_info_onDraw(self);
} else {
curs_set(1);
if (wcs_to_mbs_buf(line, ctx->line, MAX_STR_SIZE) == -1) { if (ctx->len > 0) {
reset_buf(ctx->line, &ctx->pos, &ctx->len); uint8_t line[MAX_STR_SIZE];
wmove(self->window, y2 - CURS_Y_OFFSET, 0);
} else { if (wcs_to_mbs_buf(line, ctx->line, MAX_STR_SIZE) == -1) {
mvwprintw(ctx->linewin, 1, 0, "%s", line); reset_buf(ctx->line, &ctx->pos, &ctx->len);
wmove(self->window, y2 - CURS_Y_OFFSET, 0);
} else {
mvwprintw(ctx->linewin, 1, 0, "%s", line);
}
} }
} }

View File

@ -392,6 +392,17 @@ void line_info_onKey(ToxWindow *self, wint_t key)
} }
} }
void line_info_onDraw(ToxWindow *self)
{
ChatContext *ctx = self->chatwin;
wattron(ctx->linewin, A_BOLD | COLOR_PAIR(BLUE));
mvwprintw(ctx->linewin, 1, 0, "Scroll mode:\n");
wattroff(ctx->linewin, A_BOLD | COLOR_PAIR(BLUE));
mvwprintw(ctx->linewin, 1, 13, "Use up/down arrows, page up/page down, and home/end to navigate.\n"
" ESC to exit.\n");
}
void line_info_clear(struct history *hst) void line_info_clear(struct history *hst)
{ {
hst->line_start = hst->line_end; hst->line_start = hst->line_end;

View File

@ -79,3 +79,4 @@ void line_info_clear(struct history *hst);
void line_info_init(struct history *hst); void line_info_init(struct history *hst);
void line_info_onKey(ToxWindow *self, wint_t key); void line_info_onKey(ToxWindow *self, wint_t key);
void line_info_onDraw(ToxWindow *self);