mirror of
https://github.com/weechat/weechat.git
synced 2026-07-02 07:46:38 +02:00
Aspell plugin is born again
This commit is contained in:
+15
-2
@@ -570,9 +570,9 @@ gui_bar_item_free (struct t_gui_bar_item *item)
|
||||
{
|
||||
/* remove bar item from bar items list */
|
||||
if (item->prev_item)
|
||||
item->prev_item->next_item = item->next_item;
|
||||
(item->prev_item)->next_item = item->next_item;
|
||||
if (item->next_item)
|
||||
item->next_item->prev_item = item->prev_item;
|
||||
(item->next_item)->prev_item = item->prev_item;
|
||||
if (gui_bar_items == item)
|
||||
gui_bar_items = item->next_item;
|
||||
if (last_gui_bar_item == item)
|
||||
@@ -751,6 +751,8 @@ gui_bar_item_default_input_text (void *data, struct t_gui_bar_item *item,
|
||||
struct t_gui_window *window,
|
||||
int max_width, int max_height)
|
||||
{
|
||||
char *new_input, str_buffer[128];
|
||||
|
||||
/* make C compiler happy */
|
||||
(void) data;
|
||||
(void) item;
|
||||
@@ -759,6 +761,17 @@ gui_bar_item_default_input_text (void *data, struct t_gui_bar_item *item,
|
||||
|
||||
if (!window)
|
||||
window = gui_current_window;
|
||||
|
||||
snprintf (str_buffer, sizeof (str_buffer),
|
||||
"0x%x", (unsigned int)(window->buffer));
|
||||
|
||||
new_input = hook_modifier_exec (NULL,
|
||||
"weechat_input_text_display",
|
||||
str_buffer,
|
||||
(window->buffer->input_buffer) ?
|
||||
window->buffer->input_buffer : "");
|
||||
if (new_input)
|
||||
return new_input;
|
||||
|
||||
return (window->buffer->input_buffer) ?
|
||||
strdup (window->buffer->input_buffer) : NULL;
|
||||
|
||||
@@ -118,12 +118,12 @@ gui_buffer_insert (struct t_gui_buffer *buffer)
|
||||
/* add buffer to the end */
|
||||
buffer->number = (last_gui_buffer) ? last_gui_buffer->number + 1 : 1;
|
||||
buffer->prev_buffer = last_gui_buffer;
|
||||
buffer->next_buffer = NULL;
|
||||
if (gui_buffers)
|
||||
last_gui_buffer->next_buffer = buffer;
|
||||
else
|
||||
gui_buffers = buffer;
|
||||
last_gui_buffer = buffer;
|
||||
buffer->next_buffer = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,9 +205,7 @@ gui_buffer_new (struct t_weechat_plugin *plugin,
|
||||
new_buffer->input_nick = NULL;
|
||||
new_buffer->input_buffer_alloc = GUI_BUFFER_INPUT_BLOCK_SIZE;
|
||||
new_buffer->input_buffer = malloc (GUI_BUFFER_INPUT_BLOCK_SIZE);
|
||||
new_buffer->input_buffer_color_mask = malloc (GUI_BUFFER_INPUT_BLOCK_SIZE);
|
||||
new_buffer->input_buffer[0] = '\0';
|
||||
new_buffer->input_buffer_color_mask[0] = '\0';
|
||||
new_buffer->input_buffer_size = 0;
|
||||
new_buffer->input_buffer_length = 0;
|
||||
new_buffer->input_buffer_pos = 0;
|
||||
@@ -994,8 +992,6 @@ gui_buffer_close (struct t_gui_buffer *buffer, int switch_to_another)
|
||||
free (buffer->name);
|
||||
if (buffer->input_buffer)
|
||||
free (buffer->input_buffer);
|
||||
if (buffer->input_buffer_color_mask)
|
||||
free (buffer->input_buffer_color_mask);
|
||||
if (buffer->completion)
|
||||
gui_completion_free (buffer->completion);
|
||||
gui_history_buffer_free (buffer);
|
||||
@@ -1011,9 +1007,9 @@ gui_buffer_close (struct t_gui_buffer *buffer, int switch_to_another)
|
||||
|
||||
/* remove buffer from buffers list */
|
||||
if (buffer->prev_buffer)
|
||||
buffer->prev_buffer->next_buffer = buffer->next_buffer;
|
||||
(buffer->prev_buffer)->next_buffer = buffer->next_buffer;
|
||||
if (buffer->next_buffer)
|
||||
buffer->next_buffer->prev_buffer = buffer->prev_buffer;
|
||||
(buffer->next_buffer)->prev_buffer = buffer->prev_buffer;
|
||||
if (gui_buffers == buffer)
|
||||
gui_buffers = buffer->next_buffer;
|
||||
if (last_gui_buffer == buffer)
|
||||
@@ -1449,7 +1445,6 @@ gui_buffer_print_log ()
|
||||
log_printf (" input_callback_data. . : 0x%x", ptr_buffer->input_callback_data);
|
||||
log_printf (" input_nick . . . . . . : '%s'", ptr_buffer->input_nick);
|
||||
log_printf (" input_buffer . . . . . : '%s'", ptr_buffer->input_buffer);
|
||||
log_printf (" input_buffer_color_mask: '%s'", ptr_buffer->input_buffer_color_mask);
|
||||
log_printf (" input_buffer_alloc . . : %d", ptr_buffer->input_buffer_alloc);
|
||||
log_printf (" input_buffer_size. . . : %d", ptr_buffer->input_buffer_size);
|
||||
log_printf (" input_buffer_length. . : %d", ptr_buffer->input_buffer_length);
|
||||
|
||||
@@ -121,7 +121,6 @@ struct t_gui_buffer
|
||||
/* to this buffer */
|
||||
char *input_nick; /* self nick */
|
||||
char *input_buffer; /* input buffer */
|
||||
char *input_buffer_color_mask; /* color mask for input buffer */
|
||||
int input_buffer_alloc; /* input buffer: allocated size */
|
||||
int input_buffer_size; /* buffer size in bytes */
|
||||
int input_buffer_length; /* number of chars in buffer */
|
||||
|
||||
+2
-2
@@ -680,9 +680,9 @@ gui_chat_line_free (struct t_gui_buffer *buffer, struct t_gui_line *line)
|
||||
|
||||
/* remove line from lines list */
|
||||
if (line->prev_line)
|
||||
line->prev_line->next_line = line->next_line;
|
||||
(line->prev_line)->next_line = line->next_line;
|
||||
if (line->next_line)
|
||||
line->next_line->prev_line = line->prev_line;
|
||||
(line->next_line)->prev_line = line->prev_line;
|
||||
if (buffer->lines == line)
|
||||
buffer->lines = line->next_line;
|
||||
if (buffer->last_line == line)
|
||||
|
||||
@@ -156,9 +156,9 @@ gui_completion_partial_list_free (struct t_gui_completion_partial *item)
|
||||
{
|
||||
/* remove partial completion item from list */
|
||||
if (item->prev_item)
|
||||
item->prev_item->next_item = item->next_item;
|
||||
(item->prev_item)->next_item = item->next_item;
|
||||
if (item->next_item)
|
||||
item->next_item->prev_item = item->prev_item;
|
||||
(item->next_item)->prev_item = item->prev_item;
|
||||
if (gui_completion_partial_list == item)
|
||||
gui_completion_partial_list = item->next_item;
|
||||
if (last_gui_completion_partial == item)
|
||||
|
||||
@@ -381,9 +381,9 @@ gui_filter_free (struct t_gui_filter *filter)
|
||||
|
||||
/* remove filter from filters list */
|
||||
if (filter->prev_filter)
|
||||
filter->prev_filter->next_filter = filter->next_filter;
|
||||
(filter->prev_filter)->next_filter = filter->next_filter;
|
||||
if (filter->next_filter)
|
||||
filter->next_filter->prev_filter = filter->prev_filter;
|
||||
(filter->next_filter)->prev_filter = filter->prev_filter;
|
||||
if (gui_filters == filter)
|
||||
gui_filters = filter->next_filter;
|
||||
if (last_gui_filter == filter)
|
||||
|
||||
+1
-64
@@ -114,29 +114,10 @@ gui_input_optimize_size (struct t_gui_buffer *buffer)
|
||||
{
|
||||
buffer->input_buffer_alloc = optimal_size;
|
||||
buffer->input_buffer = realloc (buffer->input_buffer, optimal_size);
|
||||
buffer->input_buffer_color_mask = realloc (buffer->input_buffer_color_mask,
|
||||
optimal_size);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_input_init_color_mask: initialize color mask for input buffer
|
||||
*/
|
||||
|
||||
void
|
||||
gui_input_init_color_mask (struct t_gui_buffer *buffer)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (buffer->input)
|
||||
{
|
||||
for (i = 0; i < buffer->input_buffer_size; i++)
|
||||
buffer->input_buffer_color_mask[i] = ' ';
|
||||
buffer->input_buffer_color_mask[buffer->input_buffer_size] = '\0';
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* gui_input_move: move data in input buffer
|
||||
*/
|
||||
@@ -151,8 +132,6 @@ gui_input_move (struct t_gui_buffer *buffer, char *target, const char *source,
|
||||
pos_source = source - buffer->input_buffer;
|
||||
|
||||
memmove (target, source, size);
|
||||
memmove (buffer->input_buffer_color_mask + pos_target,
|
||||
buffer->input_buffer_color_mask + pos_source, size);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -166,7 +145,7 @@ int
|
||||
gui_input_insert_string (struct t_gui_buffer *buffer, const char *string,
|
||||
int pos)
|
||||
{
|
||||
int i, pos_start, size, length;
|
||||
int pos_start, size, length;
|
||||
char *ptr_start;
|
||||
char *buffer_before_insert, *string2;
|
||||
|
||||
@@ -187,24 +166,16 @@ gui_input_insert_string (struct t_gui_buffer *buffer, const char *string,
|
||||
buffer->input_buffer_length += length;
|
||||
gui_input_optimize_size (buffer);
|
||||
buffer->input_buffer[buffer->input_buffer_size] = '\0';
|
||||
buffer->input_buffer_color_mask[buffer->input_buffer_size] = '\0';
|
||||
|
||||
/* move end of string to the right */
|
||||
ptr_start = utf8_add_offset (buffer->input_buffer, pos);
|
||||
pos_start = ptr_start - buffer->input_buffer;
|
||||
memmove (ptr_start + size, ptr_start, strlen (ptr_start));
|
||||
memmove (buffer->input_buffer_color_mask + pos_start + size,
|
||||
buffer->input_buffer_color_mask + pos_start,
|
||||
strlen (buffer->input_buffer_color_mask + pos_start));
|
||||
|
||||
/* insert new string */
|
||||
ptr_start = utf8_add_offset (buffer->input_buffer, pos);
|
||||
pos_start = ptr_start - buffer->input_buffer;
|
||||
strncpy (ptr_start, string, size);
|
||||
for (i = 0; i < size; i++)
|
||||
{
|
||||
buffer->input_buffer_color_mask[pos_start + i] = ' ';
|
||||
}
|
||||
|
||||
buffer->input_buffer_pos += length;
|
||||
|
||||
@@ -360,7 +331,6 @@ gui_input_return ()
|
||||
else if (gui_current_window->buffer->input_buffer_size > 0)
|
||||
{
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
command = strdup (gui_current_window->buffer->input_buffer);
|
||||
if (!command)
|
||||
return;
|
||||
@@ -368,7 +338,6 @@ gui_input_return ()
|
||||
gui_current_window->buffer->input_buffer);
|
||||
gui_history_global_add (gui_current_window->buffer->input_buffer);
|
||||
gui_current_window->buffer->input_buffer[0] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[0] = '\0';
|
||||
gui_current_window->buffer->input_buffer_size = 0;
|
||||
gui_current_window->buffer->input_buffer_length = 0;
|
||||
gui_current_window->buffer->input_buffer_pos = 0;
|
||||
@@ -407,15 +376,12 @@ gui_input_complete (struct t_gui_buffer *buffer)
|
||||
buffer->completion->diff_length;
|
||||
gui_input_optimize_size (buffer);
|
||||
buffer->input_buffer[buffer->input_buffer_size] = '\0';
|
||||
buffer->input_buffer_color_mask[buffer->input_buffer_size] = '\0';
|
||||
for (i = buffer->input_buffer_size - 1;
|
||||
i >= buffer->completion->position_replace +
|
||||
(int)strlen (buffer->completion->word_found); i--)
|
||||
{
|
||||
buffer->input_buffer[i] =
|
||||
buffer->input_buffer[i - buffer->completion->diff_size];
|
||||
buffer->input_buffer_color_mask[i] =
|
||||
buffer->input_buffer_color_mask[i - buffer->completion->diff_size];
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -426,23 +392,16 @@ gui_input_complete (struct t_gui_buffer *buffer)
|
||||
{
|
||||
buffer->input_buffer[i] =
|
||||
buffer->input_buffer[i - buffer->completion->diff_size];
|
||||
buffer->input_buffer_color_mask[i] =
|
||||
buffer->input_buffer_color_mask[i - buffer->completion->diff_size];
|
||||
}
|
||||
buffer->input_buffer_size += buffer->completion->diff_size;
|
||||
buffer->input_buffer_length += buffer->completion->diff_length;
|
||||
gui_input_optimize_size (buffer);
|
||||
buffer->input_buffer[buffer->input_buffer_size] = '\0';
|
||||
buffer->input_buffer_color_mask[buffer->input_buffer_size] = '\0';
|
||||
}
|
||||
|
||||
strncpy (buffer->input_buffer + buffer->completion->position_replace,
|
||||
buffer->completion->word_found,
|
||||
strlen (buffer->completion->word_found));
|
||||
for (i = 0; i < (int)strlen (buffer->completion->word_found); i++)
|
||||
{
|
||||
buffer->input_buffer_color_mask[buffer->completion->position_replace + i] = ' ';
|
||||
}
|
||||
buffer->input_buffer_pos =
|
||||
utf8_pos (buffer->input_buffer,
|
||||
buffer->completion->position_replace) +
|
||||
@@ -590,7 +549,6 @@ gui_input_delete_previous_char ()
|
||||
gui_current_window->buffer->input_buffer_length--;
|
||||
gui_current_window->buffer->input_buffer_pos--;
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
@@ -623,7 +581,6 @@ gui_input_delete_next_char ()
|
||||
gui_current_window->buffer->input_buffer_size -= char_size;
|
||||
gui_current_window->buffer->input_buffer_length--;
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
@@ -683,7 +640,6 @@ gui_input_delete_previous_word ()
|
||||
gui_current_window->buffer->input_buffer_size -= size_deleted;
|
||||
gui_current_window->buffer->input_buffer_length -= length_deleted;
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_pos -= length_deleted;
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
@@ -725,7 +681,6 @@ gui_input_delete_next_word ()
|
||||
gui_current_window->buffer->input_buffer_size -= size_deleted;
|
||||
gui_current_window->buffer->input_buffer_length -= length_deleted;
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
@@ -762,7 +717,6 @@ gui_input_delete_beginning_of_line ()
|
||||
gui_current_window->buffer->input_buffer_size -= size_deleted;
|
||||
gui_current_window->buffer->input_buffer_length -= length_deleted;
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_pos = 0;
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
@@ -795,7 +749,6 @@ gui_input_delete_end_of_line (const char *args)
|
||||
length_deleted = utf8_strlen (start);
|
||||
gui_input_clipboard_copy (start, size_deleted);
|
||||
start[0] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[pos_start] = '\0';
|
||||
gui_current_window->buffer->input_buffer_size = strlen (gui_current_window->buffer->input_buffer);
|
||||
gui_current_window->buffer->input_buffer_length = utf8_strlen (gui_current_window->buffer->input_buffer);
|
||||
gui_input_optimize_size (gui_current_window->buffer);
|
||||
@@ -815,7 +768,6 @@ gui_input_delete_line ()
|
||||
if (gui_current_window->buffer->input)
|
||||
{
|
||||
gui_current_window->buffer->input_buffer[0] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[0] = '\0';
|
||||
gui_current_window->buffer->input_buffer_size = 0;
|
||||
gui_current_window->buffer->input_buffer_length = 0;
|
||||
gui_current_window->buffer->input_buffer_pos = 0;
|
||||
@@ -859,12 +811,6 @@ gui_input_transpose_chars ()
|
||||
memcpy (prev_char, start, size_start_char);
|
||||
memcpy (prev_char + size_start_char, saved_char, size_prev_char);
|
||||
|
||||
memcpy (saved_char, gui_current_window->buffer->input_buffer_color_mask + pos_prev_char, size_prev_char);
|
||||
memcpy (gui_current_window->buffer->input_buffer_color_mask + pos_prev_char,
|
||||
gui_current_window->buffer->input_buffer_color_mask + pos_start, size_start_char);
|
||||
memcpy (gui_current_window->buffer->input_buffer_color_mask + pos_prev_char + size_start_char,
|
||||
saved_char, size_prev_char);
|
||||
|
||||
gui_current_window->buffer->input_buffer_pos++;
|
||||
|
||||
gui_completion_stop (gui_current_window->buffer->completion, 1);
|
||||
@@ -1072,7 +1018,6 @@ gui_input_history_previous ()
|
||||
if (gui_current_window->buffer->input_buffer_size > 0)
|
||||
{
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_history_buffer_add (gui_current_window->buffer, gui_current_window->buffer->input_buffer);
|
||||
gui_history_global_add (gui_current_window->buffer->input_buffer);
|
||||
}
|
||||
@@ -1082,7 +1027,6 @@ gui_input_history_previous ()
|
||||
if (gui_current_window->buffer->input_buffer_size > 0)
|
||||
{
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
if (gui_current_window->buffer->ptr_history->prev_history->text)
|
||||
free(gui_current_window->buffer->ptr_history->prev_history->text);
|
||||
gui_current_window->buffer->ptr_history->prev_history->text = strdup (gui_current_window->buffer->input_buffer);
|
||||
@@ -1098,7 +1042,6 @@ gui_input_history_previous ()
|
||||
gui_current_window->buffer->input_buffer_1st_display = 0;
|
||||
strcpy (gui_current_window->buffer->input_buffer,
|
||||
gui_current_window->buffer->ptr_history->text);
|
||||
gui_input_init_color_mask (gui_current_window->buffer);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
}
|
||||
gui_input_text_changed_signal ();
|
||||
@@ -1137,7 +1080,6 @@ gui_input_history_next ()
|
||||
else
|
||||
{
|
||||
gui_current_window->buffer->input_buffer[0] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[0] = '\0';
|
||||
gui_current_window->buffer->input_buffer_size = 0;
|
||||
gui_current_window->buffer->input_buffer_length = 0;
|
||||
}
|
||||
@@ -1149,7 +1091,6 @@ gui_input_history_next ()
|
||||
{
|
||||
strcpy (gui_current_window->buffer->input_buffer,
|
||||
gui_current_window->buffer->ptr_history->text);
|
||||
gui_input_init_color_mask (gui_current_window->buffer);
|
||||
}
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
}
|
||||
@@ -1159,11 +1100,9 @@ gui_input_history_next ()
|
||||
if (gui_current_window->buffer->input_buffer_size > 0)
|
||||
{
|
||||
gui_current_window->buffer->input_buffer[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[gui_current_window->buffer->input_buffer_size] = '\0';
|
||||
gui_history_buffer_add (gui_current_window->buffer, gui_current_window->buffer->input_buffer);
|
||||
gui_history_global_add (gui_current_window->buffer->input_buffer);
|
||||
gui_current_window->buffer->input_buffer[0] = '\0';
|
||||
gui_current_window->buffer->input_buffer_color_mask[0] = '\0';
|
||||
gui_current_window->buffer->input_buffer_size = 0;
|
||||
gui_current_window->buffer->input_buffer_length = 0;
|
||||
gui_current_window->buffer->input_buffer_pos = 0;
|
||||
@@ -1214,7 +1153,6 @@ gui_input_history_global_previous ()
|
||||
gui_current_window->buffer->input_buffer_1st_display = 0;
|
||||
strcpy (gui_current_window->buffer->input_buffer,
|
||||
history_global_ptr->text);
|
||||
gui_input_init_color_mask (gui_current_window->buffer);
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
}
|
||||
@@ -1255,7 +1193,6 @@ gui_input_history_global_next ()
|
||||
{
|
||||
strcpy (gui_current_window->buffer->input_buffer,
|
||||
history_global_ptr->text);
|
||||
gui_input_init_color_mask (gui_current_window->buffer);
|
||||
}
|
||||
gui_buffer_ask_input_refresh (gui_current_window->buffer, 1);
|
||||
gui_input_text_changed_signal ();
|
||||
|
||||
@@ -33,7 +33,6 @@ extern void gui_input_prompt_changed_signal ();
|
||||
extern void gui_input_text_changed_signal ();
|
||||
extern void gui_input_search_signal ();
|
||||
extern void gui_input_optimize_size (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_init_color_mask (struct t_gui_buffer *buffer);
|
||||
extern void gui_input_move (struct t_gui_buffer *buffer, char *target,
|
||||
const char *source, int size);
|
||||
extern int gui_input_insert_string (struct t_gui_buffer *buffer,
|
||||
|
||||
@@ -61,9 +61,9 @@ gui_layout_buffer_remove (struct t_gui_layout_buffer *layout_buffer)
|
||||
|
||||
/* remove layout from list */
|
||||
if (layout_buffer->prev_layout)
|
||||
layout_buffer->prev_layout->next_layout = layout_buffer->next_layout;
|
||||
(layout_buffer->prev_layout)->next_layout = layout_buffer->next_layout;
|
||||
if (layout_buffer->next_layout)
|
||||
layout_buffer->next_layout->prev_layout = layout_buffer->prev_layout;
|
||||
(layout_buffer->next_layout)->prev_layout = layout_buffer->prev_layout;
|
||||
if (gui_layout_buffers == layout_buffer)
|
||||
gui_layout_buffers = layout_buffer->next_layout;
|
||||
if (last_gui_layout_buffer == layout_buffer)
|
||||
|
||||
+22
-12
@@ -276,6 +276,7 @@ gui_nicklist_search_nick (struct t_gui_buffer *buffer,
|
||||
const char *name)
|
||||
{
|
||||
struct t_gui_nick *ptr_nick;
|
||||
struct t_gui_nick_group *ptr_group;
|
||||
|
||||
for (ptr_nick = (from_group) ? from_group->nicks : buffer->nicklist_root->nicks;
|
||||
ptr_nick; ptr_nick = ptr_nick->next_nick)
|
||||
@@ -283,6 +284,15 @@ gui_nicklist_search_nick (struct t_gui_buffer *buffer,
|
||||
if (strcmp (ptr_nick->name, name) == 0)
|
||||
return ptr_nick;
|
||||
}
|
||||
|
||||
/* search nick in child groups */
|
||||
for (ptr_group = (from_group) ? from_group->childs : buffer->nicklist_root->childs;
|
||||
ptr_group; ptr_group = ptr_group->next_group)
|
||||
{
|
||||
ptr_nick = gui_nicklist_search_nick (buffer, ptr_group, name);
|
||||
if (ptr_nick)
|
||||
return ptr_nick;
|
||||
}
|
||||
|
||||
/* nick not found */
|
||||
return NULL;
|
||||
@@ -337,13 +347,13 @@ gui_nicklist_remove_nick (struct t_gui_buffer *buffer,
|
||||
|
||||
/* remove nick from list */
|
||||
if (nick->prev_nick)
|
||||
nick->prev_nick->next_nick = nick->next_nick;
|
||||
(nick->prev_nick)->next_nick = nick->next_nick;
|
||||
if (nick->next_nick)
|
||||
nick->next_nick->prev_nick = nick->prev_nick;
|
||||
if (nick->group->nicks == nick)
|
||||
nick->group->nicks = nick->next_nick;
|
||||
if (nick->group->last_nick == nick)
|
||||
nick->group->last_nick = nick->prev_nick;
|
||||
(nick->next_nick)->prev_nick = nick->prev_nick;
|
||||
if ((nick->group)->nicks == nick)
|
||||
(nick->group)->nicks = nick->next_nick;
|
||||
if ((nick->group)->last_nick == nick)
|
||||
(nick->group)->last_nick = nick->prev_nick;
|
||||
|
||||
/* free data */
|
||||
if (nick->name)
|
||||
@@ -391,13 +401,13 @@ gui_nicklist_remove_group (struct t_gui_buffer *buffer,
|
||||
{
|
||||
/* remove group from list */
|
||||
if (group->prev_group)
|
||||
group->prev_group->next_group = group->next_group;
|
||||
(group->prev_group)->next_group = group->next_group;
|
||||
if (group->next_group)
|
||||
group->next_group->prev_group = group->prev_group;
|
||||
if (group->parent->childs == group)
|
||||
group->parent->childs = group->next_group;
|
||||
if (group->parent->last_child == group)
|
||||
group->parent->last_child = group->prev_group;
|
||||
(group->next_group)->prev_group = group->prev_group;
|
||||
if ((group->parent)->childs == group)
|
||||
(group->parent)->childs = group->next_group;
|
||||
if ((group->parent)->last_child == group)
|
||||
(group->parent)->last_child = group->prev_group;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -387,9 +387,9 @@ gui_window_free (struct t_gui_window *window)
|
||||
|
||||
/* remove window from windows list */
|
||||
if (window->prev_window)
|
||||
window->prev_window->next_window = window->next_window;
|
||||
(window->prev_window)->next_window = window->next_window;
|
||||
if (window->next_window)
|
||||
window->next_window->prev_window = window->prev_window;
|
||||
(window->next_window)->prev_window = window->prev_window;
|
||||
if (gui_windows == window)
|
||||
gui_windows = window->next_window;
|
||||
if (last_gui_window == window)
|
||||
|
||||
Reference in New Issue
Block a user