summaryrefslogtreecommitdiffstats
path: root/src/hci/tui/menu_ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/hci/tui/menu_ui.c')
-rw-r--r--src/hci/tui/menu_ui.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/hci/tui/menu_ui.c b/src/hci/tui/menu_ui.c
index f9dd9d10..cb4edbbc 100644
--- a/src/hci/tui/menu_ui.c
+++ b/src/hci/tui/menu_ui.c
@@ -217,6 +217,8 @@ static int menu_loop ( struct menu_ui *ui, struct menu_item **selected ) {
break;
default:
i = 0;
+
+ /* Check for shortcut. Visible items */
list_for_each_entry ( item, &ui->menu->items,
list ) {
if ( ! ( item->shortcut &&
@@ -231,6 +233,16 @@ static int menu_loop ( struct menu_ui *ui, struct menu_item **selected ) {
move = +1;
}
}
+
+ /* Hidden items */
+ list_for_each_entry ( item, &ui->menu->hidden_items,
+ list ) {
+ if ( item->shortcut &&
+ ( item->shortcut == key ) ) {
+ *selected = item;
+ goto hidden_entry_selected;
+ }
+ }
break;
}
}
@@ -259,6 +271,7 @@ static int menu_loop ( struct menu_ui *ui, struct menu_item **selected ) {
} while ( ( rc == 0 ) && ! chosen );
+ hidden_entry_selected:
return rc;
}