kconfig: Remove support for lxdialog --checklist
authorPetr Baudis <pasky@ucw.cz>
Thu, 22 Dec 2005 03:44:04 +0000 (04:44 +0100)
committer <sam@mars.ravnborg.org> <>
Sun, 1 Jan 2006 21:30:43 +0000 (22:30 +0100)
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>
scripts/kconfig/lxdialog/checklist.c
scripts/kconfig/lxdialog/dialog.h
scripts/kconfig/lxdialog/lxdialog.c

index 3fb681f..db07ae7 100644 (file)
@@ -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,10 +41,7 @@ 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' : ' ');
+       wprintw(win, "(%c)", status ? 'X' : ' ');
 
        wattrset(win, selected ? tag_selected_attr : tag_attr);
        mvwaddch(win, choice, item_x, item[0]);
@@ -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,34 +298,20 @@ 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;
-                                               status[scroll + choice] = 1;
-                                               for (i = 0; i < max_choice; i++)
-                                                       print_item(list, items[(scroll + i) * 3 + 1],
-                                                                  status[scroll + i], i, i == choice);
-                                       }
+                               if (!status[scroll + choice]) {
+                                       for (i = 0; i < item_no; i++)
+                                               status[i] = 0;
+                                       status[scroll + choice] = 1;
+                                       for (i = 0; i < max_choice; i++)
+                                               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 {
-                                                       fprintf(stderr, "%s", items[i * 3]);
-                                               }
-
-                                       }
-                               }
+                               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);
index f882204..af3cf71 100644 (file)
@@ -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
index 2c34ea1..79f6c5f 100644 (file)
@@ -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)