Use wins_set_bindings() for the configuration menu

Make use of the general key binding context switching implementation for
the configuration main menu.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer
2014-07-18 10:25:54 +02:00
parent 035faa883b
commit 919a40f561
3 changed files with 75 additions and 42 deletions

View File

@@ -443,16 +443,51 @@ keys_display_bindings_bar(WINDOW * win, int *bindings, int count,
else
binding_key = KEY_GENERIC_OTHER_CMD;
strncpy(key, keys_action_firstkey(binding_key),
KEYS_KEYLEN);
key[KEYS_KEYLEN] = '\0';
fmtkey = keys_format_label(key, KEYS_KEYLEN);
const char *label;
if (binding_key < NBKEYS) {
strncpy(key, keys_action_firstkey(binding_key),
KEYS_KEYLEN);
key[KEYS_KEYLEN] = '\0';
label = gettext(keydef[binding_key].sb_label);
} else {
switch (binding_key) {
case KEY_CONFIGMENU_GENERAL:
strcpy(key, "g");
label = _("General");
break;
case KEY_CONFIGMENU_LAYOUT:
strcpy(key, "l");
label = _("Layout");
break;
case KEY_CONFIGMENU_SIDEBAR:
strcpy(key, "s");
label = _("Sidebar");
break;
case KEY_CONFIGMENU_COLOR:
strcpy(key, "c");
label = _("Color");
break;
case KEY_CONFIGMENU_NOTIFY:
strcpy(key, "n");
label = _("Notify");
break;
case KEY_CONFIGMENU_KEYS:
strcpy(key, "k");
label = _("Keys");
break;
default:
strcpy(key, "?");
label = _("Unknown");
break;
}
}
custom_apply_attr(win, ATTR_HIGHEST);
fmtkey = keys_format_label(key, KEYS_KEYLEN);
mvwaddstr(win, key_pos_y, key_pos_x, fmtkey);
custom_remove_attr(win, ATTR_HIGHEST);
mvwaddstr(win, label_pos_y, label_pos_x,
gettext(keydef[binding_key].sb_label));
mvwaddstr(win, label_pos_y, label_pos_x, label);
}
wnoutrefresh(win);
}