Always use wide characters.
This commit is contained in:
parent
d239b1669b
commit
003ac6cca4
18 changed files with 546 additions and 588 deletions
178
bindings.c
178
bindings.c
|
|
@ -17,71 +17,71 @@
|
|||
binding_list_t bindings = TTS_TAILQ_HEAD_INITIALIZER(bindings);
|
||||
|
||||
static tkey_t keys[] = {
|
||||
{ KEY_BREAK, WIDE("<BREAK>") },
|
||||
{ KEY_DOWN, WIDE("<DOWN>") },
|
||||
{ KEY_UP, WIDE("<UP>") },
|
||||
{ KEY_LEFT, WIDE("<LEFT>") },
|
||||
{ KEY_RIGHT, WIDE("<RIGHT>") },
|
||||
{ KEY_HOME, WIDE("<HOME>") },
|
||||
{ KEY_BACKSPACE, WIDE("<BACKSPACE>") },
|
||||
{ 0x7F, WIDE("<BACKSPACE>") }, /* DEL */
|
||||
{ KEY_F(0), WIDE("<F0>") },
|
||||
{ KEY_F(1), WIDE("<F1>") },
|
||||
{ KEY_F(2), WIDE("<F2>") },
|
||||
{ KEY_F(3), WIDE("<F3>") },
|
||||
{ KEY_F(4), WIDE("<F4>") },
|
||||
{ KEY_F(5), WIDE("<F5>") },
|
||||
{ KEY_F(6), WIDE("<F6>") },
|
||||
{ KEY_F(7), WIDE("<F7>") },
|
||||
{ KEY_F(8), WIDE("<F8>") },
|
||||
{ KEY_F(9), WIDE("<F9>") },
|
||||
{ KEY_F(10), WIDE("<F10>") },
|
||||
{ KEY_F(11), WIDE("<F1l>") },
|
||||
{ KEY_F(12), WIDE("<F12>") },
|
||||
{ KEY_F(13), WIDE("<F13>") },
|
||||
{ KEY_F(14), WIDE("<F14>") },
|
||||
{ KEY_F(15), WIDE("<F15>") },
|
||||
{ KEY_F(16), WIDE("<F16>") },
|
||||
{ KEY_F(17), WIDE("<F17>") },
|
||||
{ KEY_F(18), WIDE("<F18>") },
|
||||
{ KEY_F(19), WIDE("<F19>") },
|
||||
{ KEY_F(20), WIDE("<F20>") },
|
||||
{ KEY_F(21), WIDE("<F21>") },
|
||||
{ KEY_F(22), WIDE("<F22>") },
|
||||
{ KEY_F(23), WIDE("<F23>") },
|
||||
{ KEY_F(24), WIDE("<F24>") },
|
||||
{ KEY_NPAGE, WIDE("<NEXT>") },
|
||||
{ KEY_PPAGE, WIDE("<PREV>") },
|
||||
{ '\001', WIDE("<CTRL-A>") },
|
||||
{ '\002', WIDE("<CTRL-B>") },
|
||||
{ '\003', WIDE("<CTRL-C>") },
|
||||
{ '\004', WIDE("<CTRL-D>") },
|
||||
{ '\005', WIDE("<CTRL-E>") },
|
||||
{ '\006', WIDE("<CTRL-F>") },
|
||||
{ '\007', WIDE("<CTRL-G>") },
|
||||
{ '\010', WIDE("<CTRL-H>") },
|
||||
{ '\011', WIDE("<CTRL-I>") },
|
||||
{ '\011', WIDE("<TAB>") },
|
||||
{ '\012', WIDE("<CTRL-J>") },
|
||||
{ '\013', WIDE("<CTRL-K>") },
|
||||
{ '\014', WIDE("<CTRL-L>") },
|
||||
{ '\015', WIDE("<CTRL-N>") },
|
||||
{ '\016', WIDE("<CTRL-O>") },
|
||||
{ '\017', WIDE("<CTRL-P>") },
|
||||
{ '\020', WIDE("<CTRL-Q>") },
|
||||
{ '\021', WIDE("<CTRL-R>") },
|
||||
{ '\022', WIDE("<CTRL-S>") },
|
||||
{ '\023', WIDE("<CTRL-T>") },
|
||||
{ '\024', WIDE("<CTRL-U>") },
|
||||
{ '\025', WIDE("<CTRL-V>") },
|
||||
{ '\026', WIDE("<CTRL-W>") },
|
||||
{ '\027', WIDE("<CTRL-X>") },
|
||||
{ '\030', WIDE("<CTRL-Y>") },
|
||||
{ '\031', WIDE("<CTRL-Z>") },
|
||||
{ ' ', WIDE("<SPACE>") },
|
||||
{ KEY_ENTER, WIDE("<ENTER>") },
|
||||
{ KEY_BACKSPACE, WIDE("<BACKSPACE>") },
|
||||
{ KEY_DC, WIDE("<DELETE>") }
|
||||
{ KEY_BREAK, L"<BREAK>" },
|
||||
{ KEY_DOWN, L"<DOWN>" },
|
||||
{ KEY_UP, L"<UP>" },
|
||||
{ KEY_LEFT, L"<LEFT>" },
|
||||
{ KEY_RIGHT, L"<RIGHT>" },
|
||||
{ KEY_HOME, L"<HOME>" },
|
||||
{ KEY_BACKSPACE, L"<BACKSPACE>" },
|
||||
{ 0x7F, L"<BACKSPACE>" }, /* DEL */
|
||||
{ KEY_F(0), L"<F0>" },
|
||||
{ KEY_F(1), L"<F1>" },
|
||||
{ KEY_F(2), L"<F2>" },
|
||||
{ KEY_F(3), L"<F3>" },
|
||||
{ KEY_F(4), L"<F4>" },
|
||||
{ KEY_F(5), L"<F5>" },
|
||||
{ KEY_F(6), L"<F6>" },
|
||||
{ KEY_F(7), L"<F7>" },
|
||||
{ KEY_F(8), L"<F8>" },
|
||||
{ KEY_F(9), L"<F9>" },
|
||||
{ KEY_F(10), L"<F10>" },
|
||||
{ KEY_F(11), L"<F1l>" },
|
||||
{ KEY_F(12), L"<F12>" },
|
||||
{ KEY_F(13), L"<F13>" },
|
||||
{ KEY_F(14), L"<F14>" },
|
||||
{ KEY_F(15), L"<F15>" },
|
||||
{ KEY_F(16), L"<F16>" },
|
||||
{ KEY_F(17), L"<F17>" },
|
||||
{ KEY_F(18), L"<F18>" },
|
||||
{ KEY_F(19), L"<F19>" },
|
||||
{ KEY_F(20), L"<F20>" },
|
||||
{ KEY_F(21), L"<F21>" },
|
||||
{ KEY_F(22), L"<F22>" },
|
||||
{ KEY_F(23), L"<F23>" },
|
||||
{ KEY_F(24), L"<F24>" },
|
||||
{ KEY_NPAGE, L"<NEXT>" },
|
||||
{ KEY_PPAGE, L"<PREV>" },
|
||||
{ '\001', L"<CTRL-A>" },
|
||||
{ '\002', L"<CTRL-B>" },
|
||||
{ '\003', L"<CTRL-C>" },
|
||||
{ '\004', L"<CTRL-D>" },
|
||||
{ '\005', L"<CTRL-E>" },
|
||||
{ '\006', L"<CTRL-F>" },
|
||||
{ '\007', L"<CTRL-G>" },
|
||||
{ '\010', L"<CTRL-H>" },
|
||||
{ '\011', L"<CTRL-I>" },
|
||||
{ '\011', L"<TAB>" },
|
||||
{ '\012', L"<CTRL-J>" },
|
||||
{ '\013', L"<CTRL-K>" },
|
||||
{ '\014', L"<CTRL-L>" },
|
||||
{ '\015', L"<CTRL-N>" },
|
||||
{ '\016', L"<CTRL-O>" },
|
||||
{ '\017', L"<CTRL-P>" },
|
||||
{ '\020', L"<CTRL-Q>" },
|
||||
{ '\021', L"<CTRL-R>" },
|
||||
{ '\022', L"<CTRL-S>" },
|
||||
{ '\023', L"<CTRL-T>" },
|
||||
{ '\024', L"<CTRL-U>" },
|
||||
{ '\025', L"<CTRL-V>" },
|
||||
{ '\026', L"<CTRL-W>" },
|
||||
{ '\027', L"<CTRL-X>" },
|
||||
{ '\030', L"<CTRL-Y>" },
|
||||
{ '\031', L"<CTRL-Z>" },
|
||||
{ ' ', L"<SPACE>" },
|
||||
{ KEY_ENTER, L"<ENTER>" },
|
||||
{ KEY_BACKSPACE, L"<BACKSPACE>" },
|
||||
{ KEY_DC, L"<DELETE>" }
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
@ -93,17 +93,17 @@ static tkey_t keys[] = {
|
|||
*/
|
||||
void
|
||||
bind_key(keyname, funcname, is_macro)
|
||||
const WCHAR *keyname, *funcname;
|
||||
const wchar_t *keyname, *funcname;
|
||||
{
|
||||
tkey_t *key = NULL;
|
||||
function_t *func;
|
||||
binding_t *binding;
|
||||
INT code;
|
||||
wint_t code;
|
||||
|
||||
/* Find the key and the function */
|
||||
if (STRLEN(keyname) > 1) {
|
||||
if (wcslen(keyname) > 1) {
|
||||
if ((key = find_key(keyname)) == NULL) {
|
||||
errbox(WIDE("Unknown key \"%"FMT_L"s\""), keyname);
|
||||
errbox(L"Unknown key \"%ls\"", keyname);
|
||||
return;
|
||||
}
|
||||
code = key->ky_code;
|
||||
|
|
@ -112,7 +112,7 @@ INT code;
|
|||
|
||||
if (!is_macro) {
|
||||
if ((func = find_func(funcname)) == NULL) {
|
||||
errbox(WIDE("Unknown function \"%"FMT_L"s\""), funcname);
|
||||
errbox(L"Unknown function \"%ls\"", funcname);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -122,7 +122,7 @@ INT code;
|
|||
if (binding->bi_code == code) {
|
||||
if (is_macro) {
|
||||
binding->bi_func = NULL;
|
||||
binding->bi_macro = STRDUP(funcname);
|
||||
binding->bi_macro = wcsdup(funcname);
|
||||
} else {
|
||||
free(binding->bi_macro);
|
||||
binding->bi_func = func;
|
||||
|
|
@ -139,7 +139,7 @@ INT code;
|
|||
binding->bi_code = code;
|
||||
|
||||
if (is_macro)
|
||||
binding->bi_macro = STRDUP(funcname);
|
||||
binding->bi_macro = wcsdup(funcname);
|
||||
else
|
||||
binding->bi_func = func;
|
||||
|
||||
|
|
@ -152,13 +152,43 @@ INT code;
|
|||
*/
|
||||
tkey_t *
|
||||
find_key(name)
|
||||
const WCHAR *name;
|
||||
const wchar_t *name;
|
||||
{
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < sizeof(keys) / sizeof(*keys); i++)
|
||||
if (STRCMP(name, keys[i].ky_name) == 0)
|
||||
if (wcscmp(name, keys[i].ky_name) == 0)
|
||||
return &keys[i];
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void
|
||||
bind_defaults(void)
|
||||
{
|
||||
bind_key(L"?", L"help", 0);
|
||||
bind_key(L"a", L"add", 0);
|
||||
bind_key(L"A", L"add-old", 0);
|
||||
bind_key(L"d", L"delete", 0);
|
||||
bind_key(L"u", L"undelete", 0);
|
||||
bind_key(L"q", L"quit", 0);
|
||||
bind_key(L"<CTRL-C>", L"quit", 0);
|
||||
bind_key(L"i", L"invoice", 0);
|
||||
bind_key(L"b", L"billable", 0);
|
||||
bind_key(L"m", L"mark", 0);
|
||||
bind_key(L"U", L"unmarkall", 0);
|
||||
bind_key(L"<SPACE>", L"startstop", 0);
|
||||
bind_key(L"e", L"edit-desc", 0);
|
||||
bind_key(L"\\", L"edit-time", 0);
|
||||
bind_key(L"<TAB>", L"showhide-inv", 0);
|
||||
bind_key(L"c", L"copy", 0);
|
||||
bind_key(L"+", L"add-time", 0);
|
||||
bind_key(L"-", L"sub-time", 0);
|
||||
bind_key(L"/", L"search", 0);
|
||||
bind_key(L"$", L"sync", 0);
|
||||
bind_key(L"<UP>", L"prev", 0);
|
||||
bind_key(L"<DOWN>", L"next", 0);
|
||||
bind_key(L":", L"execute", 0);
|
||||
bind_key(L"M", L"merge", 0);
|
||||
bind_key(L"r", L"interrupt", 0);
|
||||
bind_key(L"R", L"interrupt", 0);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue