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: Petr Baudis <pasky@suse.cz> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
352dd1df32
commit
00213b17ce
@ -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,
|
|||||||
|
|
||||||
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)
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 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,
|
|||||||
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,
|
|||||||
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,
|
|||||||
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,
|
|||||||
* -- 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 {
|
|||||||
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)
|
|||||||
\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)
|
|||||||
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)
|
||||||
|
Loading…
Reference in New Issue
Block a user