56 |
t_gui_buffer *buffer_before_dcc = NULL; /* buffer before dcc switch */ |
t_gui_buffer *buffer_before_dcc = NULL; /* buffer before dcc switch */ |
57 |
t_gui_infobar *gui_infobar; /* pointer to infobar content */ |
t_gui_infobar *gui_infobar; /* pointer to infobar content */ |
58 |
|
|
59 |
|
char *gui_input_clipboard = NULL; /* buffer to store clipboard content */ |
60 |
|
|
61 |
/* |
/* |
62 |
* gui_window_new: create a new window |
* gui_window_new: create a new window |
922 |
num_char_deleted = gui_current_window->buffer->input_buffer_pos - i; |
num_char_deleted = gui_current_window->buffer->input_buffer_pos - i; |
923 |
num_char_end = gui_current_window->buffer->input_buffer_size - |
num_char_end = gui_current_window->buffer->input_buffer_size - |
924 |
gui_current_window->buffer->input_buffer_pos; |
gui_current_window->buffer->input_buffer_pos; |
925 |
|
|
926 |
|
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer + |
927 |
|
gui_current_window->buffer->input_buffer_pos - num_char_deleted, |
928 |
|
num_char_deleted); |
929 |
|
|
930 |
for (j = 0; j < num_char_end; j++) |
for (j = 0; j < num_char_end; j++) |
931 |
gui_current_window->buffer->input_buffer[i + j] = |
gui_current_window->buffer->input_buffer[i + j] = |
958 |
i++; |
i++; |
959 |
} |
} |
960 |
num_char_deleted = i - gui_current_window->buffer->input_buffer_pos; |
num_char_deleted = i - gui_current_window->buffer->input_buffer_pos; |
961 |
|
|
962 |
|
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer + |
963 |
|
gui_current_window->buffer->input_buffer_pos, num_char_deleted); |
964 |
|
|
965 |
for (j = i; j < gui_current_window->buffer->input_buffer_size; j++) |
for (j = i; j < gui_current_window->buffer->input_buffer_size; j++) |
966 |
gui_current_window->buffer->input_buffer[j - num_char_deleted] = |
gui_current_window->buffer->input_buffer[j - num_char_deleted] = |
982 |
{ |
{ |
983 |
int i; |
int i; |
984 |
|
|
985 |
|
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer, |
986 |
|
gui_current_window->buffer->input_buffer_pos); |
987 |
|
|
988 |
for (i = gui_current_window->buffer->input_buffer_pos; |
for (i = gui_current_window->buffer->input_buffer_pos; |
989 |
i < gui_current_window->buffer->input_buffer_size; i++) |
i < gui_current_window->buffer->input_buffer_size; i++) |
990 |
gui_current_window->buffer->input_buffer[i - gui_current_window->buffer->input_buffer_pos] = |
gui_current_window->buffer->input_buffer[i - gui_current_window->buffer->input_buffer_pos] = |
1006 |
void |
void |
1007 |
gui_input_delete_end_of_line () |
gui_input_delete_end_of_line () |
1008 |
{ |
{ |
1009 |
|
gui_input_clipboard_copy(gui_current_window->buffer->input_buffer + |
1010 |
|
gui_current_window->buffer->input_buffer_pos, |
1011 |
|
gui_current_window->buffer->input_buffer_size-1); |
1012 |
|
|
1013 |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] = ' '; |
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_pos] = ' '; |
1014 |
gui_current_window->buffer->input_buffer_size = gui_current_window->buffer->input_buffer_pos ; |
gui_current_window->buffer->input_buffer_size = gui_current_window->buffer->input_buffer_pos ; |
1015 |
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_size] = '\0'; |
1034 |
} |
} |
1035 |
|
|
1036 |
/* |
/* |
1037 |
|
* gui_input_transpose_chars: transpose chars (on lth left) at cursor pos |
1038 |
|
*/ |
1039 |
|
|
1040 |
|
void |
1041 |
|
gui_input_transpose_chars () |
1042 |
|
{ |
1043 |
|
char buf; |
1044 |
|
int curpos; |
1045 |
|
|
1046 |
|
if (gui_current_window->buffer->input_buffer_pos > 0) |
1047 |
|
{ |
1048 |
|
curpos = gui_current_window->buffer->input_buffer_pos; |
1049 |
|
if (curpos == gui_current_window->buffer->input_buffer_size) |
1050 |
|
curpos--; |
1051 |
|
else |
1052 |
|
gui_current_window->buffer->input_buffer_pos++; |
1053 |
|
|
1054 |
|
buf = gui_current_window->buffer->input_buffer[curpos]; |
1055 |
|
gui_current_window->buffer->input_buffer[curpos] = |
1056 |
|
gui_current_window->buffer->input_buffer[curpos-1]; |
1057 |
|
gui_current_window->buffer->input_buffer[curpos-1] = buf; |
1058 |
|
|
1059 |
|
gui_draw_buffer_input (gui_current_window->buffer, 0); |
1060 |
|
gui_current_window->buffer->completion.position = -1; |
1061 |
|
} |
1062 |
|
} |
1063 |
|
|
1064 |
|
/* |
1065 |
|
* gui_input_clipboard_paste: paste clipboard at cursor pos in input line |
1066 |
|
*/ |
1067 |
|
|
1068 |
|
void |
1069 |
|
gui_input_clipboard_paste () |
1070 |
|
{ |
1071 |
|
if (gui_input_clipboard) |
1072 |
|
{ |
1073 |
|
gui_input_insert_string(gui_input_clipboard, gui_current_window->buffer->input_buffer_pos); |
1074 |
|
gui_current_window->buffer->input_buffer_pos += strlen(gui_input_clipboard); |
1075 |
|
gui_draw_buffer_input (gui_current_window->buffer, 0); |
1076 |
|
gui_current_window->buffer->completion.position = -1; |
1077 |
|
} |
1078 |
|
} |
1079 |
|
|
1080 |
|
/* |
1081 |
|
* gui_input_clipboard_copy: copy string into clipboard |
1082 |
|
*/ |
1083 |
|
|
1084 |
|
void |
1085 |
|
gui_input_clipboard_copy (char *buffer, int size) |
1086 |
|
{ |
1087 |
|
|
1088 |
|
if (gui_input_clipboard != NULL) |
1089 |
|
free(gui_input_clipboard); |
1090 |
|
|
1091 |
|
gui_input_clipboard = (char *) malloc( (size + 1) * sizeof(*gui_input_clipboard)); |
1092 |
|
|
1093 |
|
if (gui_input_clipboard) |
1094 |
|
{ |
1095 |
|
memcpy(gui_input_clipboard, buffer, size); |
1096 |
|
gui_input_clipboard[size] = '\0'; |
1097 |
|
} |
1098 |
|
} |
1099 |
|
|
1100 |
|
/* |
1101 |
* gui_input_home: home key |
* gui_input_home: home key |
1102 |
*/ |
*/ |
1103 |
|
|