Commit 00213b17 authored by Petr Baudis's avatar Petr Baudis Committed by

kconfig: Remove support for lxdialog --checklist

Remove support for lxdialog --checklist

The checklist lxdialog functionality is not used by menuconfig
(only the radiolist variant is used) and supporting it would
significantly complicate the forthcoming liblxdialog API.
Signed-off-by: default avatarPetr Baudis <pasky@suse.cz>
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
parent 352dd1df
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#include "dialog.h" #include "dialog.h"
static int list_width, check_x, item_x, checkflag; static int list_width, check_x, item_x;
/* /*
* Print list item * Print list item
...@@ -41,9 +41,6 @@ static void print_item(WINDOW * win, const char *item, int status, int choice, ...@@ -41,9 +41,6 @@ static void print_item(WINDOW * win, const char *item, int status, int choice,
wmove(win, choice, check_x); wmove(win, choice, check_x);
wattrset(win, selected ? check_selected_attr : check_attr); wattrset(win, selected ? check_selected_attr : check_attr);
if (checkflag == FLAG_CHECK)
wprintw(win, "[%c]", status ? 'X' : ' ');
else
wprintw(win, "(%c)", status ? 'X' : ' '); wprintw(win, "(%c)", status ? 'X' : ' ');
wattrset(win, selected ? tag_selected_attr : tag_attr); wattrset(win, selected ? tag_selected_attr : tag_attr);
...@@ -109,18 +106,16 @@ static void print_buttons(WINDOW * dialog, int height, int width, int selected) ...@@ -109,18 +106,16 @@ static void print_buttons(WINDOW * dialog, int height, int width, int selected)
/* /*
* Display a dialog box with a list of options that can be turned on or off * Display a dialog box with a list of options that can be turned on or off
* The `flag' parameter is used to select between radiolist and checklist. * in the style of radiolist (only one option turned on at a time).
*/ */
int dialog_checklist(const char *title, const char *prompt, int height, int dialog_checklist(const char *title, const char *prompt, int height,
int width, int list_height, int item_no, int width, int list_height, int item_no,
const char *const *items, int flag) const char *const *items)
{ {
int i, x, y, box_x, box_y; int i, x, y, box_x, box_y;
int key = 0, button = 0, choice = 0, scroll = 0, max_choice, *status; int key = 0, button = 0, choice = 0, scroll = 0, max_choice, *status;
WINDOW *dialog, *list; WINDOW *dialog, *list;
checkflag = flag;
/* Allocate space for storing item on/off status */ /* Allocate space for storing item on/off status */
if ((status = malloc(sizeof(int) * item_no)) == NULL) { if ((status = malloc(sizeof(int) * item_no)) == NULL) {
endwin(); endwin();
...@@ -303,12 +298,6 @@ int dialog_checklist(const char *title, const char *prompt, int height, ...@@ -303,12 +298,6 @@ int dialog_checklist(const char *title, const char *prompt, int height,
case ' ': case ' ':
case '\n': case '\n':
if (!button) { if (!button) {
if (flag == FLAG_CHECK) {
status[scroll + choice] = !status[scroll + choice];
wmove(list, choice, check_x);
wattrset(list, check_selected_attr);
wprintw(list, "[%c]", status[scroll + choice] ? 'X' : ' ');
} else {
if (!status[scroll + choice]) { if (!status[scroll + choice]) {
for (i = 0; i < item_no; i++) for (i = 0; i < item_no; i++)
status[i] = 0; status[i] = 0;
...@@ -317,20 +306,12 @@ int dialog_checklist(const char *title, const char *prompt, int height, ...@@ -317,20 +306,12 @@ int dialog_checklist(const char *title, const char *prompt, int height,
print_item(list, items[(scroll + i) * 3 + 1], print_item(list, items[(scroll + i) * 3 + 1],
status[scroll + i], i, i == choice); status[scroll + i], i, i == choice);
} }
}
wnoutrefresh(list); wnoutrefresh(list);
wrefresh(dialog); wrefresh(dialog);
for (i = 0; i < item_no; i++) { for (i = 0; i < item_no; i++)
if (status[i]) { if (status[i])
if (flag == FLAG_CHECK) {
fprintf(stderr, "\"%s\" ", items[i * 3]);
} else {
fprintf(stderr, "%s", items[i * 3]); fprintf(stderr, "%s", items[i * 3]);
}
}
}
} else } else
fprintf(stderr, "%s", items[(scroll + choice) * 3]); fprintf(stderr, "%s", items[(scroll + choice) * 3]);
delwin(dialog); delwin(dialog);
......
...@@ -160,7 +160,7 @@ int dialog_menu(const char *title, const char *prompt, int height, int width, ...@@ -160,7 +160,7 @@ int dialog_menu(const char *title, const char *prompt, int height, int width,
const char *const *items); const char *const *items);
int dialog_checklist(const char *title, const char *prompt, int height, int dialog_checklist(const char *title, const char *prompt, int height,
int width, int list_height, int item_no, int width, int list_height, int item_no,
const char *const *items, int flag); const char *const *items);
extern char dialog_input_result[]; extern char dialog_input_result[];
int dialog_inputbox(const char *title, const char *prompt, int height, int dialog_inputbox(const char *title, const char *prompt, int height,
int width, const char *init); int width, const char *init);
...@@ -175,10 +175,3 @@ int dialog_inputbox(const char *title, const char *prompt, int height, ...@@ -175,10 +175,3 @@ int dialog_inputbox(const char *title, const char *prompt, int height,
* -- uppercase chars are used to invoke the button (M_EVENT + 'O') * -- uppercase chars are used to invoke the button (M_EVENT + 'O')
*/ */
#define M_EVENT (KEY_MAX+1) #define M_EVENT (KEY_MAX+1)
/*
* The `flag' parameter in checklist is used to select between
* radiolist and checklist
*/
#define FLAG_CHECK 1
#define FLAG_RADIO 0
...@@ -31,12 +31,11 @@ struct Mode { ...@@ -31,12 +31,11 @@ struct Mode {
jumperFn *jumper; jumperFn *jumper;
}; };
jumperFn j_menu, j_checklist, j_radiolist, j_yesno, j_textbox, j_inputbox; jumperFn j_menu, j_radiolist, j_yesno, j_textbox, j_inputbox;
jumperFn j_msgbox, j_infobox; jumperFn j_msgbox, j_infobox;
static struct Mode modes[] = { static struct Mode modes[] = {
{"--menu", 9, 0, 3, j_menu}, {"--menu", 9, 0, 3, j_menu},
{"--checklist", 9, 0, 3, j_checklist},
{"--radiolist", 9, 0, 3, j_radiolist}, {"--radiolist", 9, 0, 3, j_radiolist},
{"--yesno", 5, 5, 1, j_yesno}, {"--yesno", 5, 5, 1, j_yesno},
{"--textbox", 5, 5, 1, j_textbox}, {"--textbox", 5, 5, 1, j_textbox},
...@@ -151,7 +150,6 @@ static void Usage(const char *name) ...@@ -151,7 +150,6 @@ static void Usage(const char *name)
\nBox options:\ \nBox options:\
\n\ \n\
\n --menu <text> <height> <width> <menu height> <tag1> <item1>...\ \n --menu <text> <height> <width> <menu height> <tag1> <item1>...\
\n --checklist <text> <height> <width> <list height> <tag1> <item1> <status1>...\
\n --radiolist <text> <height> <width> <list height> <tag1> <item1> <status1>...\ \n --radiolist <text> <height> <width> <list height> <tag1> <item1> <status1>...\
\n --textbox <file> <height> <width>\ \n --textbox <file> <height> <width>\
\n --inputbox <text> <height> <width> [<init>]\ \n --inputbox <text> <height> <width> [<init>]\
...@@ -170,16 +168,10 @@ int j_menu(const char *t, int ac, const char *const *av) ...@@ -170,16 +168,10 @@ int j_menu(const char *t, int ac, const char *const *av)
atoi(av[5]), av[6], (ac - 6) / 2, av + 7); atoi(av[5]), av[6], (ac - 6) / 2, av + 7);
} }
int j_checklist(const char *t, int ac, const char *const *av)
{
return dialog_checklist(t, av[2], atoi(av[3]), atoi(av[4]),
atoi(av[5]), (ac - 6) / 3, av + 6, FLAG_CHECK);
}
int j_radiolist(const char *t, int ac, const char *const *av) int j_radiolist(const char *t, int ac, const char *const *av)
{ {
return dialog_checklist(t, av[2], atoi(av[3]), atoi(av[4]), return dialog_checklist(t, av[2], atoi(av[3]), atoi(av[4]),
atoi(av[5]), (ac - 6) / 3, av + 6, FLAG_RADIO); atoi(av[5]), (ac - 6) / 3, av + 6);
} }
int j_textbox(const char *t, int ac, const char *const *av) int j_textbox(const char *t, int ac, const char *const *av)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment