aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-02-15 16:15:16 -0500
committerSam Ravnborg <sam@ravnborg.org>2009-06-09 16:37:34 -0400
commitaf6c159885537eb6582a61156ccfb73e83c0478d (patch)
treef3ee9a9f60135ef625b58d487bdb9c2d734c3d66 /scripts/kconfig
parent3af968e066d593bc4dacc021715f3e95ddf0996f (diff)
kconfig: handle comment entries within choice/endchoice
Implement support for comment entries within choice groups. Comment entries are displayed visually distinct from normal configs, and selecting them is a no-op. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts/kconfig')
-rw-r--r--scripts/kconfig/lxdialog/checklist.c3
-rw-r--r--scripts/kconfig/mconf.c10
2 files changed, 11 insertions, 2 deletions
diff --git a/scripts/kconfig/lxdialog/checklist.c b/scripts/kconfig/lxdialog/checklist.c
index b2a878c936d..bcc6f19c3a3 100644
--- a/scripts/kconfig/lxdialog/checklist.c
+++ b/scripts/kconfig/lxdialog/checklist.c
@@ -41,7 +41,8 @@ static void print_item(WINDOW * win, int choice, int selected)
41 wmove(win, choice, check_x); 41 wmove(win, choice, check_x);
42 wattrset(win, selected ? dlg.check_selected.atr 42 wattrset(win, selected ? dlg.check_selected.atr
43 : dlg.check.atr); 43 : dlg.check.atr);
44 wprintw(win, "(%c)", item_is_tag('X') ? 'X' : ' '); 44 if (!item_is_tag(':'))
45 wprintw(win, "(%c)", item_is_tag('X') ? 'X' : ' ');
45 46
46 wattrset(win, selected ? dlg.tag_selected.atr : dlg.tag.atr); 47 wattrset(win, selected ? dlg.tag_selected.atr : dlg.tag.atr);
47 mvwaddch(win, choice, item_x, item_str()[0]); 48 mvwaddch(win, choice, item_x, item_str()[0]);
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
index 6841e95c098..3bcacb4bfd3 100644
--- a/scripts/kconfig/mconf.c
+++ b/scripts/kconfig/mconf.c
@@ -732,7 +732,12 @@ static void conf_choice(struct menu *menu)
732 for (child = menu->list; child; child = child->next) { 732 for (child = menu->list; child; child = child->next) {
733 if (!menu_is_visible(child)) 733 if (!menu_is_visible(child))
734 continue; 734 continue;
735 item_make("%s", _(menu_get_prompt(child))); 735 if (child->sym)
736 item_make("%s", _(menu_get_prompt(child)));
737 else {
738 item_make("*** %s ***", _(menu_get_prompt(child)));
739 item_set_tag(':');
740 }
736 item_set_data(child); 741 item_set_data(child);
737 if (child->sym == active) 742 if (child->sym == active)
738 item_set_selected(1); 743 item_set_selected(1);
@@ -748,6 +753,9 @@ static void conf_choice(struct menu *menu)
748 case 0: 753 case 0:
749 if (selected) { 754 if (selected) {
750 child = item_data(); 755 child = item_data();
756 if (!child->sym)
757 break;
758
751 sym_set_tristate_value(child->sym, yes); 759 sym_set_tristate_value(child->sym, yes);
752 } 760 }
753 return; 761 return;