home · contact · privacy
Optimized WinConf / WinConfDB structure, removed redundant .draw.
[plomrogue] / src / client / draw_wins.c
index 5fe0530a44bcb725747698f0a67ddea9c804e3ca..1df666b617f4b39413d56d66e2bd9b042aec0f32 100644 (file)
@@ -2,13 +2,13 @@
 
 #include "draw_wins.h"
 #include <ncurses.h> /* attri_t, chtype */
+#include <stddef.h> /* NULL */
 #include <stdint.h> /* uint8_t, uint16_t, uint32_t, int16_t */
 #include <stdio.h> /* for sprintf() */
 #include <stdlib.h> /* free() */
 #include <string.h> /* strlen(), strtok() */
-#include "../common/try_malloc.h" /* for try_malloc() */
-#include "command_db.h" /* for get_command_longdsc */
-#include "keybindings.h" /* struct KeyBinding, get_name_to_keycode() */
+#include "../common/try_malloc.h" /* try_malloc() */
+#include "keybindings.h" /* struct KeyBinding, get_keyname_to_keycode() */
 #include "wincontrol.h" /* struct WinConf, get_winconf_by_win() */
 #include "windows.h" /* struct Win */
 #include "world.h" /* global world */
@@ -43,8 +43,8 @@ static void draw_text_from_bottom(struct Win * win, char * text);
 static char * get_kb_line_and_iterate(struct KeyBinding ** kb_pp);
 
 /* Draw from line "start" on config view for keybindings defined at "kb". */
-static void draw_kb_view(struct Win * w, struct KeyBindingDB * kb,
-                         uint8_t start);
+static void draw_keybinding_config(struct Win * w, struct KeyBindingDB * kb,
+                                   uint8_t start);
 
 /* Draw into window "w" from line "start" on a "title" followed by an empty
  * line followed by a list of all keybindings starting at kb_p.
@@ -236,11 +236,11 @@ static char * get_kb_line_and_iterate(struct KeyBinding ** kb_pp)
 {
     char * f_name = "get_kb_line_and_iterate()";
     struct KeyBinding * kb_p = * kb_pp;
-    char * keyname = get_name_to_keycode(kb_p->key);
-    char * cmd_dsc = get_command_longdsc(kb_p->name);
-    uint16_t size = 9 + 1 + strlen(cmd_dsc) + 1;
+    char * keyname = get_keyname_to_keycode(kb_p->key);
+    struct Command * command = get_command_to_keycode(kb_p, kb_p->key);
+    uint16_t size = 9 + 1 + strlen(command->dsc_long) + 1;
     char * line = try_malloc(size, f_name);
-    sprintf(line, "%-9s %s", keyname, cmd_dsc);
+    sprintf(line, "%-9s %s", keyname, command->dsc_long);
     free(keyname);
     * kb_pp = kb_p->next;
     return line;
@@ -248,8 +248,8 @@ static char * get_kb_line_and_iterate(struct KeyBinding ** kb_pp)
 
 
 
-static void draw_kb_view(struct Win * w, struct KeyBindingDB * kb,
-                         uint8_t start)
+static void draw_keybinding_config(struct Win * w, struct KeyBindingDB * kb,
+                                   uint8_t start)
 {
     if (0 == kb->kbs)
     {
@@ -409,7 +409,7 @@ extern void draw_win_available_keybindings(struct Win * win)
 extern void draw_win_keybindings_global(struct Win * win)
 {
     win->center.y = world.kb_global.select;
-    draw_kb_view(win, &world.kb_global, 0);
+    draw_keybinding_config(win, &world.kb_global, 0);
 }
 
 
@@ -417,7 +417,7 @@ extern void draw_win_keybindings_global(struct Win * win)
 extern void draw_win_keybindings_winconf_geometry(struct Win * win)
 {
     win->center.y = world.kb_wingeom.select;
-    draw_kb_view(win, &world.kb_wingeom, 0);
+    draw_keybinding_config(win, &world.kb_wingeom, 0);
 }
 
 
@@ -425,7 +425,7 @@ extern void draw_win_keybindings_winconf_geometry(struct Win * win)
 extern void draw_win_keybindings_winconf_keybindings(struct Win * win)
 {
     win->center.y = world.kb_winkeys.select;
-    draw_kb_view(win, &world.kb_winkeys, 0);
+    draw_keybinding_config(win, &world.kb_winkeys, 0);
 }
 
 
@@ -436,7 +436,7 @@ extern void draw_winconf_keybindings(struct Win * win)
     char * title = "Window's keybindings:";
     add_line(win, title, 0);
     add_line(win, " ", 0);
-    draw_kb_view(win, &wc->kb, 2);
+    draw_keybinding_config(win, &wc->kb, 2);
     win->center.y = wc->kb.select + 2;
 }