mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-13 02:03:03 +01:00
put help message in chatwindow box when in scroll mode
This commit is contained in:
parent
bd5453002e
commit
1b3c40b539
27
src/chat.c
27
src/chat.c
@ -688,20 +688,23 @@ static void chat_onDraw(ToxWindow *self, Tox *m)
|
||||
|
||||
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);
|
||||
|
||||
wclear(ctx->linewin);
|
||||
line_info_print(self);
|
||||
|
||||
if (ctx->len > 0) {
|
||||
uint8_t line[MAX_STR_SIZE];
|
||||
|
||||
if (wcs_to_mbs_buf(line, ctx->line, MAX_STR_SIZE) == -1) {
|
||||
reset_buf(ctx->line, &ctx->pos, &ctx->len);
|
||||
wmove(self->window, y2 - CURS_Y_OFFSET, 0);
|
||||
} else {
|
||||
mvwprintw(ctx->linewin, 1, 0, "%s", line);
|
||||
if (ctx->len > 0 && !ctx->hst->scroll_mode) {
|
||||
uint8_t line[MAX_STR_SIZE];
|
||||
|
||||
if (wcs_to_mbs_buf(line, ctx->line, MAX_STR_SIZE) == -1) {
|
||||
reset_buf(ctx->line, &ctx->pos, &ctx->len);
|
||||
wmove(self->window, y2 - CURS_Y_OFFSET, 0);
|
||||
} else {
|
||||
mvwprintw(ctx->linewin, 1, 0, "%s", line);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -538,20 +538,23 @@ static void groupchat_onDraw(ToxWindow *self, Tox *m)
|
||||
|
||||
ChatContext *ctx = self->chatwin;
|
||||
|
||||
if (!ctx->hst->scroll_mode)
|
||||
scrollok(ctx->history, 1);
|
||||
|
||||
wclear(ctx->linewin);
|
||||
line_info_print(self);
|
||||
wclear(ctx->linewin);
|
||||
|
||||
if (ctx->len > 0) {
|
||||
uint8_t line[MAX_STR_SIZE];
|
||||
if (ctx->hst->scroll_mode) {
|
||||
line_info_onDraw(self);
|
||||
} else {
|
||||
curs_set(1);
|
||||
|
||||
if (wcs_to_mbs_buf(line, ctx->line, MAX_STR_SIZE) == -1) {
|
||||
reset_buf(ctx->line, &ctx->pos, &ctx->len);
|
||||
wmove(self->window, y2 - CURS_Y_OFFSET, 0);
|
||||
} else {
|
||||
mvwprintw(ctx->linewin, 1, 0, "%s", line);
|
||||
if (ctx->len > 0) {
|
||||
uint8_t line[MAX_STR_SIZE];
|
||||
|
||||
if (wcs_to_mbs_buf(line, ctx->line, MAX_STR_SIZE) == -1) {
|
||||
reset_buf(ctx->line, &ctx->pos, &ctx->len);
|
||||
wmove(self->window, y2 - CURS_Y_OFFSET, 0);
|
||||
} else {
|
||||
mvwprintw(ctx->linewin, 1, 0, "%s", line);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
hst->line_start = hst->line_end;
|
||||
|
@ -79,3 +79,4 @@ void line_info_clear(struct history *hst);
|
||||
|
||||
void line_info_init(struct history *hst);
|
||||
void line_info_onKey(ToxWindow *self, wint_t key);
|
||||
void line_info_onDraw(ToxWindow *self);
|
Loading…
Reference in New Issue
Block a user