summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Nazarov <skuller@skuller.net>2013-09-23 21:01:17 +0400
committerAndrey Nazarov <skuller@skuller.net>2013-09-23 21:01:17 +0400
commit7f2db1a818c8b176b4c6bb5a0ca01ea63d78348c (patch)
treee28becd05181100008c50ffdc07e2e80a83bfe99
parente92842f3743f77665c868f7835684555751b8553 (diff)
Fix bounding box of keybinding menu control.
-rw-r--r--src/client/ui/menu.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/client/ui/menu.c b/src/client/ui/menu.c
index 6ddd315..dd1015d 100644
--- a/src/client/ui/menu.c
+++ b/src/client/ui/menu.c
@@ -192,6 +192,8 @@ Keybind_Init
*/
static void Keybind_Init(menuKeybind_t *k)
{
+ size_t len;
+
if (!k->generic.name) {
Com_Error(ERR_FATAL, "Keybind_Init: NULL k->generic.name");
}
@@ -204,8 +206,15 @@ static void Keybind_Init(menuKeybind_t *k)
UI_StringDimensions(&k->generic.rect,
k->generic.uiFlags | UI_RIGHT, k->generic.name);
- k->generic.rect.width += (RCOLUMN_OFFSET - LCOLUMN_OFFSET) +
- strlen(k->binding) * CHAR_WIDTH;
+ if (k->altbinding[0]) {
+ len = strlen(k->binding) + 4 + strlen(k->altbinding);
+ } else if (k->binding[0]) {
+ len = strlen(k->binding);
+ } else {
+ len = 3;
+ }
+
+ k->generic.rect.width += (RCOLUMN_OFFSET - LCOLUMN_OFFSET) + len * CHAR_WIDTH;
}
/*
@@ -279,6 +288,7 @@ static void Keybind_Update(menuFrameWork_t *menu)
k = menu->items[i];
if (k->generic.type == MTYPE_KEYBIND) {
Keybind_Push(k);
+ Keybind_Init(k);
}
}
}