From e411d14b7a239b47a87f22c20ce193e37481f672 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Sat, 27 Aug 2011 14:24:27 +0200 Subject: core: do automatic zoom on current window when terminal becomes too small for windows --- src/gui/curses/gui-curses-window.c | 11 +++++++++-- src/gui/gui-window.h | 3 +++ 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src/gui') diff --git a/src/gui/curses/gui-curses-window.c b/src/gui/curses/gui-curses-window.c index 7edfc1aaa..08dc8d8d2 100644 --- a/src/gui/curses/gui-curses-window.c +++ b/src/gui/curses/gui-curses-window.c @@ -50,8 +50,9 @@ #include "../gui-hotlist.h" #include "../gui-input.h" #include "../gui-key.h" -#include "../gui-main.h" +#include "../gui-layout.h" #include "../gui-line.h" +#include "../gui-main.h" #include "../gui-nicklist.h" #include "gui-curses.h" @@ -1513,7 +1514,13 @@ gui_window_refresh_windows () gui_window_get_height () - add_top - add_bottom, 0) < 0) { - gui_window_merge_all (gui_current_window); + if (gui_window_layout_before_zoom) + { + /* remove zoom saved, to force a new zoom */ + gui_layout_window_remove_all (&gui_window_layout_before_zoom); + gui_window_layout_id_current_window = -1; + } + gui_window_zoom (gui_current_window); } for (ptr_win = gui_windows; ptr_win; ptr_win = ptr_win->next_window) diff --git a/src/gui/gui-window.h b/src/gui/gui-window.h index 73f817c08..a81371662 100644 --- a/src/gui/gui-window.h +++ b/src/gui/gui-window.h @@ -34,6 +34,9 @@ extern int gui_ok; extern int gui_window_refresh_needed; extern int gui_window_cursor_x, gui_window_cursor_y; +extern struct t_gui_layout_window *gui_window_layout_before_zoom; +extern int gui_window_layout_id_current_window; + /* window structures */ struct t_gui_window_coords -- cgit v1.2.3