diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2010-09-02 17:08:11 +0200 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2010-09-02 17:08:11 +0200 |
commit | e62ed84b19d114870daf1f16aae177f60f9d6ad3 (patch) | |
tree | 9b3471d639525410bd65e36c5e5aa94b77c29a28 /package/config/lxdialog | |
parent | 9bc12b85e83266c83f1fee0b9dd2d38e43d9252c (diff) | |
parent | 40177240fab04c710fd756a24816b451b37dc1b8 (diff) | |
download | buildroot-novena-e62ed84b19d114870daf1f16aae177f60f9d6ad3.tar.gz buildroot-novena-e62ed84b19d114870daf1f16aae177f60f9d6ad3.zip |
Merge branch 'for-2010.11/kconfig-upgrade' of git://git.busybox.net/~tpetazzoni/git/buildroot
Diffstat (limited to 'package/config/lxdialog')
-rw-r--r-- | package/config/lxdialog/.gitignore | 4 | ||||
-rw-r--r-- | package/config/lxdialog/checklist.c | 10 | ||||
-rw-r--r-- | package/config/lxdialog/inputbox.c | 4 | ||||
-rw-r--r-- | package/config/lxdialog/menubox.c | 22 | ||||
-rw-r--r-- | package/config/lxdialog/util.c | 2 |
5 files changed, 27 insertions, 15 deletions
diff --git a/package/config/lxdialog/.gitignore b/package/config/lxdialog/.gitignore new file mode 100644 index 000000000..90b08ff02 --- /dev/null +++ b/package/config/lxdialog/.gitignore @@ -0,0 +1,4 @@ +# +# Generated files +# +lxdialog diff --git a/package/config/lxdialog/checklist.c b/package/config/lxdialog/checklist.c index bcc6f19c3..a2eb80fbc 100644 --- a/package/config/lxdialog/checklist.c +++ b/package/config/lxdialog/checklist.c @@ -31,6 +31,10 @@ static int list_width, check_x, item_x; static void print_item(WINDOW * win, int choice, int selected) { int i; + char *list_item = malloc(list_width + 1); + + strncpy(list_item, item_str(), list_width - item_x); + list_item[list_width - item_x] = '\0'; /* Clear 'residue' of last item */ wattrset(win, dlg.menubox.atr); @@ -45,13 +49,14 @@ static void print_item(WINDOW * win, int choice, int selected) wprintw(win, "(%c)", item_is_tag('X') ? 'X' : ' '); wattrset(win, selected ? dlg.tag_selected.atr : dlg.tag.atr); - mvwaddch(win, choice, item_x, item_str()[0]); + mvwaddch(win, choice, item_x, list_item[0]); wattrset(win, selected ? dlg.item_selected.atr : dlg.item.atr); - waddstr(win, (char *)item_str() + 1); + waddstr(win, list_item + 1); if (selected) { wmove(win, choice, check_x + 1); wrefresh(win); } + free(list_item); } /* @@ -175,6 +180,7 @@ do_resize: check_x = 0; item_foreach() check_x = MAX(check_x, strlen(item_str()) + 4); + check_x = MIN(check_x, list_width); check_x = (list_width - check_x) / 2; item_x = check_x + 4; diff --git a/package/config/lxdialog/inputbox.c b/package/config/lxdialog/inputbox.c index 616c60138..dd8e587c5 100644 --- a/package/config/lxdialog/inputbox.c +++ b/package/config/lxdialog/inputbox.c @@ -180,7 +180,7 @@ do_resize: case KEY_LEFT: switch (button) { case -1: - button = 1; /* Indicates "Cancel" button is selected */ + button = 1; /* Indicates "Help" button is selected */ print_buttons(dialog, height, width, 1); break; case 0: @@ -204,7 +204,7 @@ do_resize: print_buttons(dialog, height, width, 0); break; case 0: - button = 1; /* Indicates "Cancel" button is selected */ + button = 1; /* Indicates "Help" button is selected */ print_buttons(dialog, height, width, 1); break; case 1: diff --git a/package/config/lxdialog/menubox.c b/package/config/lxdialog/menubox.c index fa9d633f2..1d604738f 100644 --- a/package/config/lxdialog/menubox.c +++ b/package/config/lxdialog/menubox.c @@ -383,6 +383,10 @@ do_resize: case 'n': case 'm': case '/': + case 'h': + case '?': + case 'z': + case '\n': /* save scroll info */ *s_scroll = scroll; delwin(menu); @@ -390,8 +394,10 @@ do_resize: item_set(scroll + choice); item_set_selected(1); switch (key) { + case 'h': + case '?': + return 2; case 's': - return 3; case 'y': return 3; case 'n': @@ -402,18 +408,12 @@ do_resize: return 6; case '/': return 7; + case 'z': + return 8; + case '\n': + return button; } return 0; - case 'h': - case '?': - button = 2; - case '\n': - *s_scroll = scroll; - delwin(menu); - delwin(dialog); - item_set(scroll + choice); - item_set_selected(1); - return button; case 'e': case 'x': key = KEY_ESC; diff --git a/package/config/lxdialog/util.c b/package/config/lxdialog/util.c index 86d95cca4..f2375ad7e 100644 --- a/package/config/lxdialog/util.c +++ b/package/config/lxdialog/util.c @@ -19,6 +19,8 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include <stdarg.h> + #include "dialog.h" struct dialog_info dlg; |