Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 00213b17 authored by Petr Baudis's avatar Petr Baudis Committed by Sam Ravnborg
Browse files

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
Loading
Loading
Loading
Loading
+14 −33
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@

#include "dialog.h"

static int list_width, check_x, item_x, checkflag;
static int list_width, check_x, item_x;

/*
 * 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);
	wattrset(win, selected ? check_selected_attr : check_attr);
	if (checkflag == FLAG_CHECK)
		wprintw(win, "[%c]", status ? 'X' : ' ');
	else
	wprintw(win, "(%c)", status ? 'X' : ' ');

	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
 * 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 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 key = 0, button = 0, choice = 0, scroll = 0, max_choice, *status;
	WINDOW *dialog, *list;

	checkflag = flag;

	/* Allocate space for storing item on/off status */
	if ((status = malloc(sizeof(int) * item_no)) == NULL) {
		endwin();
@@ -303,12 +298,6 @@ int dialog_checklist(const char *title, const char *prompt, int height,
		case ' ':
		case '\n':
			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]) {
					for (i = 0; i < item_no; i++)
						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],
							   status[scroll + i], i, i == choice);
				}
				}
				wnoutrefresh(list);
				wrefresh(dialog);

				for (i = 0; i < item_no; i++) {
					if (status[i]) {
						if (flag == FLAG_CHECK) {
							fprintf(stderr, "\"%s\" ", items[i * 3]);
						} else {
				for (i = 0; i < item_no; i++)
					if (status[i])
						fprintf(stderr, "%s", items[i * 3]);
						}

					}
				}
			} else
				fprintf(stderr, "%s", items[(scroll + choice) * 3]);
			delwin(dialog);
+1 −8
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ int dialog_menu(const char *title, const char *prompt, int height, int width,
		const char *const *items);
int dialog_checklist(const char *title, const char *prompt, int height,
		     int width, int list_height, int item_no,
		     const char *const *items, int flag);
		     const char *const *items);
extern char dialog_input_result[];
int dialog_inputbox(const char *title, const char *prompt, int height,
		    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')
 */
#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
+2 −10
Original line number Diff line number Diff line
@@ -31,12 +31,11 @@ struct Mode {
	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;

static struct Mode modes[] = {
	{"--menu", 9, 0, 3, j_menu},
	{"--checklist", 9, 0, 3, j_checklist},
	{"--radiolist", 9, 0, 3, j_radiolist},
	{"--yesno", 5, 5, 1, j_yesno},
	{"--textbox", 5, 5, 1, j_textbox},
@@ -151,7 +150,6 @@ static void Usage(const char *name)
\nBox options:\
\n\
\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  --textbox   <file> <height> <width>\
\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);
}

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)
{
	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)