From 7bf475540c87c5c969cdd198b5a305840d525130 Mon Sep 17 00:00:00 2001 From: M600 Date: Fri, 10 Mar 2017 12:44:54 +0100 Subject: [PATCH] Fix padding and arrows --- 42sh/src/completion/c_arrow.c | 4 +--- 42sh/src/completion/c_init.c | 3 +-- 42sh/src/completion/c_printer.c | 22 ++++++++++++++++------ 42sh/src/completion/c_terminal.c | 4 ++-- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/42sh/src/completion/c_arrow.c b/42sh/src/completion/c_arrow.c index c32f0745..4890cec9 100644 --- a/42sh/src/completion/c_arrow.c +++ b/42sh/src/completion/c_arrow.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/03/10 09:04:42 by alao #+# #+# */ -/* Updated: 2017/03/10 10:21:01 by alao ### ########.fr */ +/* Updated: 2017/03/10 12:44:05 by alao ### ########.fr */ /* */ /* ************************************************************************** */ @@ -29,10 +29,8 @@ static void c_arrow_right(t_comp *c) i += c->c_line - (c->c_sy - ((c->c_pline - 1) * c->c_line)); i++; } - DG("POSX [%d] C_PLINE [%d]", c->pos_x, c->c_line); if (c->pos_x == (c->c_pline - 1)) { - DG("X"); i = c->c_line - (c->c_sy - ((c->c_pline - 1) * c->c_line)); while (i < c->c_line) { diff --git a/42sh/src/completion/c_init.c b/42sh/src/completion/c_init.c index 8e356bfc..96035644 100644 --- a/42sh/src/completion/c_init.c +++ b/42sh/src/completion/c_init.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/09 11:21:16 by alao #+# #+# */ -/* Updated: 2017/03/10 11:38:35 by alao ### ########.fr */ +/* Updated: 2017/03/10 12:43:57 by alao ### ########.fr */ /* */ /* ************************************************************************** */ @@ -60,7 +60,6 @@ static void c_init_base(t_comp *c) c->m_size += ft_strlen(data_singleton()->line.input); c->m_size = (c->m_size / c->win_y); c->m_size = c->win_y - c->m_size - 1; - DG("MS [%d] WX %d WY %d", c->m_size, c->win_x, c->win_y); c->pos_x = 1; c->pos_y = 1; c->cutpoint = 0; diff --git a/42sh/src/completion/c_printer.c b/42sh/src/completion/c_printer.c index 7f03451a..f0297976 100644 --- a/42sh/src/completion/c_printer.c +++ b/42sh/src/completion/c_printer.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/10 12:55:39 by alao #+# #+# */ -/* Updated: 2017/03/10 10:18:16 by alao ### ########.fr */ +/* Updated: 2017/03/10 12:43:16 by alao ### ########.fr */ /* */ /* ************************************************************************** */ @@ -98,12 +98,10 @@ static t_clst *c_rolling(t_comp *c) y = 1; while ((y * (c->m_size - 1)) < id) y++; - c->pos_x = x; - c->pos_y = y; + c->pos_x = id; + c->pos_y = y; if (y > 1) { - c->pos_x = x; - c->pos_y = y; x = (y - 1) * (c->m_size - 1); ptr = c->lst; while (x) @@ -125,10 +123,17 @@ void c_printer(t_comp *c) t_clst *ptr; int loop; int max_line; + int offset; loop = c->c_line; - max_line = c->m_size - 1; + + max_line = c->c_line - (c->m_size - 1); ptr = c_rolling(c); + if ((c->pos_y * (c->m_size - 1)) > c->c_line) + max_line = (c->c_line % (c->m_size - 1)); + else + max_line = c->m_size - 1; + offset = (c->m_size - 1) - max_line; while (loop && max_line) { c_printer_line(c, ptr, c->c_pline, 1); @@ -137,4 +142,9 @@ void c_printer(t_comp *c) loop--; max_line--; } + while (offset) + { + ft_putstr(tgetstr("do", NULL)); + offset--; + } } diff --git a/42sh/src/completion/c_terminal.c b/42sh/src/completion/c_terminal.c index b8e6c21c..e8dcb5ba 100644 --- a/42sh/src/completion/c_terminal.c +++ b/42sh/src/completion/c_terminal.c @@ -6,7 +6,7 @@ /* By: alao +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/10/11 10:44:40 by alao #+# #+# */ -/* Updated: 2017/03/10 11:45:57 by alao ### ########.fr */ +/* Updated: 2017/03/10 12:06:22 by alao ### ########.fr */ /* */ /* ************************************************************************** */ @@ -78,7 +78,7 @@ void c_term_mv_down(t_comp *c) i = 0; if (c->c_sy > c->win_y) - value = c->m_size + 1; + value = c->m_size; else value = c->c_line; while (i < value)