diff options
author | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-07-29 16:48:57 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@neptun.ravnborg.org> | 2006-09-30 05:19:20 -0400 |
commit | c8dc68ad0fbd934e78e913b8a8d7b45945db4930 (patch) | |
tree | 62169927ce5ca83e3f280e6bbe06053989462968 /scripts/kconfig/mconf.c | |
parent | f3cbcdc955d0d2c8b4c52d6b73fc536b01b68c64 (diff) |
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 ef75d6c3d3e5..f7abca434829 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c | |||
@@ -606,9 +606,8 @@ static void conf(struct menu *menu) | |||
606 | reset_dialog(); | 606 | reset_dialog(); |
607 | res = dialog_menu(prompt ? prompt : _("Main Menu"), | 607 | res = dialog_menu(prompt ? prompt : _("Main Menu"), |
608 | _(menu_instructions), | 608 | _(menu_instructions), |
609 | rows, cols, rows - 10, | ||
610 | active_menu, &s_scroll); | 609 | active_menu, &s_scroll); |
611 | if (res == 1 || res == KEY_ESC) | 610 | if (res == 1 || res == KEY_ESC || res == -ERRDISPLAYTOOSMALL) |
612 | break; | 611 | break; |
613 | if (!item_activate_selected()) | 612 | if (!item_activate_selected()) |
614 | continue; | 613 | continue; |
@@ -617,7 +616,10 @@ static void conf(struct menu *menu) | |||
617 | 616 | ||
618 | submenu = item_data(); | 617 | submenu = item_data(); |
619 | active_menu = item_data(); | 618 | active_menu = item_data(); |
620 | sym = submenu->sym; | 619 | if (submenu) |
620 | sym = submenu->sym; | ||
621 | else | ||
622 | sym = NULL; | ||
621 | 623 | ||
622 | switch (res) { | 624 | switch (res) { |
623 | case 0: | 625 | case 0: |
@@ -683,7 +685,7 @@ static void conf(struct menu *menu) | |||
683 | static void show_textbox(const char *title, const char *text, int r, int c) | 685 | static void show_textbox(const char *title, const char *text, int r, int c) |
684 | { | 686 | { |
685 | reset_dialog(); | 687 | reset_dialog(); |
686 | dialog_textbox(title, text, r ? r : rows, c ? c : cols); | 688 | dialog_textbox(title, text, r, c); |
687 | } | 689 | } |
688 | 690 | ||
689 | static void show_helptext(const char *title, const char *text) | 691 | static void show_helptext(const char *title, const char *text) |
@@ -756,6 +758,8 @@ static void conf_choice(struct menu *menu) | |||
756 | break; | 758 | break; |
757 | case KEY_ESC: | 759 | case KEY_ESC: |
758 | return; | 760 | return; |
761 | case -ERRDISPLAYTOOSMALL: | ||
762 | return; | ||
759 | } | 763 | } |
760 | } | 764 | } |
761 | } | 765 | } |