From 095f29652994075962cdfc43265e84fb690e9421 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Thu, 17 Jun 2004 18:48:01 +0000 Subject: [PATCH] Fixed display bug when nicklist is displayed at bottom of screen --- ChangeLog | 3 ++- src/gui/curses/gui-display.c | 16 ++++++++-------- src/gui/curses/gui-input.c | 1 + weechat/ChangeLog | 3 ++- weechat/src/gui/curses/gui-display.c | 16 ++++++++-------- weechat/src/gui/curses/gui-input.c | 1 + 6 files changed, 22 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index f31a1ed83..8ad6b0258 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,11 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2004-06-13 +ChangeLog - 2004-06-17 Version 0.0.7 (under dev!): + * fixed display bug when nicklist is displayed at bottom of screen * added history limit (text buffer & commands) Version 0.0.6 (2004-06-05): diff --git a/src/gui/curses/gui-display.c b/src/gui/curses/gui-display.c index 310493c3a..64ac7e8c3 100644 --- a/src/gui/curses/gui-display.c +++ b/src/gui/curses/gui-display.c @@ -227,10 +227,10 @@ gui_calculate_pos_size (t_gui_window *window) case CFG_LOOK_NICKLIST_TOP: nick_count (CHANNEL(window), &num_nicks, &num_op, &num_halfop, &num_voice, &num_normal); - if (((max_length + 1) * num_nicks) % COLS == 0) - lines = ((max_length + 1) * num_nicks) / COLS; + if (((max_length + 2) * num_nicks) % COLS == 0) + lines = ((max_length + 2) * num_nicks) / COLS; else - lines = (((max_length + 1) * num_nicks) / COLS) + 1; + lines = (((max_length + 2) * num_nicks) / COLS) + 1; window->win_chat_x = 0; window->win_chat_y = 1 + (lines + 1); window->win_chat_width = COLS; @@ -246,10 +246,10 @@ gui_calculate_pos_size (t_gui_window *window) case CFG_LOOK_NICKLIST_BOTTOM: nick_count (CHANNEL(window), &num_nicks, &num_op, &num_halfop, &num_voice, &num_normal); - if (((max_length + 1) * num_nicks) % COLS == 0) - lines = ((max_length + 1) * num_nicks) / COLS; + if (((max_length + 2) * num_nicks) % COLS == 0) + lines = ((max_length + 2) * num_nicks) / COLS; else - lines = (((max_length + 1) * num_nicks) / COLS) + 1; + lines = (((max_length + 2) * num_nicks) / COLS) + 1; window->win_chat_x = 0; window->win_chat_y = 1; window->win_chat_width = COLS; @@ -778,9 +778,9 @@ gui_draw_window_nick (t_gui_window *window) if ((cfg_look_nicklist_position == CFG_LOOK_NICKLIST_TOP) || (cfg_look_nicklist_position == CFG_LOOK_NICKLIST_BOTTOM)) { - if (y >= window->win_nick_height - 1) + if (y - ((cfg_look_nicklist_position == CFG_LOOK_NICKLIST_BOTTOM) ? 1 : 0) >= window->win_nick_height - 1) { - column += max_length + 1; + column += max_length + 2; y = (cfg_look_nicklist_position == CFG_LOOK_NICKLIST_TOP) ? 0 : 1; } diff --git a/src/gui/curses/gui-input.c b/src/gui/curses/gui-input.c index 26a881428..95b22670c 100644 --- a/src/gui/curses/gui-input.c +++ b/src/gui/curses/gui-input.c @@ -59,6 +59,7 @@ gui_read_keyb () { /* resize event */ case KEY_RESIZE: + gui_calculate_pos_size (gui_current_window); gui_redraw_window (gui_current_window); break; /* previous window */ diff --git a/weechat/ChangeLog b/weechat/ChangeLog index f31a1ed83..8ad6b0258 100644 --- a/weechat/ChangeLog +++ b/weechat/ChangeLog @@ -1,10 +1,11 @@ WeeChat - Wee Enhanced Environment for Chat =========================================== -ChangeLog - 2004-06-13 +ChangeLog - 2004-06-17 Version 0.0.7 (under dev!): + * fixed display bug when nicklist is displayed at bottom of screen * added history limit (text buffer & commands) Version 0.0.6 (2004-06-05): diff --git a/weechat/src/gui/curses/gui-display.c b/weechat/src/gui/curses/gui-display.c index 310493c3a..64ac7e8c3 100644 --- a/weechat/src/gui/curses/gui-display.c +++ b/weechat/src/gui/curses/gui-display.c @@ -227,10 +227,10 @@ gui_calculate_pos_size (t_gui_window *window) case CFG_LOOK_NICKLIST_TOP: nick_count (CHANNEL(window), &num_nicks, &num_op, &num_halfop, &num_voice, &num_normal); - if (((max_length + 1) * num_nicks) % COLS == 0) - lines = ((max_length + 1) * num_nicks) / COLS; + if (((max_length + 2) * num_nicks) % COLS == 0) + lines = ((max_length + 2) * num_nicks) / COLS; else - lines = (((max_length + 1) * num_nicks) / COLS) + 1; + lines = (((max_length + 2) * num_nicks) / COLS) + 1; window->win_chat_x = 0; window->win_chat_y = 1 + (lines + 1); window->win_chat_width = COLS; @@ -246,10 +246,10 @@ gui_calculate_pos_size (t_gui_window *window) case CFG_LOOK_NICKLIST_BOTTOM: nick_count (CHANNEL(window), &num_nicks, &num_op, &num_halfop, &num_voice, &num_normal); - if (((max_length + 1) * num_nicks) % COLS == 0) - lines = ((max_length + 1) * num_nicks) / COLS; + if (((max_length + 2) * num_nicks) % COLS == 0) + lines = ((max_length + 2) * num_nicks) / COLS; else - lines = (((max_length + 1) * num_nicks) / COLS) + 1; + lines = (((max_length + 2) * num_nicks) / COLS) + 1; window->win_chat_x = 0; window->win_chat_y = 1; window->win_chat_width = COLS; @@ -778,9 +778,9 @@ gui_draw_window_nick (t_gui_window *window) if ((cfg_look_nicklist_position == CFG_LOOK_NICKLIST_TOP) || (cfg_look_nicklist_position == CFG_LOOK_NICKLIST_BOTTOM)) { - if (y >= window->win_nick_height - 1) + if (y - ((cfg_look_nicklist_position == CFG_LOOK_NICKLIST_BOTTOM) ? 1 : 0) >= window->win_nick_height - 1) { - column += max_length + 1; + column += max_length + 2; y = (cfg_look_nicklist_position == CFG_LOOK_NICKLIST_TOP) ? 0 : 1; } diff --git a/weechat/src/gui/curses/gui-input.c b/weechat/src/gui/curses/gui-input.c index 26a881428..95b22670c 100644 --- a/weechat/src/gui/curses/gui-input.c +++ b/weechat/src/gui/curses/gui-input.c @@ -59,6 +59,7 @@ gui_read_keyb () { /* resize event */ case KEY_RESIZE: + gui_calculate_pos_size (gui_current_window); gui_redraw_window (gui_current_window); break; /* previous window */