in 72 lib/widget/input.c #define should_show_history_button(in) \ in 73 lib/widget/input.c (in->history.list != NULL && WIDGET (in)->rect.cols > HISTORY_BUTTON_WIDTH * 2 + 1 \ in 74 lib/widget/input.c && WIDGET (in)->owner != NULL) in 104 lib/widget/input.c draw_history_button (WInput *in) in 109 lib/widget/input.c if (g_list_next (in->history.current) == NULL) in 111 lib/widget/input.c else if (g_list_previous (in->history.current) == NULL) in 116 lib/widget/input.c widget_gotoyx (in, 0, WIDGET (in)->rect.cols - HISTORY_BUTTON_WIDTH); in 117 lib/widget/input.c disabled = widget_get_state (WIDGET (in), WST_DISABLED); in 118 lib/widget/input.c tty_setcolor (disabled ? DISABLED_COLOR : in->color[WINPUTC_HISTORY]); in 122 lib/widget/input.c widget_gotoyx (in, 0, WIDGET (in)->rect.cols - HISTORY_BUTTON_WIDTH + 1); in 131 lib/widget/input.c input_mark_cmd (WInput *in, gboolean mark) in 133 lib/widget/input.c in->mark = mark ? in->point : -1; in 139 lib/widget/input.c input_eval_marks (WInput *in, long *start_mark, long *end_mark) in 141 lib/widget/input.c if (in->mark >= 0) in 143 lib/widget/input.c *start_mark = MIN (in->mark, in->point); in 144 lib/widget/input.c *end_mark = MAX (in->mark, in->point); in 155 lib/widget/input.c do_show_hist (WInput *in) in 160 lib/widget/input.c len = get_history_length (in->history.list); in 162 lib/widget/input.c history_descriptor_init (&hd, WIDGET (in)->rect.y, WIDGET (in)->rect.x, in->history.list, in 163 lib/widget/input.c g_list_position (in->history.list, in->history.list)); in 168 lib/widget/input.c in->history.list = hd.list; in 169 lib/widget/input.c in->history.current = in->history.list; in 172 lib/widget/input.c input_assign_text (in, hd.text); in 177 lib/widget/input.c if (len != get_history_length (in->history.list)) in 178 lib/widget/input.c in->history.changed = TRUE; in 221 lib/widget/input.c input_push_history (WInput *in) in 226 lib/widget/input.c t = g_strstrip (input_get_text (in)); in 231 lib/widget/input.c t = input_get_text (in); in 233 lib/widget/input.c if (in->history.name != NULL && in->strip_password) in 248 lib/widget/input.c if (in->history.list == NULL || in->history.list->data == NULL in 249 lib/widget/input.c || strcmp (in->history.list->data, t) != 0 || in->history.changed) in 251 lib/widget/input.c in->history.list = list_append_unique (in->history.list, t); in 252 lib/widget/input.c in->history.current = in->history.list; in 253 lib/widget/input.c in->history.changed = TRUE; in 258 lib/widget/input.c in->need_push = FALSE; in 264 lib/widget/input.c move_buffer_backward (WInput *in, int start, int end) in 268 lib/widget/input.c str_len = str_length (in->buffer->str); in 272 lib/widget/input.c start = str_offset_to_pos (in->buffer->str, start); in 273 lib/widget/input.c end = str_offset_to_pos (in->buffer->str, end); in 274 lib/widget/input.c g_string_erase (in->buffer, start, end - start); in 280 lib/widget/input.c beginning_of_line (WInput *in) in 282 lib/widget/input.c in->point = 0; in 283 lib/widget/input.c in->charpoint = 0; in 289 lib/widget/input.c end_of_line (WInput *in) in 291 lib/widget/input.c in->point = str_length (in->buffer->str); in 292 lib/widget/input.c in->charpoint = 0; in 298 lib/widget/input.c backward_char (WInput *in) in 300 lib/widget/input.c if (in->point > 0) in 304 lib/widget/input.c act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 305 lib/widget/input.c in->point -= str_cprev_noncomb_char (&act, in->buffer->str); in 308 lib/widget/input.c in->charpoint = 0; in 314 lib/widget/input.c forward_char (WInput *in) in 318 lib/widget/input.c act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 320 lib/widget/input.c in->point += str_cnext_noncomb_char (&act); in 321 lib/widget/input.c in->charpoint = 0; in 327 lib/widget/input.c forward_word (WInput *in) in 331 lib/widget/input.c p = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 333 lib/widget/input.c for (; p[0] != '\0' && (str_isspace (p) || str_ispunct (p)); in->point++) in 336 lib/widget/input.c for (; p[0] != '\0' && !str_isspace (p) && !str_ispunct (p); in->point++) in 343 lib/widget/input.c backward_word (WInput *in) in 347 lib/widget/input.c p = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 349 lib/widget/input.c for (; p != in->buffer->str; in->point--) in 362 lib/widget/input.c for (; p != in->buffer->str; in->point--) in 373 lib/widget/input.c backward_delete (WInput *in) in 378 lib/widget/input.c if (in->point == 0) in 381 lib/widget/input.c act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 382 lib/widget/input.c start = in->point - str_cprev_noncomb_char (&act, in->buffer->str); in 383 lib/widget/input.c move_buffer_backward (in, start, in->point); in 384 lib/widget/input.c in->charpoint = 0; in 385 lib/widget/input.c in->need_push = TRUE; in 386 lib/widget/input.c in->point = start; in 392 lib/widget/input.c copy_region (WInput *in, int start, int end) in 408 lib/widget/input.c first = str_offset_to_pos (in->buffer->str, first); in 409 lib/widget/input.c last = str_offset_to_pos (in->buffer->str, last); in 411 lib/widget/input.c kill_buffer = g_strndup (in->buffer->str + first, last - first); in 421 lib/widget/input.c delete_region (WInput *in, int start, int end) in 426 lib/widget/input.c input_mark_cmd (in, FALSE); in 427 lib/widget/input.c in->point = first; in 428 lib/widget/input.c move_buffer_backward (in, first, last); in 429 lib/widget/input.c in->charpoint = 0; in 430 lib/widget/input.c in->need_push = TRUE; in 436 lib/widget/input.c insert_char (WInput *in, int c_code) in 442 lib/widget/input.c if (input_eval_marks (in, &m1, &m2)) in 443 lib/widget/input.c delete_region (in, m1, m2); in 448 lib/widget/input.c if (in->charpoint >= MB_LEN_MAX) in 451 lib/widget/input.c in->charbuf[in->charpoint] = c_code; in 452 lib/widget/input.c in->charpoint++; in 454 lib/widget/input.c res = str_is_valid_char (in->charbuf, in->charpoint); in 458 lib/widget/input.c in->charpoint = 0; /* broken multibyte char, skip */ in 462 lib/widget/input.c in->need_push = TRUE; in 463 lib/widget/input.c ins_point = str_offset_to_pos (in->buffer->str, in->point); in 464 lib/widget/input.c g_string_insert_len (in->buffer, ins_point, in->charbuf, in->charpoint); in 465 lib/widget/input.c in->point++; in 466 lib/widget/input.c in->charpoint = 0; in 474 lib/widget/input.c delete_char (WInput *in) in 479 lib/widget/input.c act = in->buffer->str + str_offset_to_pos (in->buffer->str, in->point); in 480 lib/widget/input.c end = in->point + str_cnext_noncomb_char (&act); in 481 lib/widget/input.c move_buffer_backward (in, in->point, end); in 482 lib/widget/input.c in->charpoint = 0; in 483 lib/widget/input.c in->need_push = TRUE; in 489 lib/widget/input.c kill_word (WInput *in) in 491 lib/widget/input.c int old_point = in->point; in 494 lib/widget/input.c forward_word (in); in 495 lib/widget/input.c new_point = in->point; in 496 lib/widget/input.c in->point = old_point; in 498 lib/widget/input.c delete_region (in, old_point, new_point); in 499 lib/widget/input.c in->need_push = TRUE; in 500 lib/widget/input.c in->charpoint = 0; in 506 lib/widget/input.c back_kill_word (WInput *in) in 508 lib/widget/input.c int old_point = in->point; in 511 lib/widget/input.c backward_word (in); in 512 lib/widget/input.c new_point = in->point; in 513 lib/widget/input.c in->point = old_point; in 515 lib/widget/input.c delete_region (in, old_point, new_point); in 516 lib/widget/input.c in->need_push = TRUE; in 522 lib/widget/input.c yank (WInput *in) in 528 lib/widget/input.c in->charpoint = 0; in 530 lib/widget/input.c insert_char (in, *p); in 531 lib/widget/input.c in->charpoint = 0; in 538 lib/widget/input.c kill_line (WInput *in) in 542 lib/widget/input.c chp = str_offset_to_pos (in->buffer->str, in->point); in 544 lib/widget/input.c kill_buffer = g_strndup (in->buffer->str + chp, in->buffer->len - chp); in 545 lib/widget/input.c g_string_set_size (in->buffer, chp); in 546 lib/widget/input.c in->charpoint = 0; in 552 lib/widget/input.c clear_line (WInput *in) in 554 lib/widget/input.c in->need_push = TRUE; in 555 lib/widget/input.c g_string_set_size (in->buffer, 0); in 556 lib/widget/input.c in->point = 0; in 557 lib/widget/input.c in->mark = -1; in 558 lib/widget/input.c in->charpoint = 0; in 564 lib/widget/input.c ins_from_clip (WInput *in) in 579 lib/widget/input.c insert_char (in, *pp); in 588 lib/widget/input.c hist_prev (WInput *in) in 592 lib/widget/input.c if (in->history.list == NULL) in 595 lib/widget/input.c if (in->need_push) in 596 lib/widget/input.c input_push_history (in); in 598 lib/widget/input.c prev = g_list_previous (in->history.current); in 601 lib/widget/input.c input_assign_text (in, (char *) prev->data); in 602 lib/widget/input.c in->history.current = prev; in 603 lib/widget/input.c in->history.changed = TRUE; in 604 lib/widget/input.c in->need_push = FALSE; in 611 lib/widget/input.c hist_next (WInput *in) in 615 lib/widget/input.c if (in->need_push) in 617 lib/widget/input.c input_push_history (in); in 618 lib/widget/input.c input_assign_text (in, ""); in 622 lib/widget/input.c if (in->history.list == NULL) in 625 lib/widget/input.c next = g_list_next (in->history.current); in 628 lib/widget/input.c input_assign_text (in, ""); in 629 lib/widget/input.c in->history.current = in->history.list; in 633 lib/widget/input.c input_assign_text (in, (char *) next->data); in 634 lib/widget/input.c in->history.current = next; in 635 lib/widget/input.c in->history.changed = TRUE; in 636 lib/widget/input.c in->need_push = FALSE; in 643 lib/widget/input.c port_region_marked_for_delete (WInput *in) in 645 lib/widget/input.c g_string_set_size (in->buffer, 0); in 646 lib/widget/input.c in->point = 0; in 647 lib/widget/input.c in->first = FALSE; in 648 lib/widget/input.c in->charpoint = 0; in 654 lib/widget/input.c input_execute_cmd (WInput *in, long command) in 667 lib/widget/input.c if (in->mark < 0) in 669 lib/widget/input.c input_mark_cmd (in, FALSE); /* clear */ in 670 lib/widget/input.c input_mark_cmd (in, TRUE); /* marking on */ in 677 lib/widget/input.c if (in->mark >= 0) in 678 lib/widget/input.c input_mark_cmd (in, FALSE); in 688 lib/widget/input.c beginning_of_line (in); in 692 lib/widget/input.c end_of_line (in); in 696 lib/widget/input.c backward_char (in); in 700 lib/widget/input.c backward_word (in); in 704 lib/widget/input.c forward_char (in); in 708 lib/widget/input.c forward_word (in); in 714 lib/widget/input.c if (input_eval_marks (in, &m1, &m2)) in 715 lib/widget/input.c delete_region (in, m1, m2); in 717 lib/widget/input.c backward_delete (in); in 721 lib/widget/input.c if (in->first) in 722 lib/widget/input.c port_region_marked_for_delete (in); in 727 lib/widget/input.c if (input_eval_marks (in, &m1, &m2)) in 728 lib/widget/input.c delete_region (in, m1, m2); in 730 lib/widget/input.c delete_char (in); in 734 lib/widget/input.c kill_word (in); in 737 lib/widget/input.c back_kill_word (in); in 740 lib/widget/input.c input_mark_cmd (in, TRUE); in 743 lib/widget/input.c delete_region (in, in->point, MAX (in->mark, 0)); in 746 lib/widget/input.c kill_line (in); in 749 lib/widget/input.c clear_line (in); in 752 lib/widget/input.c copy_region (in, MAX (in->mark, 0), in->point); in 758 lib/widget/input.c m = MAX (in->mark, 0); in 759 lib/widget/input.c copy_region (in, m, in->point); in 760 lib/widget/input.c delete_region (in, in->point, m); in 764 lib/widget/input.c yank (in); in 767 lib/widget/input.c ins_from_clip (in); in 770 lib/widget/input.c hist_prev (in); in 773 lib/widget/input.c hist_next (in); in 776 lib/widget/input.c do_show_hist (in); in 779 lib/widget/input.c input_complete (in); in 796 lib/widget/input.c in->mark = -1; in 810 lib/widget/input.c WInput *in = INPUT (init_data); in 816 lib/widget/input.c in->history.list = mc_config_history_load (ev->cfg, in->history.name); in 817 lib/widget/input.c in->history.current = in->history.list; in 819 lib/widget/input.c if (in->init_from_history) in 823 lib/widget/input.c if (in->history.list != NULL && in->history.list->data != NULL) in 824 lib/widget/input.c def_text = (const char *) in->history.list->data; in 826 lib/widget/input.c input_assign_text (in, def_text); in 839 lib/widget/input.c WInput *in = INPUT (init_data); in 844 lib/widget/input.c if (!in->is_password && (DIALOG (WIDGET (in)->owner)->ret_value != B_CANCEL)) in 848 lib/widget/input.c input_push_history (in); in 849 lib/widget/input.c if (in->history.changed) in 850 lib/widget/input.c mc_config_history_save (ev->cfg, in->history.name, in->history.list); in 851 lib/widget/input.c in->history.changed = FALSE; in 860 lib/widget/input.c input_destroy (WInput *in) in 862 lib/widget/input.c input_complete_free (in); in 865 lib/widget/input.c if (in->history.list != NULL) in 868 lib/widget/input.c in->history.list = g_list_first (in->history.list); in 869 lib/widget/input.c g_list_free_full (in->history.list, g_free); in 871 lib/widget/input.c g_free (in->history.name); in 872 lib/widget/input.c g_string_free (in->buffer, TRUE); in 882 lib/widget/input.c input_screen_to_point (const WInput *in, int x) in 884 lib/widget/input.c x += in->term_first_shown; in 889 lib/widget/input.c if (x < str_term_width1 (in->buffer->str)) in 890 lib/widget/input.c return str_column_to_pos (in->buffer->str, x); in 892 lib/widget/input.c return str_length (in->buffer->str); in 902 lib/widget/input.c WInput *in = INPUT (w); in 909 lib/widget/input.c if (event->x >= w->rect.cols - HISTORY_BUTTON_WIDTH && should_show_history_button (in)) in 910 lib/widget/input.c do_show_hist (in); in 913 lib/widget/input.c in->first = FALSE; in 914 lib/widget/input.c input_mark_cmd (in, FALSE); in 915 lib/widget/input.c input_set_point (in, input_screen_to_point (in, event->x)); in 917 lib/widget/input.c prev_point = in->point; in 923 lib/widget/input.c if (in->mark < 0) in 924 lib/widget/input.c in->mark = prev_point; in 926 lib/widget/input.c input_set_point (in, input_screen_to_point (in, event->x)); in 931 lib/widget/input.c if (in->mark == in->point) in 932 lib/widget/input.c input_mark_cmd (in, FALSE); in 956 lib/widget/input.c WInput *in; in 959 lib/widget/input.c in = g_new (WInput, 1); in 960 lib/widget/input.c w = WIDGET (in); in 965 lib/widget/input.c in->color = colors; in 966 lib/widget/input.c in->first = TRUE; in 967 lib/widget/input.c in->mark = -1; in 968 lib/widget/input.c in->term_first_shown = 0; in 969 lib/widget/input.c in->disable_update = 0; in 970 lib/widget/input.c in->is_password = FALSE; in 971 lib/widget/input.c in->strip_password = FALSE; in 974 lib/widget/input.c in->buffer = g_string_sized_new (width); in 977 lib/widget/input.c in->completions = NULL; in 978 lib/widget/input.c in->completion_flags = completion_flags; in 980 lib/widget/input.c in->init_from_history = (def_text == INPUT_LAST_TEXT); in 982 lib/widget/input.c if (in->init_from_history || def_text == NULL) in 985 lib/widget/input.c input_assign_text (in, def_text); in 988 lib/widget/input.c in->history.list = NULL; in 989 lib/widget/input.c in->history.current = NULL; in 990 lib/widget/input.c in->history.changed = FALSE; in 991 lib/widget/input.c in->history.name = NULL; in 993 lib/widget/input.c in->history.name = g_strdup (histname); in 996 lib/widget/input.c in->label = NULL; in 998 lib/widget/input.c return in; in 1006 lib/widget/input.c WInput *in = INPUT (w); in 1017 lib/widget/input.c if (in->label != NULL) in 1018 lib/widget/input.c widget_set_state (WIDGET (in->label), WST_DISABLED, widget_get_state (w, WST_DISABLED)); in 1025 lib/widget/input.c v = input_handle_char (in, ascii_alpha_to_cntrl (tty_getch ())); in 1039 lib/widget/input.c v = input_handle_char (in, '\n'); in 1044 lib/widget/input.c return input_handle_char (in, parm); in 1047 lib/widget/input.c return input_execute_cmd (in, parm); in 1050 lib/widget/input.c input_update (in, FALSE); in 1055 lib/widget/input.c if (in->label != NULL) in 1056 lib/widget/input.c widget_set_state (WIDGET (in->label), WST_DISABLED, msg == MSG_DISABLE); in 1060 lib/widget/input.c widget_gotoyx (in, 0, str_term_width2 (in->buffer->str, in->point) - in->term_first_shown); in 1068 lib/widget/input.c input_destroy (in); in 1090 lib/widget/input.c input_handle_char (WInput *in, int key) in 1097 lib/widget/input.c input_complete_free (in); in 1098 lib/widget/input.c v = insert_char (in, key); in 1099 lib/widget/input.c input_update (in, TRUE); in 1104 lib/widget/input.c command = widget_lookup_key (WIDGET (in), key); in 1109 lib/widget/input.c if (in->first) in 1110 lib/widget/input.c port_region_marked_for_delete (in); in 1111 lib/widget/input.c input_complete_free (in); in 1112 lib/widget/input.c v = insert_char (in, key); in 1113 lib/widget/input.c input_update (in, TRUE); in 1120 lib/widget/input.c input_complete_free (in); in 1121 lib/widget/input.c input_execute_cmd (in, command); in 1125 lib/widget/input.c keep_first = in->first && (command == CK_History || command == CK_Complete); in 1126 lib/widget/input.c input_update (in, !keep_first); in 1135 lib/widget/input.c input_assign_text (WInput *in, const char *text) in 1140 lib/widget/input.c input_complete_free (in); in 1141 lib/widget/input.c in->mark = -1; in 1142 lib/widget/input.c in->need_push = TRUE; in 1143 lib/widget/input.c in->charpoint = 0; in 1144 lib/widget/input.c g_string_assign (in->buffer, text); in 1145 lib/widget/input.c in->point = str_length (in->buffer->str); in 1146 lib/widget/input.c input_update (in, TRUE); in 1153 lib/widget/input.c input_insert (WInput *in, const char *text, gboolean insert_extra_space) in 1155 lib/widget/input.c input_disable_update (in); in 1157 lib/widget/input.c input_handle_char (in, (unsigned char) *text++); /* unsigned extension char->int */ in 1159 lib/widget/input.c input_handle_char (in, ' '); in 1160 lib/widget/input.c input_enable_update (in); in 1161 lib/widget/input.c input_update (in, TRUE); in 1167 lib/widget/input.c input_set_point (WInput *in, int pos) in 1171 lib/widget/input.c max_pos = str_length (in->buffer->str); in 1173 lib/widget/input.c if (pos != in->point) in 1174 lib/widget/input.c input_complete_free (in); in 1175 lib/widget/input.c in->point = pos; in 1176 lib/widget/input.c in->charpoint = 0; in 1177 lib/widget/input.c input_update (in, TRUE); in 1183 lib/widget/input.c input_update (WInput *in, gboolean clear_first) in 1185 lib/widget/input.c Widget *wi = WIDGET (in); in 1192 lib/widget/input.c if (in->disable_update != 0) in 1200 lib/widget/input.c in->first = FALSE; in 1202 lib/widget/input.c if (should_show_history_button (in)) in 1205 lib/widget/input.c buf_len = str_length (in->buffer->str); in 1208 lib/widget/input.c in->mark = MIN (in->mark, buf_len); in 1210 lib/widget/input.c pw = str_term_width2 (in->buffer->str, in->point); in 1213 lib/widget/input.c if ((pw < in->term_first_shown) || (pw >= in->term_first_shown + w->cols - has_history)) in 1215 lib/widget/input.c in->term_first_shown = pw - (w->cols / 3); in 1216 lib/widget/input.c if (in->term_first_shown < 0) in 1217 lib/widget/input.c in->term_first_shown = 0; in 1221 lib/widget/input.c draw_history_button (in); in 1225 lib/widget/input.c else if (in->first) in 1226 lib/widget/input.c tty_setcolor (in->color[WINPUTC_UNCHANGED]); in 1228 lib/widget/input.c tty_setcolor (in->color[WINPUTC_MAIN]); in 1230 lib/widget/input.c widget_gotoyx (in, 0, 0); in 1232 lib/widget/input.c if (!in->is_password) in 1234 lib/widget/input.c if (in->mark < 0) in 1235 lib/widget/input.c tty_print_string (str_term_substring (in->buffer->str, in->term_first_shown, in 1241 lib/widget/input.c if (input_eval_marks (in, &m1, &m2)) in 1243 lib/widget/input.c tty_setcolor (in->color[WINPUTC_MAIN]); in 1244 lib/widget/input.c cp = str_term_substring (in->buffer->str, in->term_first_shown, in 1247 lib/widget/input.c tty_setcolor (in->color[WINPUTC_MARK]); in 1248 lib/widget/input.c if (m1 < in->term_first_shown) in 1250 lib/widget/input.c widget_gotoyx (in, 0, 0); in 1251 lib/widget/input.c m1 = in->term_first_shown; in 1258 lib/widget/input.c widget_gotoyx (in, 0, m1 - in->term_first_shown); in 1259 lib/widget/input.c buf_width = str_term_width2 (in->buffer->str, m1); in 1261 lib/widget/input.c (w->cols - has_history) - (buf_width - in->term_first_shown)); in 1264 lib/widget/input.c tty_print_string (str_term_substring (in->buffer->str, m1, m2)); in 1272 lib/widget/input.c cp = str_term_substring (in->buffer->str, in->term_first_shown, w->cols - has_history); in 1273 lib/widget/input.c tty_setcolor (in->color[WINPUTC_MAIN]); in 1276 lib/widget/input.c if (i < (buf_len - in->term_first_shown) && cp[0] != '\0') in 1289 lib/widget/input.c input_enable_update (WInput *in) in 1291 lib/widget/input.c in->disable_update--; in 1292 lib/widget/input.c input_update (in, FALSE); in 1298 lib/widget/input.c input_disable_update (WInput *in) in 1300 lib/widget/input.c in->disable_update++; in 1311 lib/widget/input.c input_clean (WInput *in) in 1313 lib/widget/input.c input_push_history (in); in 1314 lib/widget/input.c in->need_push = TRUE; in 1315 lib/widget/input.c g_string_set_size (in->buffer, 0); in 1316 lib/widget/input.c in->point = 0; in 1317 lib/widget/input.c in->charpoint = 0; in 1318 lib/widget/input.c in->mark = -1; in 1319 lib/widget/input.c input_complete_free (in); in 1320 lib/widget/input.c input_update (in, FALSE); in 92 lib/widget/input.h cb_ret_t input_handle_char (WInput * in, int key); in 93 lib/widget/input.h void input_assign_text (WInput * in, const char *text); in 94 lib/widget/input.h void input_insert (WInput * in, const char *text, gboolean insert_extra_space); in 95 lib/widget/input.h void input_set_point (WInput * in, int pos); in 96 lib/widget/input.h void input_update (WInput * in, gboolean clear_first); in 97 lib/widget/input.h void input_enable_update (WInput * in); in 98 lib/widget/input.h void input_disable_update (WInput * in); in 99 lib/widget/input.h void input_clean (WInput * in); in 102 lib/widget/input.h void input_complete (WInput * in); in 103 lib/widget/input.h void input_complete_free (WInput * in); in 117 lib/widget/input.h input_get_text (const WInput *in) in 119 lib/widget/input.h return g_strndup (in->buffer->str, in->buffer->len); in 132 lib/widget/input.h input_get_ctext (const WInput *in) in 134 lib/widget/input.h return in->buffer->str; in 147 lib/widget/input.h input_is_empty (const WInput *in) in 149 lib/widget/input.h return (in->buffer->len == 0); in 92 lib/widget/input_complete.c void complete_engine_fill_completions (WInput * in); in 939 lib/widget/input_complete.c insert_text (WInput *in, const char *text, ssize_t size) in 946 lib/widget/input_complete.c buff_len = str_length (in->buffer->str); in 959 lib/widget/input_complete.c tail_len = in->buffer->len - end; in 965 lib/widget/input_complete.c tail = g_strndup (in->buffer->str + end, tail_len); in 968 lib/widget/input_complete.c if (in->buffer->len < hole_end) in 969 lib/widget/input_complete.c g_string_set_size (in->buffer, hole_end + tail_len); in 971 lib/widget/input_complete.c g_string_overwrite_len (in->buffer, hole_end, tail, tail_len); in 977 lib/widget/input_complete.c g_string_overwrite_len (in->buffer, start, text, size); in 979 lib/widget/input_complete.c in->point += str_length (in->buffer->str) - buff_len; in 980 lib/widget/input_complete.c input_update (in, TRUE); in 1169 lib/widget/input_complete.c complete_engine (WInput *in, int what_to_do) in 1171 lib/widget/input_complete.c if (in->completions != NULL && str_offset_to_pos (in->buffer->str, in->point) != end) in 1172 lib/widget/input_complete.c input_complete_free (in); in 1174 lib/widget/input_complete.c if (in->completions == NULL) in 1175 lib/widget/input_complete.c complete_engine_fill_completions (in); in 1177 lib/widget/input_complete.c if (in->completions == NULL) in 1182 lib/widget/input_complete.c || ((what_to_do & DO_QUERY) != 0 && in->completions->len == 1)) in 1186 lib/widget/input_complete.c lc_complete = g_ptr_array_index (in->completions, 0); in 1187 lib/widget/input_complete.c if (!insert_text (in, lc_complete, -1) || in->completions->len > 1) in 1190 lib/widget/input_complete.c input_complete_free (in); in 1193 lib/widget/input_complete.c if ((what_to_do & DO_QUERY) != 0 && in->completions != NULL && in->completions->len > 1) in 1205 lib/widget/input_complete.c for (k = 1; k < in->completions->len; k++) in 1207 lib/widget/input_complete.c q = g_ptr_array_index (in->completions, k); in 1212 lib/widget/input_complete.c count = in->completions->len - 1; in 1213 lib/widget/input_complete.c start_x = WIDGET (in)->rect.x; in 1214 lib/widget/input_complete.c start_y = WIDGET (in)->rect.y; in 1230 lib/widget/input_complete.c x = start - in->term_first_shown - 2 + start_x; in 1239 lib/widget/input_complete.c input = in; in 1248 lib/widget/input_complete.c for (k = 1; k < in->completions->len; k++) in 1250 lib/widget/input_complete.c q = g_ptr_array_index (in->completions, k); in 1260 lib/widget/input_complete.c insert_text (in, q, -1); in 1263 lib/widget/input_complete.c input_complete_free (in); in 1380 lib/widget/input_complete.c complete_engine_fill_completions (WInput *in) in 1385 lib/widget/input_complete.c word_separators = (in->completion_flags & INPUT_COMPLETE_SHELL_ESC) ? " \t;|<>" : "\t;|<>"; in 1387 lib/widget/input_complete.c end = str_offset_to_pos (in->buffer->str, in->point); in 1389 lib/widget/input_complete.c s = in->buffer->str; in 1390 lib/widget/input_complete.c if (in->point != 0) in 1395 lib/widget/input_complete.c for (i = in->point - 1; i > 0; i--) in 1399 lib/widget/input_complete.c for (; s >= in->buffer->str; str_prev_char (&s)) in 1401 lib/widget/input_complete.c start = s - in->buffer->str; in 1402 lib/widget/input_complete.c if (strchr (word_separators, *s) != NULL && !str_is_char_escaped (in->buffer->str, s)) in 1409 lib/widget/input_complete.c start = s - in->buffer->str; in 1412 lib/widget/input_complete.c in->completions = try_complete (in->buffer->str, &start, &end, in->completion_flags); in 1419 lib/widget/input_complete.c input_complete (WInput *in) in 1423 lib/widget/input_complete.c if (!str_is_valid_string (in->buffer->str)) in 1426 lib/widget/input_complete.c if (in->completions != NULL) in 1436 lib/widget/input_complete.c while (complete_engine (in, engine_flags)) in 1443 lib/widget/input_complete.c input_complete_free (WInput *in) in 1445 lib/widget/input_complete.c if (in->completions != NULL) in 1447 lib/widget/input_complete.c g_ptr_array_free (in->completions, TRUE); in 1448 lib/widget/input_complete.c in->completions = NULL; in 73 lib/widget/quick.c WInput *in; in 75 lib/widget/quick.c in = input_new (y, x, input_colors, 8, qw->u.input.text, qw->u.input.histname, in 78 lib/widget/quick.c in->is_password = qw->u.input.is_passwd; in 79 lib/widget/quick.c in->strip_password = qw->u.input.strip_passwd; in 81 lib/widget/quick.c return in; in 90 lib/widget/quick.c quick_widget_item_t in, label; in 106 lib/widget/quick.c in.widget = WIDGET (quick_create_input (++(*y), x, quick_widget)); in 107 lib/widget/quick.c in.quick_widget = quick_widget; in 108 lib/widget/quick.c g_array_append_val (widgets, in); in 110 lib/widget/quick.c *width = MAX (label.widget->rect.cols, in.widget->rect.cols); in 117 lib/widget/quick.c in.widget = WIDGET (quick_create_input (*y, x + label.widget->rect.cols + 1, quick_widget)); in 118 lib/widget/quick.c in.quick_widget = quick_widget; in 119 lib/widget/quick.c g_array_append_val (widgets, in); in 121 lib/widget/quick.c *width = label.widget->rect.cols + in.widget->rect.cols + 1; in 125 lib/widget/quick.c in.widget = WIDGET (quick_create_input (*y, x, quick_widget)); in 126 lib/widget/quick.c in.quick_widget = quick_widget; in 127 lib/widget/quick.c g_array_append_val (widgets, in); in 131 lib/widget/quick.c (*y, x + in.widget->rect.cols + 1, I18N (quick_widget->u.input.label_text))); in 134 lib/widget/quick.c *width = label.widget->rect.cols + in.widget->rect.cols + 1; in 138 lib/widget/quick.c in.widget = WIDGET (quick_create_input (*y, x, quick_widget)); in 139 lib/widget/quick.c in.quick_widget = quick_widget; in 140 lib/widget/quick.c g_array_append_val (widgets, in); in 146 lib/widget/quick.c *width = MAX (label.widget->rect.cols, in.widget->rect.cols); in 153 lib/widget/quick.c INPUT (in.widget)->label = LABEL (label.widget); in 155 lib/widget/quick.c label.quick_widget->u.label.input = in.quick_widget; in 156 lib/widget/quick.c in.quick_widget->u.input.label = label.quick_widget; in 336 src/filemanager/boxes.c WInput *in; in 338 src/filemanager/boxes.c in = INPUT (widget_find_by_id (w, mini_user_format_id)); in 342 src/filemanager/boxes.c widget_disable (WIDGET (in), FALSE); in 343 src/filemanager/boxes.c input_assign_text (in, status_format[3]); in 350 src/filemanager/boxes.c widget_disable (WIDGET (in), TRUE); in 351 src/filemanager/boxes.c input_assign_text (in, status_format[r->sel]); in 249 src/filemanager/command.c command_insert (WInput *in, const char *text, gboolean insert_extra_space) in 256 src/filemanager/command.c input_insert (in, quoted_text, insert_extra_space); in 24 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);