--- dialog.c.asterisk Sun Apr 23 21:22:24 2000 +++ dialog.c Mon Dec 25 21:50:59 2000 @@ -348,7 +348,7 @@ av[1], atoi(av[2]), atoi(av[3]), - init_inputbox, 1); + init_inputbox, 2); if (ret == 0) fprintf(stderr, "%s", dialog_input_result); return ret; --- dialog.h.asterisk Wed Apr 26 01:48:32 2000 +++ dialog.h Mon Dec 25 21:51:01 2000 @@ -284,7 +284,7 @@ /* inputstr.c */ extern bool dlg_edit_string(char *string, int *offset, int key, bool force); -extern void dlg_show_string(WINDOW *win, char *string, int offset, chtype attr, int y_base, int x_base, int x_last, bool hidden, bool force); +extern void dlg_show_string(WINDOW *win, char *string, int offset, chtype attr, int y_base, int x_base, int x_last, int hidden, bool force); /* util.c */ extern int dlg_default_item(char **items, int llen); --- inputstr.c.asterisk Wed Apr 26 01:29:16 2000 +++ inputstr.c Mon Dec 25 21:51:09 2000 @@ -83,27 +83,48 @@ void dlg_show_string(WINDOW *win, char *string, int offset, chtype attr, - int y_base, int x_base, int x_last, bool hidden, bool force) + int y_base, int x_base, int x_last, int hidden, bool force) { - if (hidden) { - if (force) { - wmove(win, y_base, x_base); - wrefresh_lock(win); - } - } else { - int i, input_x; - int len = strlen(string); - int scrollamt = (offset + 1 - x_last); + switch(hidden) { + case 0: { + int i, input_x; + int len = strlen(string); + int scrollamt = (offset + 1 - x_last); - if (scrollamt < 0) - scrollamt = 0; - input_x = offset - scrollamt; + if (scrollamt < 0) + scrollamt = 0; + input_x = offset - scrollamt; - wattrset(win, attr); - wmove(win, y_base, x_base); - for (i = 0; i < x_last; i++) - waddch(win, (i + scrollamt) < len ? CharOf(string[scrollamt + i]) : ' '); - wmove(win, y_base, x_base + input_x); - wrefresh_lock(win); + wattrset(win, attr); + wmove(win, y_base, x_base); + for (i = 0; i < x_last; i++) + waddch(win, (i + scrollamt) < len ? CharOf(string[scrollamt + i]) : ' '); + wmove(win, y_base, x_base + input_x); + wrefresh_lock(win); + } + break; + case 1: + if (force) { + wmove(win, y_base, x_base); + wrefresh_lock(win); + } + break; + case 2: { + int i, input_x; + int len = strlen(string); + int scrollamt = (offset + 1 - x_last); + + if (scrollamt < 0) + scrollamt = 0; + input_x = offset - scrollamt; + + wattrset(win, attr); + wmove(win, y_base, x_base); + for (i = 0; i < x_last; i++) + waddch(win, (i + scrollamt) < len ? '*' : ' '); + wmove(win, y_base, x_base + input_x); + wrefresh_lock(win); + } + break; } } --- textbox.c.asterisk Wed Apr 26 01:50:21 2000 +++ textbox.c Mon Dec 25 21:51:14 2000 @@ -575,7 +575,7 @@ } if (dlg_edit_string(input, &offset, key, first)) { dlg_show_string(dialog, input, offset, searchbox_attr, - box_y, box_x, box_width, FALSE, first); + box_y, box_x, box_width, 0, first); first = FALSE; } }