aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/mconf.c
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2003-03-15 01:17:30 -0800
committerLinus Torvalds <torvalds@home.transmeta.com>2003-03-15 01:17:30 -0800
commit6faef31d755656e095037f60bb18f1d0d2b3d780 (patch)
treed30c1382946007b7a9af90b9d5099be2fc1f73f1 /scripts/kconfig/mconf.c
parentbbc115e93ae7844038127301294f9c116db9f5ec (diff)
downloadhistory-6faef31d755656e095037f60bb18f1d0d2b3d780.tar.gz
[PATCH] add menuconfig support to the front ends
This adds the support for the menuconfig to the front ends. qconf also has now an ".." entry to make it more obvious how to get to a parent menu.
Diffstat (limited to 'scripts/kconfig/mconf.c')
-rw-r--r--scripts/kconfig/mconf.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
index 48a2c02334b02..4cca5835fb130 100644
--- a/scripts/kconfig/mconf.c
+++ b/scripts/kconfig/mconf.c
@@ -302,11 +302,8 @@ static void build_conf(struct menu *menu)
cprint1("%s%*c%s",
menu->data ? "-->" : "++>",
indent + 1, ' ', prompt);
- } else {
- if (menu->parent != &rootmenu)
- cprint1(" %*c", indent + 1, ' ');
- cprint1("%s --->", prompt);
- }
+ } else
+ cprint1(" %*c%s --->", indent + 1, ' ', prompt);
cprint_done();
if (single_menu_mode && menu->data)
@@ -373,6 +370,11 @@ static void build_conf(struct menu *menu)
}
cprint_done();
} else {
+ if (menu == current_menu) {
+ cprint(":%p", menu);
+ cprint("---%*c%s", indent + 1, ' ', menu_get_prompt(menu));
+ goto conf_childs;
+ }
child_count++;
val = sym_get_tristate_value(sym);
if (sym_is_choice_value(sym) && val == yes) {
@@ -407,6 +409,11 @@ static void build_conf(struct menu *menu)
}
cprint1("%*c%s%s", indent + 1, ' ', menu_get_prompt(menu),
sym_has_value(sym) ? "" : " (NEW)");
+ if (menu->prompt->type == P_MENU) {
+ cprint1(" --->");
+ cprint_done();
+ return;
+ }
cprint_done();
}
@@ -445,9 +452,9 @@ static void conf(struct menu *menu)
cprint(":");
cprint("--- ");
cprint("L");
- cprint("Load an Alternate Configuration File");
+ cprint(" Load an Alternate Configuration File");
cprint("S");
- cprint("Save Configuration to an Alternate File");
+ cprint(" Save Configuration to an Alternate File");
}
stat = exec_conf();
if (stat < 0)
@@ -484,6 +491,8 @@ static void conf(struct menu *menu)
case 't':
if (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)
conf_choice(submenu);
+ else if (submenu->prompt->type == P_MENU)
+ conf(submenu);
break;
case 's':
conf_string(submenu);