201 |
log_start (new_buffer); |
log_start (new_buffer); |
202 |
|
|
203 |
/* init input buffer */ |
/* init input buffer */ |
204 |
new_buffer->input_buffer_alloc = INPUT_BUFFER_BLOCK_SIZE; |
new_buffer->has_input = (new_buffer->dcc) ? 0 : 1; |
205 |
new_buffer->input_buffer = (char *) malloc (INPUT_BUFFER_BLOCK_SIZE); |
if (new_buffer->has_input) |
206 |
new_buffer->input_buffer[0] = '\0'; |
{ |
207 |
|
new_buffer->input_buffer_alloc = INPUT_BUFFER_BLOCK_SIZE; |
208 |
|
new_buffer->input_buffer = (char *) malloc (INPUT_BUFFER_BLOCK_SIZE); |
209 |
|
new_buffer->input_buffer[0] = '\0'; |
210 |
|
} |
211 |
|
else |
212 |
|
new_buffer->input_buffer = NULL; |
213 |
new_buffer->input_buffer_size = 0; |
new_buffer->input_buffer_size = 0; |
214 |
new_buffer->input_buffer_pos = 0; |
new_buffer->input_buffer_pos = 0; |
215 |
new_buffer->input_buffer_1st_display = 0; |
new_buffer->input_buffer_1st_display = 0; |
571 |
{ |
{ |
572 |
int optimal_size; |
int optimal_size; |
573 |
|
|
574 |
optimal_size = ((buffer->input_buffer_size / INPUT_BUFFER_BLOCK_SIZE) * |
if (buffer->has_input) |
575 |
INPUT_BUFFER_BLOCK_SIZE) + INPUT_BUFFER_BLOCK_SIZE; |
{ |
576 |
if (buffer->input_buffer_alloc != optimal_size) |
optimal_size = ((buffer->input_buffer_size / INPUT_BUFFER_BLOCK_SIZE) * |
577 |
|
INPUT_BUFFER_BLOCK_SIZE) + INPUT_BUFFER_BLOCK_SIZE; |
578 |
|
if (buffer->input_buffer_alloc != optimal_size) |
579 |
|
{ |
580 |
|
buffer->input_buffer_alloc = optimal_size; |
581 |
|
buffer->input_buffer = realloc (buffer->input_buffer, optimal_size); |
582 |
|
} |
583 |
|
} |
584 |
|
} |
585 |
|
|
586 |
|
/* |
587 |
|
* gui_input_clipboard_copy: copy string into clipboard |
588 |
|
*/ |
589 |
|
|
590 |
|
void |
591 |
|
gui_input_clipboard_copy (char *buffer, int size) |
592 |
|
{ |
593 |
|
if (size <= 0) |
594 |
|
return; |
595 |
|
|
596 |
|
if (gui_input_clipboard != NULL) |
597 |
|
free(gui_input_clipboard); |
598 |
|
|
599 |
|
gui_input_clipboard = (char *) malloc( (size + 1) * sizeof(*gui_input_clipboard)); |
600 |
|
|
601 |
|
if (gui_input_clipboard) |
602 |
{ |
{ |
603 |
buffer->input_buffer_alloc = optimal_size; |
memcpy(gui_input_clipboard, buffer, size); |
604 |
buffer->input_buffer = realloc (buffer->input_buffer, optimal_size); |
gui_input_clipboard[size] = '\0'; |
605 |
|
} |
606 |
|
} |
607 |
|
|
608 |
|
/* |
609 |
|
* gui_input_clipboard_paste: paste clipboard at cursor pos in input line |
610 |
|
*/ |
611 |
|
|
612 |
|
void |
613 |
|
gui_input_clipboard_paste () |
614 |
|
{ |
615 |
|
if (gui_current_window->buffer->has_input && gui_input_clipboard) |
616 |
|
{ |
617 |
|
gui_input_insert_string (gui_input_clipboard, gui_current_window->buffer->input_buffer_pos); |
618 |
|
gui_current_window->buffer->input_buffer_pos += strlen (gui_input_clipboard); |
619 |
|
gui_draw_buffer_input (gui_current_window->buffer, 0); |
620 |
|
gui_current_window->buffer->completion.position = -1; |
621 |
} |
} |
622 |
} |
} |
623 |
|
|
624 |
/* |
/* |
625 |
* gui_input_insert_string: insert a string into the input buffer |
* gui_input_insert_string: insert a string into the input buffer |
626 |
|
* if pos == -1, string is inserted at cursor position |
627 |
*/ |
*/ |
628 |
|
|
629 |
void |
void |
631 |
{ |
{ |
632 |
int i, start, end, length; |
int i, start, end, length; |
633 |
|
|
634 |
length = strlen (string); |
if (gui_current_window->buffer->has_input) |
635 |
|
{ |
636 |
/* increase buffer size */ |
if (pos == -1) |
637 |
gui_current_window->buffer->input_buffer_size += length; |
pos = gui_current_window->buffer->input_buffer_pos; |
638 |
gui_input_optimize_buffer_size (gui_current_window->buffer); |
|
639 |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; |
length = strlen (string); |
640 |
|
|
641 |
/* move end of string to the right */ |
/* increase buffer size */ |
642 |
start = pos + length; |
gui_current_window->buffer->input_buffer_size += length; |
643 |
end = gui_current_window->buffer->input_buffer_size - 1; |
gui_input_optimize_buffer_size (gui_current_window->buffer); |
644 |
for (i = end; i >= start; i--) |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; |
645 |
gui_current_window->buffer->input_buffer[i] = |
|
646 |
gui_current_window->buffer->input_buffer[i - length]; |
/* move end of string to the right */ |
647 |
|
start = pos + length; |
648 |
/* insert new string */ |
end = gui_current_window->buffer->input_buffer_size - 1; |
649 |
strncpy (gui_current_window->buffer->input_buffer + pos, string, length); |
for (i = end; i >= start; i--) |
650 |
|
gui_current_window->buffer->input_buffer[i] = |
651 |
|
gui_current_window->buffer->input_buffer[i - length]; |
652 |
|
|
653 |
|
/* insert new string */ |
654 |
|
strncpy (gui_current_window->buffer->input_buffer + pos, string, length); |
655 |
|
} |
656 |
} |
} |
657 |
|
|
658 |
/* |
/* |
737 |
break; |
break; |
738 |
} |
} |
739 |
} |
} |
740 |
else |
else if (gui_current_window->buffer->has_input) |
741 |
{ |
{ |
742 |
/*gui_printf (gui_current_window->buffer, |
/*gui_printf (gui_current_window->buffer, |
743 |
"[Debug] key pressed = %d, hex = %02X, octal = %o\n", key, key, key);*/ |
"[Debug] key pressed = %d, hex = %02X, octal = %o\n", key, key, key);*/ |
761 |
{ |
{ |
762 |
t_gui_buffer *ptr_buffer; |
t_gui_buffer *ptr_buffer; |
763 |
|
|
764 |
if (!gui_current_window->buffer->dcc) |
if (gui_current_window->buffer->has_input) |
765 |
{ |
{ |
766 |
if (gui_current_window->buffer->input_buffer_size > 0) |
if (gui_current_window->buffer->input_buffer_size > 0) |
767 |
{ |
{ |
794 |
{ |
{ |
795 |
int i; |
int i; |
796 |
|
|
797 |
if (!gui_current_window->buffer->dcc) |
if (gui_current_window->buffer->has_input) |
798 |
{ |
{ |
799 |
completion_search (&(gui_current_window->buffer->completion), |
completion_search (&(gui_current_window->buffer->completion), |
800 |
CHANNEL(gui_current_window->buffer), |
CHANNEL(gui_current_window->buffer), |
891 |
{ |
{ |
892 |
int i; |
int i; |
893 |
|
|
894 |
if (!gui_current_window->buffer->dcc) |
if (gui_current_window->buffer->has_input) |
895 |
{ |
{ |
896 |
if (gui_current_window->buffer->input_buffer_pos > 0) |
if (gui_current_window->buffer->input_buffer_pos > 0) |
897 |
{ |
{ |
921 |
{ |
{ |
922 |
int i; |
int i; |
923 |
|
|
924 |
if (!gui_current_window->buffer->dcc) |
if (gui_current_window->buffer->has_input) |
925 |
{ |
{ |
926 |
if (gui_current_window->buffer->input_buffer_pos < |
if (gui_current_window->buffer->input_buffer_pos < |
927 |
gui_current_window->buffer->input_buffer_size) |
gui_current_window->buffer->input_buffer_size) |
951 |
{ |
{ |
952 |
int i, j, num_char_deleted, num_char_end; |
int i, j, num_char_deleted, num_char_end; |
953 |
|
|
954 |
if (gui_current_window->buffer->input_buffer_pos > 0) |
if (gui_current_window->buffer->has_input) |
955 |
{ |
{ |
956 |
i = gui_current_window->buffer->input_buffer_pos - 1; |
if (gui_current_window->buffer->input_buffer_pos > 0) |
|
while ((i >= 0) && |
|
|
(gui_current_window->buffer->input_buffer[i] == ' ')) |
|
|
i--; |
|
|
if (i >= 0) |
|
957 |
{ |
{ |
958 |
|
i = gui_current_window->buffer->input_buffer_pos - 1; |
959 |
while ((i >= 0) && |
while ((i >= 0) && |
960 |
(gui_current_window->buffer->input_buffer[i] != ' ')) |
(gui_current_window->buffer->input_buffer[i] == ' ')) |
961 |
i--; |
i--; |
962 |
if (i >= 0) |
if (i >= 0) |
963 |
{ |
{ |
964 |
while ((i >= 0) && |
while ((i >= 0) && |
965 |
(gui_current_window->buffer->input_buffer[i] == ' ')) |
(gui_current_window->buffer->input_buffer[i] != ' ')) |
966 |
i--; |
i--; |
967 |
|
if (i >= 0) |
968 |
|
{ |
969 |
|
while ((i >= 0) && |
970 |
|
(gui_current_window->buffer->input_buffer[i] == ' ')) |
971 |
|
i--; |
972 |
|
} |
973 |
} |
} |
974 |
} |
|
975 |
|
if (i >= 0) |
976 |
if (i >= 0) |
i++; |
977 |
i++; |
i++; |
978 |
i++; |
num_char_deleted = gui_current_window->buffer->input_buffer_pos - i; |
979 |
num_char_deleted = gui_current_window->buffer->input_buffer_pos - i; |
num_char_end = gui_current_window->buffer->input_buffer_size - |
980 |
num_char_end = gui_current_window->buffer->input_buffer_size - |
gui_current_window->buffer->input_buffer_pos; |
981 |
gui_current_window->buffer->input_buffer_pos; |
|
982 |
|
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer + |
983 |
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer + |
gui_current_window->buffer->input_buffer_pos - num_char_deleted, |
984 |
gui_current_window->buffer->input_buffer_pos - num_char_deleted, |
num_char_deleted); |
985 |
num_char_deleted); |
|
986 |
|
for (j = 0; j < num_char_end; j++) |
987 |
for (j = 0; j < num_char_end; j++) |
gui_current_window->buffer->input_buffer[i + j] = |
988 |
gui_current_window->buffer->input_buffer[i + j] = |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos + j]; |
989 |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos + j]; |
|
990 |
|
gui_current_window->buffer->input_buffer_size -= num_char_deleted; |
991 |
gui_current_window->buffer->input_buffer_size -= num_char_deleted; |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; |
992 |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; |
gui_current_window->buffer->input_buffer_pos = i; |
993 |
gui_current_window->buffer->input_buffer_pos = i; |
gui_draw_buffer_input (gui_current_window->buffer, 0); |
994 |
gui_draw_buffer_input (gui_current_window->buffer, 0); |
gui_input_optimize_buffer_size (gui_current_window->buffer); |
995 |
gui_input_optimize_buffer_size (gui_current_window->buffer); |
gui_current_window->buffer->completion.position = -1; |
996 |
gui_current_window->buffer->completion.position = -1; |
} |
997 |
} |
} |
998 |
} |
} |
999 |
|
|
1006 |
{ |
{ |
1007 |
int i, j, num_char_deleted; |
int i, j, num_char_deleted; |
1008 |
|
|
1009 |
i = gui_current_window->buffer->input_buffer_pos; |
if (gui_current_window->buffer->has_input) |
|
while (i < gui_current_window->buffer->input_buffer_size) |
|
1010 |
{ |
{ |
1011 |
if ((gui_current_window->buffer->input_buffer[i] == ' ') |
i = gui_current_window->buffer->input_buffer_pos; |
1012 |
&& i != gui_current_window->buffer->input_buffer_pos) |
while (i < gui_current_window->buffer->input_buffer_size) |
1013 |
break; |
{ |
1014 |
i++; |
if ((gui_current_window->buffer->input_buffer[i] == ' ') |
1015 |
} |
&& i != gui_current_window->buffer->input_buffer_pos) |
1016 |
num_char_deleted = i - gui_current_window->buffer->input_buffer_pos; |
break; |
1017 |
|
i++; |
1018 |
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer + |
} |
1019 |
gui_current_window->buffer->input_buffer_pos, num_char_deleted); |
num_char_deleted = i - gui_current_window->buffer->input_buffer_pos; |
1020 |
|
|
1021 |
for (j = i; j < gui_current_window->buffer->input_buffer_size; j++) |
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer + |
1022 |
gui_current_window->buffer->input_buffer[j - num_char_deleted] = |
gui_current_window->buffer->input_buffer_pos, num_char_deleted); |
1023 |
gui_current_window->buffer->input_buffer[j]; |
|
1024 |
|
for (j = i; j < gui_current_window->buffer->input_buffer_size; j++) |
1025 |
gui_current_window->buffer->input_buffer_size -= num_char_deleted; |
gui_current_window->buffer->input_buffer[j - num_char_deleted] = |
1026 |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; |
gui_current_window->buffer->input_buffer[j]; |
1027 |
gui_draw_buffer_input (gui_current_window->buffer, 0); |
|
1028 |
gui_input_optimize_buffer_size (gui_current_window->buffer); |
gui_current_window->buffer->input_buffer_size -= num_char_deleted; |
1029 |
gui_current_window->buffer->completion.position = -1; |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; |
1030 |
|
gui_draw_buffer_input (gui_current_window->buffer, 0); |
1031 |
|
gui_input_optimize_buffer_size (gui_current_window->buffer); |
1032 |
|
gui_current_window->buffer->completion.position = -1; |
1033 |
|
} |
1034 |
} |
} |
1035 |
|
|
1036 |
/* |
/* |
1040 |
void |
void |
1041 |
gui_input_delete_begin_of_line () |
gui_input_delete_begin_of_line () |
1042 |
{ |
{ |
1043 |
if (gui_current_window->buffer->input_buffer_pos > 0) |
int i; |
|
{ |
|
|
int i; |
|
|
|
|
|
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer, |
|
|
gui_current_window->buffer->input_buffer_pos); |
|
1044 |
|
|
1045 |
for (i = gui_current_window->buffer->input_buffer_pos; |
if (gui_current_window->buffer->has_input) |
1046 |
i < gui_current_window->buffer->input_buffer_size; i++) |
{ |
1047 |
gui_current_window->buffer->input_buffer[i - gui_current_window->buffer->input_buffer_pos] = |
if (gui_current_window->buffer->input_buffer_pos > 0) |
1048 |
gui_current_window->buffer->input_buffer[i]; |
{ |
1049 |
|
gui_input_clipboard_copy (gui_current_window->buffer->input_buffer, |
1050 |
gui_current_window->buffer->input_buffer_size -= |
gui_current_window->buffer->input_buffer_pos); |
1051 |
gui_current_window->buffer->input_buffer_pos; |
|
1052 |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; |
for (i = gui_current_window->buffer->input_buffer_pos; |
1053 |
gui_current_window->buffer->input_buffer_pos = 0; |
i < gui_current_window->buffer->input_buffer_size; i++) |
1054 |
gui_draw_buffer_input (gui_current_window->buffer, 0); |
gui_current_window->buffer->input_buffer[i - gui_current_window->buffer->input_buffer_pos] = |
1055 |
gui_input_optimize_buffer_size (gui_current_window->buffer); |
gui_current_window->buffer->input_buffer[i]; |
1056 |
gui_current_window->buffer->completion.position = -1; |
|
1057 |
|
gui_current_window->buffer->input_buffer_size -= |
1058 |
|
gui_current_window->buffer->input_buffer_pos; |
1059 |
|
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; |
1060 |
|
gui_current_window->buffer->input_buffer_pos = 0; |
1061 |
|
gui_draw_buffer_input (gui_current_window->buffer, 0); |
1062 |
|
gui_input_optimize_buffer_size (gui_current_window->buffer); |
1063 |
|
gui_current_window->buffer->completion.position = -1; |
1064 |
|
} |
1065 |
} |
} |
1066 |
} |
} |
1067 |
|
|
1072 |
void |
void |
1073 |
gui_input_delete_end_of_line () |
gui_input_delete_end_of_line () |
1074 |
{ |
{ |
1075 |
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer + |
if (gui_current_window->buffer->has_input) |
1076 |
gui_current_window->buffer->input_buffer_pos, |
{ |
1077 |
gui_current_window->buffer->input_buffer_size - |
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer + |
1078 |
gui_current_window->buffer->input_buffer_pos); |
gui_current_window->buffer->input_buffer_pos, |
1079 |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] = ' '; |
gui_current_window->buffer->input_buffer_size - |
1080 |
gui_current_window->buffer->input_buffer_size = gui_current_window->buffer->input_buffer_pos ; |
gui_current_window->buffer->input_buffer_pos); |
1081 |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] = ' '; |
1082 |
gui_draw_buffer_input (gui_current_window->buffer, 0); |
gui_current_window->buffer->input_buffer_size = gui_current_window->buffer->input_buffer_pos ; |
1083 |
gui_input_optimize_buffer_size (gui_current_window->buffer); |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0'; |
1084 |
gui_current_window->buffer->completion.position = -1; |
gui_draw_buffer_input (gui_current_window->buffer, 0); |
1085 |
|
gui_input_optimize_buffer_size (gui_current_window->buffer); |
1086 |
|
gui_current_window->buffer->completion.position = -1; |
1087 |
|
} |
1088 |
} |
} |
1089 |
|
|
1090 |
/* |
/* |
1094 |
void |
void |
1095 |
gui_input_delete_line () |
gui_input_delete_line () |
1096 |
{ |
{ |
1097 |
gui_current_window->buffer->input_buffer[0] = '\0'; |
if (gui_current_window->buffer->has_input) |
1098 |
gui_current_window->buffer->input_buffer_size = 0; |
{ |
1099 |
gui_current_window->buffer->input_buffer_pos = 0; |
gui_current_window->buffer->input_buffer[0] = '\0'; |
1100 |
gui_draw_buffer_input (gui_current_window->buffer, 0); |
gui_current_window->buffer->input_buffer_size = 0; |
1101 |
gui_input_optimize_buffer_size (gui_current_window->buffer); |
gui_current_window->buffer->input_buffer_pos = 0; |
1102 |
gui_current_window->buffer->completion.position = -1; |
gui_draw_buffer_input (gui_current_window->buffer, 0); |
1103 |
|
gui_input_optimize_buffer_size (gui_current_window->buffer); |
1104 |
|
gui_current_window->buffer->completion.position = -1; |
1105 |
|
} |
1106 |
} |
} |
1107 |
|
|
1108 |
/* |
/* |
1115 |
char buf; |
char buf; |
1116 |
int curpos; |
int curpos; |
1117 |
|
|
1118 |
if (gui_current_window->buffer->input_buffer_pos > 0) |
if (gui_current_window->buffer->has_input) |
|
{ |
|
|
curpos = gui_current_window->buffer->input_buffer_pos; |
|
|
if (curpos == gui_current_window->buffer->input_buffer_size) |
|
|
curpos--; |
|
|
else |
|
|
gui_current_window->buffer->input_buffer_pos++; |
|
|
|
|
|
buf = gui_current_window->buffer->input_buffer[curpos]; |
|
|
gui_current_window->buffer->input_buffer[curpos] = |
|
|
gui_current_window->buffer->input_buffer[curpos-1]; |
|
|
gui_current_window->buffer->input_buffer[curpos-1] = buf; |
|
|
|
|
|
gui_draw_buffer_input (gui_current_window->buffer, 0); |
|
|
gui_current_window->buffer->completion.position = -1; |
|
|
} |
|
|
} |
|
|
|
|
|
/* |
|
|
* gui_input_clipboard_paste: paste clipboard at cursor pos in input line |
|
|
*/ |
|
|
|
|
|
void |
|
|
gui_input_clipboard_paste () |
|
|
{ |
|
|
if (gui_input_clipboard) |
|
1119 |
{ |
{ |
1120 |
gui_input_insert_string(gui_input_clipboard, gui_current_window->buffer->input_buffer_pos); |
if (gui_current_window->buffer->input_buffer_pos > 0) |
1121 |
gui_current_window->buffer->input_buffer_pos += strlen(gui_input_clipboard); |
{ |
1122 |
gui_draw_buffer_input (gui_current_window->buffer, 0); |
curpos = gui_current_window->buffer->input_buffer_pos; |
1123 |
gui_current_window->buffer->completion.position = -1; |
if (curpos == gui_current_window->buffer->input_buffer_size) |
1124 |
} |
curpos--; |
1125 |
} |
else |
1126 |
|
gui_current_window->buffer->input_buffer_pos++; |
1127 |
/* |
|
1128 |
* gui_input_clipboard_copy: copy string into clipboard |
buf = gui_current_window->buffer->input_buffer[curpos]; |
1129 |
*/ |
gui_current_window->buffer->input_buffer[curpos] = |
1130 |
|
gui_current_window->buffer->input_buffer[curpos-1]; |
1131 |
void |
gui_current_window->buffer->input_buffer[curpos-1] = buf; |
1132 |
gui_input_clipboard_copy (char *buffer, int size) |
|
1133 |
{ |
gui_draw_buffer_input (gui_current_window->buffer, 0); |
1134 |
if (size <= 0) |
gui_current_window->buffer->completion.position = -1; |
1135 |
return; |
} |
|
|
|
|
if (gui_input_clipboard != NULL) |
|
|
free(gui_input_clipboard); |
|
|
|
|
|
gui_input_clipboard = (char *) malloc( (size + 1) * sizeof(*gui_input_clipboard)); |
|
|
|
|
|
if (gui_input_clipboard) |
|
|
{ |
|
|
memcpy(gui_input_clipboard, buffer, size); |
|
|
gui_input_clipboard[size] = '\0'; |
|
1136 |
} |
} |
1137 |
} |
} |
1138 |
|
|
1143 |
void |
void |
1144 |
gui_input_home () |
gui_input_home () |
1145 |
{ |
{ |
1146 |
if (!gui_current_window->buffer->dcc) |
if (gui_current_window->buffer->has_input) |
1147 |
{ |
{ |
1148 |
if (gui_current_window->buffer->input_buffer_pos > 0) |
if (gui_current_window->buffer->input_buffer_pos > 0) |
1149 |
{ |
{ |
1160 |
void |
void |
1161 |
gui_input_end () |
gui_input_end () |
1162 |
{ |
{ |
1163 |
if (!gui_current_window->buffer->dcc) |
if (gui_current_window->buffer->has_input) |
1164 |
{ |
{ |
1165 |
if (gui_current_window->buffer->input_buffer_pos < |
if (gui_current_window->buffer->input_buffer_pos < |
1166 |
gui_current_window->buffer->input_buffer_size) |
gui_current_window->buffer->input_buffer_size) |
1179 |
void |
void |
1180 |
gui_input_left () |
gui_input_left () |
1181 |
{ |
{ |
1182 |
if (!gui_current_window->buffer->dcc) |
if (gui_current_window->buffer->has_input) |
1183 |
{ |
{ |
1184 |
if (gui_current_window->buffer->input_buffer_pos > 0) |
if (gui_current_window->buffer->input_buffer_pos > 0) |
1185 |
{ |
{ |
1198 |
{ |
{ |
1199 |
int i; |
int i; |
1200 |
|
|
1201 |
if (gui_current_window->buffer->input_buffer_pos > 0) |
if (gui_current_window->buffer->has_input) |
1202 |
{ |
{ |
1203 |
i = gui_current_window->buffer->input_buffer_pos - 1; |
if (gui_current_window->buffer->input_buffer_pos > 0) |
|
while ((i >= 0) && |
|
|
(gui_current_window->buffer->input_buffer[i] == ' ')) |
|
|
i--; |
|
|
if (i < 0) |
|
|
gui_current_window->buffer->input_buffer_pos = 0; |
|
|
else |
|
1204 |
{ |
{ |
1205 |
|
i = gui_current_window->buffer->input_buffer_pos - 1; |
1206 |
while ((i >= 0) && |
while ((i >= 0) && |
1207 |
(gui_current_window->buffer->input_buffer[i] != ' ')) |
(gui_current_window->buffer->input_buffer[i] == ' ')) |
1208 |
i--; |
i--; |
1209 |
gui_current_window->buffer->input_buffer_pos = i + 1; |
if (i < 0) |
1210 |
|
gui_current_window->buffer->input_buffer_pos = 0; |
1211 |
|
else |
1212 |
|
{ |
1213 |
|
while ((i >= 0) && |
1214 |
|
(gui_current_window->buffer->input_buffer[i] != ' ')) |
1215 |
|
i--; |
1216 |
|
gui_current_window->buffer->input_buffer_pos = i + 1; |
1217 |
|
} |
1218 |
|
gui_draw_buffer_input (gui_current_window->buffer, 0); |
1219 |
} |
} |
|
gui_draw_buffer_input (gui_current_window->buffer, 0); |
|
1220 |
} |
} |
1221 |
} |
} |
1222 |
|
|
1227 |
void |
void |
1228 |
gui_input_right () |
gui_input_right () |
1229 |
{ |
{ |
1230 |
if (!gui_current_window->buffer->dcc) |
if (gui_current_window->buffer->has_input) |
1231 |
{ |
{ |
1232 |
if (gui_current_window->buffer->input_buffer_pos < |
if (gui_current_window->buffer->input_buffer_pos < |
1233 |
gui_current_window->buffer->input_buffer_size) |
gui_current_window->buffer->input_buffer_size) |
1247 |
{ |
{ |
1248 |
int i; |
int i; |
1249 |
|
|
1250 |
if (gui_current_window->buffer->input_buffer_pos < |
if (gui_current_window->buffer->has_input) |
|
gui_current_window->buffer->input_buffer_size + 1) |
|
1251 |
{ |
{ |
1252 |
i = gui_current_window->buffer->input_buffer_pos; |
if (gui_current_window->buffer->input_buffer_pos < |
1253 |
while ((i <= gui_current_window->buffer->input_buffer_size) && |
gui_current_window->buffer->input_buffer_size + 1) |
|
(gui_current_window->buffer->input_buffer[i] == ' ')) |
|
|
i++; |
|
|
if (i > gui_current_window->buffer->input_buffer_size) |
|
|
gui_current_window->buffer->input_buffer_pos = i - 1; |
|
|
else |
|
1254 |
{ |
{ |
1255 |
|
i = gui_current_window->buffer->input_buffer_pos; |
1256 |
while ((i <= gui_current_window->buffer->input_buffer_size) && |
while ((i <= gui_current_window->buffer->input_buffer_size) && |
1257 |
(gui_current_window->buffer->input_buffer[i] != ' ')) |
(gui_current_window->buffer->input_buffer[i] == ' ')) |
1258 |
i++; |
i++; |
1259 |
if (i > gui_current_window->buffer->input_buffer_size) |
if (i > gui_current_window->buffer->input_buffer_size) |
1260 |
gui_current_window->buffer->input_buffer_pos = |
gui_current_window->buffer->input_buffer_pos = i - 1; |
|
gui_current_window->buffer->input_buffer_size; |
|
1261 |
else |
else |
1262 |
gui_current_window->buffer->input_buffer_pos = i; |
{ |
1263 |
|
while ((i <= gui_current_window->buffer->input_buffer_size) && |
1264 |
|
(gui_current_window->buffer->input_buffer[i] != ' ')) |
1265 |
|
i++; |
1266 |
|
if (i > gui_current_window->buffer->input_buffer_size) |
1267 |
|
gui_current_window->buffer->input_buffer_pos = |
1268 |
|
gui_current_window->buffer->input_buffer_size; |
1269 |
|
else |
1270 |
|
gui_current_window->buffer->input_buffer_pos = i; |
1271 |
|
|
1272 |
|
} |
1273 |
|
gui_draw_buffer_input (gui_current_window->buffer, 0); |
1274 |
} |
} |
|
gui_draw_buffer_input (gui_current_window->buffer, 0); |
|
1275 |
} |
} |
1276 |
} |
} |
1277 |
|
|
1300 |
} |
} |
1301 |
} |
} |
1302 |
} |
} |
1303 |
else |
else if (gui_current_window->buffer->has_input) |
1304 |
{ |
{ |
1305 |
if (gui_current_window->buffer->ptr_history) |
if (gui_current_window->buffer->ptr_history) |
1306 |
{ |
{ |
1363 |
} |
} |
1364 |
} |
} |
1365 |
} |
} |
1366 |
else |
else if (gui_current_window->buffer->has_input) |
1367 |
{ |
{ |
1368 |
if (gui_current_window->buffer->ptr_history) |
if (gui_current_window->buffer->ptr_history) |
1369 |
{ |
{ |
1440 |
void |
void |
1441 |
gui_input_jump_server () |
gui_input_jump_server () |
1442 |
{ |
{ |
1443 |
if (!gui_current_window->buffer->dcc) |
if (SERVER(gui_current_window->buffer)) |
1444 |
{ |
{ |
1445 |
if (SERVER(gui_current_window->buffer)->buffer != |
if (SERVER(gui_current_window->buffer)->buffer != |
1446 |
gui_current_window->buffer) |
gui_current_window->buffer) |
1462 |
t_irc_server *ptr_server; |
t_irc_server *ptr_server; |
1463 |
t_gui_buffer *ptr_buffer; |
t_gui_buffer *ptr_buffer; |
1464 |
|
|
1465 |
if (!gui_current_window->buffer->dcc) |
if (SERVER(gui_current_window->buffer)) |
1466 |
{ |
{ |
1467 |
ptr_server = SERVER(gui_current_window->buffer)->next_server; |
ptr_server = SERVER(gui_current_window->buffer)->next_server; |
1468 |
if (!ptr_server) |
if (!ptr_server) |
1511 |
} |
} |
1512 |
|
|
1513 |
/* |
/* |
1514 |
|
* gui_input_grab_key: init "grab key mode" (next key will be inserted into input buffer) |
1515 |
|
*/ |
1516 |
|
|
1517 |
|
void |
1518 |
|
gui_input_grab_key () |
1519 |
|
{ |
1520 |
|
if (gui_current_window->buffer->has_input) |
1521 |
|
gui_key_init_grab (); |
1522 |
|
} |
1523 |
|
|
1524 |
|
/* |
1525 |
* gui_switch_to_previous_buffer: switch to previous buffer |
* gui_switch_to_previous_buffer: switch to previous buffer |
1526 |
*/ |
*/ |
1527 |
|
|
1791 |
wee_log_printf (" notify_level . . . . : %d\n", buffer->notify_level); |
wee_log_printf (" notify_level . . . . : %d\n", buffer->notify_level); |
1792 |
wee_log_printf (" log_filename . . . . : '%s'\n", buffer->log_filename); |
wee_log_printf (" log_filename . . . . : '%s'\n", buffer->log_filename); |
1793 |
wee_log_printf (" log_file . . . . . . : 0x%X\n", buffer->log_file); |
wee_log_printf (" log_file . . . . . . : 0x%X\n", buffer->log_file); |
1794 |
|
wee_log_printf (" has_input. . . . . . : %d\n", buffer->has_input); |
1795 |
wee_log_printf (" input_buffer . . . . : '%s'\n", buffer->input_buffer); |
wee_log_printf (" input_buffer . . . . : '%s'\n", buffer->input_buffer); |
1796 |
wee_log_printf (" input_buffer_alloc . : %d\n", buffer->input_buffer_alloc); |
wee_log_printf (" input_buffer_alloc . : %d\n", buffer->input_buffer_alloc); |
1797 |
wee_log_printf (" input_buffer_size. . : %d\n", buffer->input_buffer_size); |
wee_log_printf (" input_buffer_size. . : %d\n", buffer->input_buffer_size); |