[ncmenu] use modifiers in all ncmenu_sections

This commit is contained in:
nick black 2022-01-12 00:36:27 -05:00
parent a7a47f8e0c
commit 06d61b9025
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC
2 changed files with 22 additions and 22 deletions

View File

@ -255,37 +255,37 @@ bool menu_or_hud_key(struct notcurses *nc, const struct ncinput *ni){
return false; return false;
} }
// toggle the HUD // toggle the HUD
if(tmpni.id == 'H' && !tmpni.alt && !tmpni.ctrl){ if(tmpni.id == 'H' && !ncinput_alt_p(&tmpni) && !ncinput_ctrl_p(&tmpni)){
hud_toggle(nc); hud_toggle(nc);
return true; return true;
} }
if(tmpni.id == 'P' && !tmpni.alt && !tmpni.ctrl){ if(tmpni.id == 'P' && !ncinput_alt_p(&tmpni) && !ncinput_ctrl_p(&tmpni)){
fpsplot_toggle(nc); fpsplot_toggle(nc);
return true; return true;
} }
if(tmpni.id == 'U' && !tmpni.alt && tmpni.ctrl){ if(tmpni.id == 'U' && !ncinput_alt_p(&tmpni) && ncinput_ctrl_p(&tmpni)){
about_toggle(nc); about_toggle(nc);
return true; return true;
} }
if(tmpni.id == 'd' && tmpni.alt && !tmpni.ctrl){ if(tmpni.id == 'd' && ncinput_alt_p(&tmpni) && !ncinput_ctrl_p(&tmpni)){
debug_toggle(nc); debug_toggle(nc);
return true; return true;
} }
if(tmpni.id == 'L' && !tmpni.alt && tmpni.ctrl){ if(tmpni.id == 'L' && !ncinput_alt_p(&tmpni) && ncinput_ctrl_p(&tmpni)){
if(menu){ if(menu){
ncmenu_rollup(menu); ncmenu_rollup(menu);
} }
notcurses_refresh(nc, NULL, NULL); notcurses_refresh(nc, NULL, NULL);
return true; return true;
} }
if(tmpni.id == 'R' && !tmpni.alt && tmpni.ctrl){ if(tmpni.id == 'R' && !ncinput_alt_p(&tmpni) && ncinput_ctrl_p(&tmpni)){
if(menu){ if(menu){
ncmenu_rollup(menu); ncmenu_rollup(menu);
} }
interrupt_and_restart_demos(); interrupt_and_restart_demos();
return true; return true;
} }
if(tmpni.id == 'q' && !tmpni.alt && !tmpni.ctrl){ if(tmpni.id == 'q' && !ncinput_alt_p(&tmpni) && !ncinput_ctrl_p(&tmpni)){
if(menu){ if(menu){
ncmenu_rollup(menu); ncmenu_rollup(menu);
} }
@ -305,23 +305,23 @@ struct ncmenu* menu_create(struct notcurses* nc){
struct ncmenu_item demo_items[] = { struct ncmenu_item demo_items[] = {
{ .desc = MENUSTR_TOGGLE_HUD, .shortcut = { .id = 'H', }, }, { .desc = MENUSTR_TOGGLE_HUD, .shortcut = { .id = 'H', }, },
{ .desc = MENUSTR_TOGGLE_PLOT, .shortcut = { .id = 'P', }, }, { .desc = MENUSTR_TOGGLE_PLOT, .shortcut = { .id = 'P', }, },
{ .desc = MENUSTR_REDRAW_SCREEN, .shortcut = { .id = 'L', .ctrl = true }, }, { .desc = MENUSTR_REDRAW_SCREEN, .shortcut = { .id = 'L', .modifiers = NCKEY_MOD_CTRL }, },
{ .desc = NULL, }, { .desc = NULL, },
{ .desc = MENUSTR_RESTART, .shortcut = { .id = 'R', .ctrl = true, }, }, { .desc = MENUSTR_RESTART, .shortcut = { .id = 'R', .modifiers = NCKEY_MOD_CTRL, }, },
{ .desc = MENUSTR_QUIT, .shortcut = { .id = 'q', }, }, { .desc = MENUSTR_QUIT, .shortcut = { .id = 'q', }, },
}; };
struct ncmenu_item help_items[] = { struct ncmenu_item help_items[] = {
{ .desc = MENUSTR_ABOUT, .shortcut = { .id = 'U', .ctrl = true, }, }, { .desc = MENUSTR_ABOUT, .shortcut = { .id = 'U', .modifiers = NCKEY_MOD_CTRL, }, },
{ .desc = MENUSTR_DEBUG, .shortcut = { .id = 'd', .alt = true, }, }, { .desc = MENUSTR_DEBUG, .shortcut = { .id = 'd', .modifiers = NCKEY_MOD_ALT, }, },
}; };
struct ncmenu_section sections[] = { struct ncmenu_section sections[] = {
{ .name = "notcurses-demo", .items = demo_items, { .name = "notcurses-demo", .items = demo_items,
.itemcount = sizeof(demo_items) / sizeof(*demo_items), .itemcount = sizeof(demo_items) / sizeof(*demo_items),
.shortcut = { .id = 'o', .alt = true, }, }, .shortcut = { .id = 'o', .modifiers = NCKEY_MOD_ALT, }, },
{ .name = NULL, .items = NULL, .itemcount = 0, }, { .name = NULL, .items = NULL, .itemcount = 0, },
{ .name = "help", .items = help_items, { .name = "help", .items = help_items,
.itemcount = sizeof(help_items) / sizeof(*help_items), .itemcount = sizeof(help_items) / sizeof(*help_items),
.shortcut = { .id = 'h', .alt = true, }, }, .shortcut = { .id = 'h', .modifiers = NCKEY_MOD_ALT, }, },
}; };
uint64_t headerchannels = 0; uint64_t headerchannels = 0;
uint64_t sectionchannels = 0; uint64_t sectionchannels = 0;

View File

@ -69,30 +69,30 @@ int main(void){
} }
notcurses_mice_enable(nc, NCMICE_BUTTON_EVENT); notcurses_mice_enable(nc, NCMICE_BUTTON_EVENT);
struct ncmenu_item demo_items[] = { struct ncmenu_item demo_items[] = {
{ .desc = "Restart", .shortcut = { .id = 'r', .ctrl = true, }, }, { .desc = "Restart", .shortcut = { .id = 'r', .modifiers = NCKEY_MOD_CTRL, }, },
{ .desc = "Disabled", .shortcut = { .id = 'd', .ctrl = false, }, }, { .desc = "Disabled", .shortcut = { .id = 'd', }, },
}; };
struct ncmenu_item file_items[] = { struct ncmenu_item file_items[] = {
{ .desc = "New", .shortcut = { .id = 'n', .ctrl = true, }, }, { .desc = "New", .shortcut = { .id = 'n', .modifiers = NCKEY_MOD_CTRL, }, },
{ .desc = "Open", .shortcut = { .id = 'o', .ctrl = true, }, }, { .desc = "Open", .shortcut = { .id = 'o', .modifiers = NCKEY_MOD_CTRL, }, },
{ .desc = "Close", .shortcut = { .id = 'c', .ctrl = true, }, }, { .desc = "Close", .shortcut = { .id = 'c', .modifiers = NCKEY_MOD_CTRL, }, },
{ .desc = NULL, }, { .desc = NULL, },
{ .desc = "Quit", .shortcut = { .id = 'q', }, }, { .desc = "Quit", .shortcut = { .id = 'q', }, },
}; };
struct ncmenu_item help_items[] = { struct ncmenu_item help_items[] = {
{ .desc = "About", .shortcut = { .id = 'a', .ctrl = true, }, }, { .desc = "About", .shortcut = { .id = 'a', .modifiers = NCKEY_MOD_CTRL, }, },
}; };
struct ncmenu_section sections[] = { struct ncmenu_section sections[] = {
{ .name = "Schwarzgerät", .items = demo_items, { .name = "Schwarzgerät", .items = demo_items,
.itemcount = sizeof(demo_items) / sizeof(*demo_items), .itemcount = sizeof(demo_items) / sizeof(*demo_items),
.shortcut = { .id = 0x00e4, .alt = true, }, }, .shortcut = { .id = 0x00e4, .modifiers = NCKEY_MOD_ALT, }, },
{ .name = "File", .items = file_items, { .name = "File", .items = file_items,
.itemcount = sizeof(file_items) / sizeof(*file_items), .itemcount = sizeof(file_items) / sizeof(*file_items),
.shortcut = { .id = 'f', .alt = true, }, }, .shortcut = { .id = 'f', .modifiers = NCKEY_MOD_ALT, }, },
{ .name = NULL, .items = NULL, .itemcount = 0, }, { .name = NULL, .items = NULL, .itemcount = 0, },
{ .name = "Help", .items = help_items, { .name = "Help", .items = help_items,
.itemcount = sizeof(help_items) / sizeof(*help_items), .itemcount = sizeof(help_items) / sizeof(*help_items),
.shortcut = { .id = 'h', .alt = true, }, }, .shortcut = { .id = 'h', .modifiers = NCKEY_MOD_ALT, }, },
}; };
ncmenu_options mopts; ncmenu_options mopts;
memset(&mopts, 0, sizeof(mopts)); memset(&mopts, 0, sizeof(mopts));