diff options
Diffstat (limited to 'ui_input.c')
-rw-r--r-- | ui_input.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -104,16 +104,25 @@ add_input(WINDOW *win, struct input *a, int key) int del_input(WINDOW *win, struct input *a) { + if (a == NULL) return (UICB_ERR_UNDEF); + memmove((a->input + a->input_pos - 1), (a->input + a->input_pos), a->input_max - a->input_pos); + --a->input_len; + if (a->input_pos == a->input_len) { + --a->input_pos; + } + print_input(win, a); + mvwprintw(win, 10, 1, "w:%d,cp:%d,im:%lu,il:%lu,ip:%lu,s:%s", a->width, a->cur_pos, a->input_max, a->input_len, a->input_pos, a->input); + return (UICB_OK); } int -input_cb(WINDOW *win, void *data, bool needs_update, bool timed_out) +input_cb(WINDOW *win, void *data, bool timed_out) { struct input *a = (struct input *) data; if (a == NULL) return (UICB_ERR_UNDEF); - if (needs_update || timed_out) { + if (timed_out == true) { print_input(win, a); } return (UICB_OK); |