in 77 lib/widget/input.c #define should_show_history_button(in) \ in 78 lib/widget/input.c (in->history.list != NULL && WIDGET (in)->rect.cols > HISTORY_BUTTON_WIDTH * 2 + 1 \ in 79 lib/widget/input.c && WIDGET (in)->owner != NULL) in 109 lib/widget/input.c draw_history_button (WInput *in) in 114 lib/widget/input.c if (g_list_next (in->history.current) == NULL) in 116 lib/widget/input.c else if (g_list_previous (in->history.current) == NULL) in 121 lib/widget/input.c widget_gotoyx (in, 0, WIDGET (in)->rect.cols - HISTORY_BUTTON_WIDTH); in 122 lib/widget/input.c disabled = widget_get_state (WIDGET (in), WST_DISABLED); in 123 lib/widget/input.c tty_setcolor (disabled ? CORE_DISABLED_COLOR : in->color[INPUT_COLOR_HISTORY]); in 127 lib/widget/input.c widget_gotoyx (in, 0, WIDGET (in)->rect.cols - HISTORY_BUTTON_WIDTH + 1); in 136 lib/widget/input.c input_mark_cmd (WInput *in, gboolean mark) in 138 lib/widget/input.c in->mark = mark ? in->point : -1; in 144 lib/widget/input.c input_eval_marks (WInput *in, long *start_mark, long *end_mark) in 146 lib/widget/input.c if (in->mark >= 0) in 148 lib/widget/input.c *start_mark = MIN (in->mark, in->point); in 149 lib/widget/input.c *end_mark = MAX (in->mark, in->point); in 160 lib/widget/input.c do_show_hist (WInput *in) in 165 lib/widget/input.c len = get_history_length (in->history.list); in 167 lib/widget/input.c history_descriptor_init (&hd, WIDGET (in)->rect.y, WIDGET (in)->rect.x, in->history.list, in 168 lib/widget/input.c g_list_position (in->history.list, in->history.list)); in 173 lib/widget/input.c in->history.list = hd.list; in 174 lib/widget/input.c in->history.current = in->history.list; in 177 lib/widget/input.c input_assign_text (in, hd.text); in 182 lib/widget/input.c if (len != get_history_length (in->history.list)) in 183 lib/widget/input.c in->history.changed = TRUE; in 226 lib/widget/input.c input_push_history (WInput *in) in 231 lib/widget/input.c t = g_strstrip (input_get_text (in)); in 236 lib/widget/input.c t = input_get_text (in); in 238 lib/widget/input.c if (in->history.name != NULL && in->strip_password) in 253 lib/widget/input.c if (in->history.list == NULL || in->history.list->data == NULL in 254 lib/widget/input.c || strcmp (in->history.list->data, t) != 0 || in->history.changed) in 256 lib/widget/input.c in->history.list = list_append_unique (in->history.list, t); in 257 lib/widget/input.c in->history.current = in->history.list; in 258 lib/widget/input.c in->history.changed = TRUE; in 263 lib/widget/input.c in->need_push = FALSE; in 269 lib/widget/input.c move_buffer_backward (WInput *in, int start, int end) in 273 lib/widget/input.c str_len = str_length (in->buffer->str); in 277 lib/widget/input.c start = str_offset_to_pos (in->buffer->str, start); in 278 lib/widget/input.c end = str_offset_to_pos (in->buffer->str, end); in 279 lib/widget/input.c g_string_erase (in->buffer, start, end - start); in 285 lib/widget/input.c beginning_of_line (WInput *in) in 287 lib/widget/input.c in->point = 0; in 288 lib/widget/input.c in->charpoint = 0; in 294 lib/widget/input.c end_of_line (WInput *in) in 296 lib/widget/input.c in->point = str_length (in->buffer->str); in 297 lib/widget/input.c in->charpoint = 0; in 303 lib/widget/input.c backward_char (WInput *in) in 305 lib/widget/input.c if (in->point > 0) in 309 lib/widget/input.c act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 310 lib/widget/input.c in->point -= str_cprev_noncomb_char (&act, in->buffer->str); in 313 lib/widget/input.c in->charpoint = 0; in 319 lib/widget/input.c forward_char (WInput *in) in 323 lib/widget/input.c act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 325 lib/widget/input.c in->point += str_cnext_noncomb_char (&act); in 326 lib/widget/input.c in->charpoint = 0; in 332 lib/widget/input.c forward_word (WInput *in) in 336 lib/widget/input.c p = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 338 lib/widget/input.c for (; p[0] != '\0' && (str_isspace (p) || str_ispunct (p)); in->point++) in 341 lib/widget/input.c for (; p[0] != '\0' && !str_isspace (p) && !str_ispunct (p); in->point++) in 348 lib/widget/input.c backward_word (WInput *in) in 352 lib/widget/input.c p = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 354 lib/widget/input.c for (; p != in->buffer->str; in->point--) in 367 lib/widget/input.c for (; p != in->buffer->str; in->point--) in 378 lib/widget/input.c backward_delete (WInput *in) in 383 lib/widget/input.c if (in->point == 0) in 386 lib/widget/input.c act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 387 lib/widget/input.c start = in->point - str_cprev_noncomb_char (&act, in->buffer->str); in 388 lib/widget/input.c move_buffer_backward (in, start, in->point); in 389 lib/widget/input.c in->charpoint = 0; in 390 lib/widget/input.c in->need_push = TRUE; in 391 lib/widget/input.c in->point = start; in 397 lib/widget/input.c copy_region (WInput *in, int start, int end) in 413 lib/widget/input.c first = str_offset_to_pos (in->buffer->str, first); in 414 lib/widget/input.c last = str_offset_to_pos (in->buffer->str, last); in 416 lib/widget/input.c kill_buffer = g_strndup (in->buffer->str + first, last - first); in 426 lib/widget/input.c delete_region (WInput *in, int start, int end) in 431 lib/widget/input.c input_mark_cmd (in, FALSE); in 432 lib/widget/input.c in->point = first; in 433 lib/widget/input.c move_buffer_backward (in, first, last); in 434 lib/widget/input.c in->charpoint = 0; in 435 lib/widget/input.c in->need_push = TRUE; in 441 lib/widget/input.c insert_char (WInput *in, int c_code) in 447 lib/widget/input.c if (input_eval_marks (in, &m1, &m2)) in 448 lib/widget/input.c delete_region (in, m1, m2); in 453 lib/widget/input.c if (in->charpoint >= MB_LEN_MAX) in 456 lib/widget/input.c in->charbuf[in->charpoint] = c_code; in 457 lib/widget/input.c in->charpoint++; in 459 lib/widget/input.c res = str_is_valid_char (in->charbuf, in->charpoint); in 463 lib/widget/input.c in->charpoint = 0; // broken multibyte char, skip in 467 lib/widget/input.c in->need_push = TRUE; in 468 lib/widget/input.c ins_point = str_offset_to_pos (in->buffer->str, in->point); in 469 lib/widget/input.c g_string_insert_len (in->buffer, ins_point, in->charbuf, in->charpoint); in 470 lib/widget/input.c in->point++; in 471 lib/widget/input.c in->charpoint = 0; in 479 lib/widget/input.c delete_char (WInput *in) in 484 lib/widget/input.c act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 485 lib/widget/input.c end = in->point + str_cnext_noncomb_char (&act); in 486 lib/widget/input.c move_buffer_backward (in, in->point, end); in 487 lib/widget/input.c in->charpoint = 0; in 488 lib/widget/input.c in->need_push = TRUE; in 494 lib/widget/input.c kill_word (WInput *in) in 496 lib/widget/input.c int old_point = in->point; in 499 lib/widget/input.c forward_word (in); in 500 lib/widget/input.c new_point = in->point; in 501 lib/widget/input.c in->point = old_point; in 503 lib/widget/input.c delete_region (in, old_point, new_point); in 504 lib/widget/input.c in->need_push = TRUE; in 505 lib/widget/input.c in->charpoint = 0; in 511 lib/widget/input.c back_kill_word (WInput *in) in 513 lib/widget/input.c int old_point = in->point; in 516 lib/widget/input.c backward_word (in); in 517 lib/widget/input.c new_point = in->point; in 518 lib/widget/input.c in->point = old_point; in 520 lib/widget/input.c delete_region (in, old_point, new_point); in 521 lib/widget/input.c in->need_push = TRUE; in 527 lib/widget/input.c yank (WInput *in) in 533 lib/widget/input.c in->charpoint = 0; in 535 lib/widget/input.c insert_char (in, *p); in 536 lib/widget/input.c in->charpoint = 0; in 543 lib/widget/input.c kill_line (WInput *in) in 547 lib/widget/input.c chp = str_offset_to_pos (in->buffer->str, in->point); in 549 lib/widget/input.c kill_buffer = g_strndup (in->buffer->str + chp, in->buffer->len - chp); in 550 lib/widget/input.c g_string_set_size (in->buffer, chp); in 551 lib/widget/input.c in->charpoint = 0; in 557 lib/widget/input.c clear_line (WInput *in) in 559 lib/widget/input.c in->need_push = TRUE; in 560 lib/widget/input.c g_string_set_size (in->buffer, 0); in 561 lib/widget/input.c in->point = 0; in 562 lib/widget/input.c in->mark = -1; in 563 lib/widget/input.c in->charpoint = 0; in 569 lib/widget/input.c ins_from_clip (WInput *in) in 584 lib/widget/input.c insert_char (in, *pp); in 593 lib/widget/input.c hist_prev (WInput *in) in 597 lib/widget/input.c if (in->history.list == NULL) in 600 lib/widget/input.c if (in->need_push) in 601 lib/widget/input.c input_push_history (in); in 603 lib/widget/input.c prev = g_list_previous (in->history.current); in 606 lib/widget/input.c input_assign_text (in, (char *) prev->data); in 607 lib/widget/input.c in->history.current = prev; in 608 lib/widget/input.c in->history.changed = TRUE; in 609 lib/widget/input.c in->need_push = FALSE; in 616 lib/widget/input.c hist_next (WInput *in) in 620 lib/widget/input.c if (in->need_push) in 622 lib/widget/input.c input_push_history (in); in 623 lib/widget/input.c input_assign_text (in, ""); in 627 lib/widget/input.c if (in->history.list == NULL) in 630 lib/widget/input.c next = g_list_next (in->history.current); in 633 lib/widget/input.c input_assign_text (in, ""); in 634 lib/widget/input.c in->history.current = in->history.list; in 638 lib/widget/input.c input_assign_text (in, (char *) next->data); in 639 lib/widget/input.c in->history.current = next; in 640 lib/widget/input.c in->history.changed = TRUE; in 641 lib/widget/input.c in->need_push = FALSE; in 648 lib/widget/input.c port_region_marked_for_delete (WInput *in) in 650 lib/widget/input.c g_string_set_size (in->buffer, 0); in 651 lib/widget/input.c in->point = 0; in 652 lib/widget/input.c in->first = FALSE; in 653 lib/widget/input.c in->charpoint = 0; in 659 lib/widget/input.c input_execute_cmd (WInput *in, long command) in 672 lib/widget/input.c if (in->mark < 0) in 674 lib/widget/input.c input_mark_cmd (in, FALSE); // clear in 675 lib/widget/input.c input_mark_cmd (in, TRUE); // marking on in 682 lib/widget/input.c if (in->mark >= 0) in 683 lib/widget/input.c input_mark_cmd (in, FALSE); in 693 lib/widget/input.c beginning_of_line (in); in 697 lib/widget/input.c end_of_line (in); in 701 lib/widget/input.c backward_char (in); in 705 lib/widget/input.c backward_word (in); in 709 lib/widget/input.c forward_char (in); in 713 lib/widget/input.c forward_word (in); in 719 lib/widget/input.c if (input_eval_marks (in, &m1, &m2)) in 720 lib/widget/input.c delete_region (in, m1, m2); in 722 lib/widget/input.c backward_delete (in); in 726 lib/widget/input.c if (in->first) in 727 lib/widget/input.c port_region_marked_for_delete (in); in 732 lib/widget/input.c if (input_eval_marks (in, &m1, &m2)) in 733 lib/widget/input.c delete_region (in, m1, m2); in 735 lib/widget/input.c delete_char (in); in 739 lib/widget/input.c kill_word (in); in 742 lib/widget/input.c back_kill_word (in); in 745 lib/widget/input.c input_mark_cmd (in, TRUE); in 748 lib/widget/input.c delete_region (in, in->point, MAX (in->mark, 0)); in 751 lib/widget/input.c kill_line (in); in 754 lib/widget/input.c clear_line (in); in 757 lib/widget/input.c copy_region (in, MAX (in->mark, 0), in->point); in 763 lib/widget/input.c m = MAX (in->mark, 0); in 764 lib/widget/input.c copy_region (in, m, in->point); in 765 lib/widget/input.c delete_region (in, in->point, m); in 769 lib/widget/input.c yank (in); in 772 lib/widget/input.c ins_from_clip (in); in 775 lib/widget/input.c hist_prev (in); in 778 lib/widget/input.c hist_next (in); in 781 lib/widget/input.c do_show_hist (in); in 784 lib/widget/input.c input_complete (in); in 801 lib/widget/input.c in->mark = -1; in 815 lib/widget/input.c WInput *in = INPUT (init_data); in 821 lib/widget/input.c in->history.list = mc_config_history_load (ev->cfg, in->history.name); in 822 lib/widget/input.c in->history.current = in->history.list; in 824 lib/widget/input.c if (in->init_from_history) in 828 lib/widget/input.c if (in->history.list != NULL && in->history.list->data != NULL) in 829 lib/widget/input.c def_text = (const char *) in->history.list->data; in 831 lib/widget/input.c input_assign_text (in, def_text); in 844 lib/widget/input.c WInput *in = INPUT (init_data); in 849 lib/widget/input.c if (!in->is_password && (DIALOG (WIDGET (in)->owner)->ret_value != B_CANCEL)) in 850 lib/widget/input.c input_push_history (in); in 853 lib/widget/input.c if (in->history.changed) in 857 lib/widget/input.c mc_config_history_save (ev->cfg, in->history.name, in->history.list); in 860 lib/widget/input.c in->history.changed = FALSE; in 868 lib/widget/input.c input_destroy (WInput *in) in 870 lib/widget/input.c input_complete_free (in); in 873 lib/widget/input.c if (in->history.list != NULL) in 876 lib/widget/input.c in->history.list = g_list_first (in->history.list); in 877 lib/widget/input.c g_list_free_full (in->history.list, g_free); in 879 lib/widget/input.c g_free (in->history.name); in 880 lib/widget/input.c g_string_free (in->buffer, TRUE); in 890 lib/widget/input.c input_screen_to_point (const WInput *in, int x) in 892 lib/widget/input.c x += in->term_first_shown; in 897 lib/widget/input.c if (x < str_term_width1 (in->buffer->str)) in 898 lib/widget/input.c return str_column_to_pos (in->buffer->str, x); in 900 lib/widget/input.c return str_length (in->buffer->str); in 910 lib/widget/input.c WInput *in = INPUT (w); in 917 lib/widget/input.c if (event->x >= w->rect.cols - HISTORY_BUTTON_WIDTH && should_show_history_button (in)) in 918 lib/widget/input.c do_show_hist (in); in 921 lib/widget/input.c in->first = FALSE; in 922 lib/widget/input.c input_mark_cmd (in, FALSE); in 923 lib/widget/input.c input_set_point (in, input_screen_to_point (in, event->x)); in 925 lib/widget/input.c prev_point = in->point; in 931 lib/widget/input.c if (in->mark < 0) in 932 lib/widget/input.c in->mark = prev_point; in 934 lib/widget/input.c input_set_point (in, input_screen_to_point (in, event->x)); in 939 lib/widget/input.c if (in->mark == in->point) in 940 lib/widget/input.c input_mark_cmd (in, FALSE); in 964 lib/widget/input.c WInput *in; in 967 lib/widget/input.c in = g_new (WInput, 1); in 968 lib/widget/input.c w = WIDGET (in); in 973 lib/widget/input.c in->color = colors; in 974 lib/widget/input.c in->first = TRUE; in 975 lib/widget/input.c in->mark = -1; in 976 lib/widget/input.c in->term_first_shown = 0; in 977 lib/widget/input.c in->disable_update = 0; in 978 lib/widget/input.c in->is_password = FALSE; in 979 lib/widget/input.c in->strip_password = FALSE; in 982 lib/widget/input.c in->buffer = g_string_sized_new (width); in 985 lib/widget/input.c in->completions = NULL; in 986 lib/widget/input.c in->completion_flags = completion_flags; in 988 lib/widget/input.c in->init_from_history = (def_text == INPUT_LAST_TEXT); in 990 lib/widget/input.c if (in->init_from_history || def_text == NULL) in 993 lib/widget/input.c input_assign_text (in, def_text); in 996 lib/widget/input.c in->history.list = NULL; in 997 lib/widget/input.c in->history.current = NULL; in 998 lib/widget/input.c in->history.changed = FALSE; in 999 lib/widget/input.c in->history.name = NULL; in 1001 lib/widget/input.c in->history.name = g_strdup (histname); in 1004 lib/widget/input.c in->label = NULL; in 1006 lib/widget/input.c return in; in 1014 lib/widget/input.c WInput *in = INPUT (w); in 1025 lib/widget/input.c if (in->label != NULL) in 1026 lib/widget/input.c widget_set_state (WIDGET (in->label), WST_DISABLED, widget_get_state (w, WST_DISABLED)); in 1033 lib/widget/input.c v = input_handle_char (in, ascii_alpha_to_cntrl (tty_getch ())); in 1047 lib/widget/input.c v = input_handle_char (in, '\n'); in 1052 lib/widget/input.c return input_handle_char (in, parm); in 1055 lib/widget/input.c return input_execute_cmd (in, parm); in 1058 lib/widget/input.c input_update (in, FALSE); in 1063 lib/widget/input.c if (in->label != NULL) in 1064 lib/widget/input.c widget_set_state (WIDGET (in->label), WST_DISABLED, msg == MSG_DISABLE); in 1068 lib/widget/input.c widget_gotoyx (in, 0, str_term_width2 (in->buffer->str, in->point) - in->term_first_shown); in 1076 lib/widget/input.c input_destroy (in); in 1087 lib/widget/input.c input_handle_char (WInput *in, int key) in 1094 lib/widget/input.c input_complete_free (in); in 1095 lib/widget/input.c v = insert_char (in, key); in 1096 lib/widget/input.c input_update (in, TRUE); in 1101 lib/widget/input.c command = widget_lookup_key (WIDGET (in), key); in 1106 lib/widget/input.c if (in->first) in 1107 lib/widget/input.c port_region_marked_for_delete (in); in 1108 lib/widget/input.c input_complete_free (in); in 1109 lib/widget/input.c v = insert_char (in, key); in 1110 lib/widget/input.c input_update (in, TRUE); in 1117 lib/widget/input.c input_complete_free (in); in 1118 lib/widget/input.c input_execute_cmd (in, command); in 1122 lib/widget/input.c keep_first = in->first && (command == CK_History || command == CK_Complete); in 1123 lib/widget/input.c input_update (in, !keep_first); in 1132 lib/widget/input.c input_assign_text (WInput *in, const char *text) in 1137 lib/widget/input.c input_complete_free (in); in 1138 lib/widget/input.c in->mark = -1; in 1139 lib/widget/input.c in->need_push = TRUE; in 1140 lib/widget/input.c in->charpoint = 0; in 1141 lib/widget/input.c g_string_assign (in->buffer, text); in 1142 lib/widget/input.c in->point = str_length (in->buffer->str); in 1143 lib/widget/input.c input_update (in, TRUE); in 1150 lib/widget/input.c input_insert (WInput *in, const char *text, gboolean insert_extra_space) in 1152 lib/widget/input.c input_disable_update (in); in 1154 lib/widget/input.c input_handle_char (in, (unsigned char) *text++); // unsigned extension char->int in 1156 lib/widget/input.c input_handle_char (in, ' '); in 1157 lib/widget/input.c input_enable_update (in); in 1158 lib/widget/input.c input_update (in, TRUE); in 1164 lib/widget/input.c input_set_point (WInput *in, int pos) in 1168 lib/widget/input.c max_pos = str_length (in->buffer->str); in 1170 lib/widget/input.c if (pos != in->point) in 1171 lib/widget/input.c input_complete_free (in); in 1172 lib/widget/input.c in->point = pos; in 1173 lib/widget/input.c in->charpoint = 0; in 1174 lib/widget/input.c input_update (in, TRUE); in 1180 lib/widget/input.c input_update (WInput *in, gboolean clear_first) in 1182 lib/widget/input.c Widget *wi = WIDGET (in); in 1189 lib/widget/input.c if (in->disable_update != 0) in 1197 lib/widget/input.c in->first = FALSE; in 1199 lib/widget/input.c if (should_show_history_button (in)) in 1202 lib/widget/input.c buf_len = str_length (in->buffer->str); in 1205 lib/widget/input.c in->mark = MIN (in->mark, buf_len); in 1207 lib/widget/input.c pw = str_term_width2 (in->buffer->str, in->point); in 1210 lib/widget/input.c if ((pw < in->term_first_shown) || (pw >= in->term_first_shown + w->cols - has_history)) in 1212 lib/widget/input.c in->term_first_shown = pw - (w->cols / 3); in 1213 lib/widget/input.c if (in->term_first_shown < 0) in 1214 lib/widget/input.c in->term_first_shown = 0; in 1218 lib/widget/input.c draw_history_button (in); in 1222 lib/widget/input.c else if (in->first) in 1223 lib/widget/input.c tty_setcolor (in->color[INPUT_COLOR_UNCHANGED]); in 1225 lib/widget/input.c tty_setcolor (in->color[INPUT_COLOR_MAIN]); in 1227 lib/widget/input.c widget_gotoyx (in, 0, 0); in 1229 lib/widget/input.c if (!in->is_password) in 1231 lib/widget/input.c if (in->mark < 0) in 1233 lib/widget/input.c str_term_substring (in->buffer->str, in->term_first_shown, w->cols - has_history)); in 1238 lib/widget/input.c if (input_eval_marks (in, &m1, &m2)) in 1240 lib/widget/input.c tty_setcolor (in->color[INPUT_COLOR_MAIN]); in 1241 lib/widget/input.c cp = str_term_substring (in->buffer->str, in->term_first_shown, in 1244 lib/widget/input.c tty_setcolor (in->color[INPUT_COLOR_MARK]); in 1245 lib/widget/input.c if (m1 < in->term_first_shown) in 1247 lib/widget/input.c widget_gotoyx (in, 0, 0); in 1248 lib/widget/input.c m1 = in->term_first_shown; in 1255 lib/widget/input.c widget_gotoyx (in, 0, m1 - in->term_first_shown); in 1256 lib/widget/input.c buf_width = str_term_width2 (in->buffer->str, m1); in 1258 lib/widget/input.c MIN (m2 - m1, (w->cols - has_history) - (buf_width - in->term_first_shown)); in 1261 lib/widget/input.c tty_print_string (str_term_substring (in->buffer->str, m1, m2)); in 1269 lib/widget/input.c cp = str_term_substring (in->buffer->str, in->term_first_shown, w->cols - has_history); in 1270 lib/widget/input.c tty_setcolor (in->color[INPUT_COLOR_MAIN]); in 1273 lib/widget/input.c if (i < (buf_len - in->term_first_shown) && cp[0] != '\0') in 1286 lib/widget/input.c input_enable_update (WInput *in) in 1288 lib/widget/input.c in->disable_update--; in 1289 lib/widget/input.c input_update (in, FALSE); in 1295 lib/widget/input.c input_disable_update (WInput *in) in 1297 lib/widget/input.c in->disable_update++; in 1308 lib/widget/input.c input_clean (WInput *in) in 1310 lib/widget/input.c input_push_history (in); in 1311 lib/widget/input.c in->need_push = TRUE; in 1312 lib/widget/input.c g_string_set_size (in->buffer, 0); in 1313 lib/widget/input.c in->point = 0; in 1314 lib/widget/input.c in->charpoint = 0; in 1315 lib/widget/input.c in->mark = -1; in 1316 lib/widget/input.c input_complete_free (in); in 1317 lib/widget/input.c input_update (in, FALSE); in 90 lib/widget/input.h cb_ret_t input_handle_char (WInput *in, int key); in 91 lib/widget/input.h void input_assign_text (WInput *in, const char *text); in 92 lib/widget/input.h void input_insert (WInput *in, const char *text, gboolean insert_extra_space); in 93 lib/widget/input.h void input_set_point (WInput *in, int pos); in 94 lib/widget/input.h void input_update (WInput *in, gboolean clear_first); in 95 lib/widget/input.h void input_enable_update (WInput *in); in 96 lib/widget/input.h void input_disable_update (WInput *in); in 97 lib/widget/input.h void input_clean (WInput *in); in 100 lib/widget/input.h void input_complete (WInput *in); in 101 lib/widget/input.h void input_complete_free (WInput *in); in 115 lib/widget/input.h input_get_text (const WInput *in) in 117 lib/widget/input.h return g_strndup (in->buffer->str, in->buffer->len); in 130 lib/widget/input.h input_get_ctext (const WInput *in) in 132 lib/widget/input.h return in->buffer->str; in 145 lib/widget/input.h input_is_empty (const WInput *in) in 147 lib/widget/input.h return (in->buffer->len == 0); in 92 lib/widget/input_complete.c void complete_engine_fill_completions (WInput *in); in 935 lib/widget/input_complete.c insert_text (WInput *in, const char *text, ssize_t size) in 942 lib/widget/input_complete.c buff_len = str_length (in->buffer->str); in 955 lib/widget/input_complete.c tail_len = in->buffer->len - end; in 961 lib/widget/input_complete.c tail = g_strndup (in->buffer->str + end, tail_len); in 964 lib/widget/input_complete.c if (in->buffer->len < hole_end) in 965 lib/widget/input_complete.c g_string_set_size (in->buffer, hole_end + tail_len); in 967 lib/widget/input_complete.c g_string_overwrite_len (in->buffer, hole_end, tail, tail_len); in 973 lib/widget/input_complete.c g_string_overwrite_len (in->buffer, start, text, size); in 975 lib/widget/input_complete.c in->point += str_length (in->buffer->str) - buff_len; in 976 lib/widget/input_complete.c input_update (in, TRUE); in 1165 lib/widget/input_complete.c complete_engine (WInput *in, int what_to_do) in 1167 lib/widget/input_complete.c if (in->completions != NULL && str_offset_to_pos (in->buffer->str, in->point) != end) in 1168 lib/widget/input_complete.c input_complete_free (in); in 1170 lib/widget/input_complete.c if (in->completions == NULL) in 1171 lib/widget/input_complete.c complete_engine_fill_completions (in); in 1173 lib/widget/input_complete.c if (in->completions == NULL) in 1178 lib/widget/input_complete.c || ((what_to_do & DO_QUERY) != 0 && in->completions->len == 1)) in 1182 lib/widget/input_complete.c lc_complete = g_ptr_array_index (in->completions, 0); in 1183 lib/widget/input_complete.c if (!insert_text (in, lc_complete, -1) || in->completions->len > 1) in 1186 lib/widget/input_complete.c input_complete_free (in); in 1189 lib/widget/input_complete.c if ((what_to_do & DO_QUERY) != 0 && in->completions != NULL && in->completions->len > 1) in 1201 lib/widget/input_complete.c for (k = 1; k < in->completions->len; k++) in 1203 lib/widget/input_complete.c q = g_ptr_array_index (in->completions, k); in 1208 lib/widget/input_complete.c count = in->completions->len - 1; in 1209 lib/widget/input_complete.c start_x = WIDGET (in)->rect.x; in 1210 lib/widget/input_complete.c start_y = WIDGET (in)->rect.y; in 1226 lib/widget/input_complete.c x = start - in->term_first_shown - 2 + start_x; in 1235 lib/widget/input_complete.c input = in; in 1243 lib/widget/input_complete.c for (k = 1; k < in->completions->len; k++) in 1245 lib/widget/input_complete.c q = g_ptr_array_index (in->completions, k); in 1255 lib/widget/input_complete.c insert_text (in, q, -1); in 1258 lib/widget/input_complete.c input_complete_free (in); in 1374 lib/widget/input_complete.c complete_engine_fill_completions (WInput *in) in 1379 lib/widget/input_complete.c word_separators = (in->completion_flags & INPUT_COMPLETE_SHELL_ESC) ? " \t;|<>" : "\t;|<>"; in 1381 lib/widget/input_complete.c end = str_offset_to_pos (in->buffer->str, in->point); in 1383 lib/widget/input_complete.c s = in->buffer->str; in 1384 lib/widget/input_complete.c if (in->point != 0) in 1389 lib/widget/input_complete.c for (i = in->point - 1; i > 0; i--) in 1393 lib/widget/input_complete.c for (; s >= in->buffer->str; str_prev_char (&s)) in 1395 lib/widget/input_complete.c start = s - in->buffer->str; in 1396 lib/widget/input_complete.c if (strchr (word_separators, *s) != NULL && !str_is_char_escaped (in->buffer->str, s)) in 1403 lib/widget/input_complete.c start = s - in->buffer->str; in 1406 lib/widget/input_complete.c in->completions = try_complete (in->buffer->str, &start, &end, in->completion_flags); in 1413 lib/widget/input_complete.c input_complete (WInput *in) in 1417 lib/widget/input_complete.c if (!str_is_valid_string (in->buffer->str)) in 1420 lib/widget/input_complete.c if (in->completions != NULL) in 1430 lib/widget/input_complete.c while (complete_engine (in, engine_flags)) in 1437 lib/widget/input_complete.c input_complete_free (WInput *in) in 1439 lib/widget/input_complete.c if (in->completions != NULL) in 1441 lib/widget/input_complete.c g_ptr_array_free (in->completions, TRUE); in 1442 lib/widget/input_complete.c in->completions = NULL; in 67 lib/widget/quick.c WInput *in; in 69 lib/widget/quick.c in = input_new (y, x, input_colors, 8, qw->u.input.text, qw->u.input.histname, in 72 lib/widget/quick.c in->is_password = qw->u.input.is_passwd; in 73 lib/widget/quick.c in->strip_password = qw->u.input.strip_passwd; in 75 lib/widget/quick.c return in; in 84 lib/widget/quick.c quick_widget_item_t in, label; in 100 lib/widget/quick.c in.widget = WIDGET (quick_create_input (++(*y), x, quick_widget)); in 101 lib/widget/quick.c in.quick_widget = quick_widget; in 102 lib/widget/quick.c g_array_append_val (widgets, in); in 104 lib/widget/quick.c *width = MAX (label.widget->rect.cols, in.widget->rect.cols); in 111 lib/widget/quick.c in.widget = WIDGET (quick_create_input (*y, x + label.widget->rect.cols + 1, quick_widget)); in 112 lib/widget/quick.c in.quick_widget = quick_widget; in 113 lib/widget/quick.c g_array_append_val (widgets, in); in 115 lib/widget/quick.c *width = label.widget->rect.cols + in.widget->rect.cols + 1; in 119 lib/widget/quick.c in.widget = WIDGET (quick_create_input (*y, x, quick_widget)); in 120 lib/widget/quick.c in.quick_widget = quick_widget; in 121 lib/widget/quick.c g_array_append_val (widgets, in); in 124 lib/widget/quick.c WIDGET (label_new (*y, x + in.widget->rect.cols + 1, quick_widget->u.input.label_text)); in 127 lib/widget/quick.c *width = label.widget->rect.cols + in.widget->rect.cols + 1; in 131 lib/widget/quick.c in.widget = WIDGET (quick_create_input (*y, x, quick_widget)); in 132 lib/widget/quick.c in.quick_widget = quick_widget; in 133 lib/widget/quick.c g_array_append_val (widgets, in); in 139 lib/widget/quick.c *width = MAX (label.widget->rect.cols, in.widget->rect.cols); in 147 lib/widget/quick.c INPUT (in.widget)->label = LABEL (label.widget); in 149 lib/widget/quick.c label.quick_widget->u.label.input = in.quick_widget; in 150 lib/widget/quick.c in.quick_widget->u.input.label = label.quick_widget; in 326 src/filemanager/boxes.c WInput *in; in 328 src/filemanager/boxes.c in = INPUT (widget_find_by_id (w, mini_user_format_id)); in 332 src/filemanager/boxes.c widget_disable (WIDGET (in), FALSE); in 333 src/filemanager/boxes.c input_assign_text (in, status_format[3]); in 340 src/filemanager/boxes.c widget_disable (WIDGET (in), TRUE); in 341 src/filemanager/boxes.c input_assign_text (in, status_format[r->sel]); in 240 src/filemanager/command.c command_insert (WInput *in, const char *text, gboolean insert_extra_space) in 247 src/filemanager/command.c input_insert (in, quoted_text, insert_extra_space); in 23 src/filemanager/command.h void command_insert (WInput *in, const char *text, gboolean insert_extra_space); in 35 tests/lib/widget/complete_engine.c void complete_engine_fill_completions (WInput *in);