diff options
author | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-07-29 22:48:57 +0200 |
---|---|---|
committer | Sam Ravnborg <sam@neptun.ravnborg.org> | 2006-09-30 11:19:20 +0200 |
commit | c8dc68ad0fbd934e78e913b8a8d7b45945db4930 (patch) | |
tree | 62169927ce5ca83e3f280e6bbe06053989462968 /scripts/kconfig/mconf.c | |
parent | f3cbcdc955d0d2c8b4c52d6b73fc536b01b68c64 (diff) | |
download | kernel-crypto-c8dc68ad0fbd934e78e913b8a8d7b45945db4930.tar.gz kernel-crypto-c8dc68ad0fbd934e78e913b8a8d7b45945db4930.tar.xz kernel-crypto-c8dc68ad0fbd934e78e913b8a8d7b45945db4930.zip |
kconfig/lxdialog: support resize
In all dialogs now properly catch KEY_RESIZE and take proper action.
In mconf try to behave sensibly when a dialog routine returns
-ERRDISPLAYTOOSMALL.
The original check for a screnn size of 80x19 is kept for now.
It may make sense to remove it later, but thats anyway what
much text is adjusted for.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/kconfig/mconf.c')
-rw-r--r-- | scripts/kconfig/mconf.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index ef75d6c3d3e..f7abca43482 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c @@ -606,9 +606,8 @@ static void conf(struct menu *menu) reset_dialog(); res = dialog_menu(prompt ? prompt : _("Main Menu"), _(menu_instructions), - rows, cols, rows - 10, active_menu, &s_scroll); - if (res == 1 || res == KEY_ESC) + if (res == 1 || res == KEY_ESC || res == -ERRDISPLAYTOOSMALL) break; if (!item_activate_selected()) continue; @@ -617,7 +616,10 @@ static void conf(struct menu *menu) submenu = item_data(); active_menu = item_data(); - sym = submenu->sym; + if (submenu) + sym = submenu->sym; + else + sym = NULL; switch (res) { case 0: @@ -683,7 +685,7 @@ static void conf(struct menu *menu) static void show_textbox(const char *title, const char *text, int r, int c) { reset_dialog(); - dialog_textbox(title, text, r ? r : rows, c ? c : cols); + dialog_textbox(title, text, r, c); } static void show_helptext(const char *title, const char *text) @@ -756,6 +758,8 @@ static void conf_choice(struct menu *menu) break; case KEY_ESC: return; + case -ERRDISPLAYTOOSMALL: + return; } } } |