1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-04 08:43:13 +02:00

Merge remote-tracking branch 'origin/pr/1311'

This commit is contained in:
Sébastien Helleu
2019-02-23 11:17:02 +01:00
4 changed files with 22 additions and 12 deletions
+7 -6
View File
@@ -2177,7 +2177,7 @@ COMMAND_CALLBACK(filter)
if (!ptr_filter->enabled) if (!ptr_filter->enabled)
{ {
ptr_filter->enabled = 1; ptr_filter->enabled = 1;
gui_filter_all_buffers (); gui_filter_all_buffers (ptr_filter);
gui_chat_printf_date_tags (NULL, 0, gui_chat_printf_date_tags (NULL, 0,
GUI_FILTER_TAG_NO_FILTER, GUI_FILTER_TAG_NO_FILTER,
_("Filter \"%s\" enabled"), _("Filter \"%s\" enabled"),
@@ -2235,7 +2235,7 @@ COMMAND_CALLBACK(filter)
if (ptr_filter->enabled) if (ptr_filter->enabled)
{ {
ptr_filter->enabled = 0; ptr_filter->enabled = 0;
gui_filter_all_buffers (); gui_filter_all_buffers (ptr_filter);
gui_chat_printf_date_tags (NULL, 0, gui_chat_printf_date_tags (NULL, 0,
GUI_FILTER_TAG_NO_FILTER, GUI_FILTER_TAG_NO_FILTER,
_("Filter \"%s\" disabled"), _("Filter \"%s\" disabled"),
@@ -2289,7 +2289,7 @@ COMMAND_CALLBACK(filter)
if (ptr_filter) if (ptr_filter)
{ {
ptr_filter->enabled ^= 1; ptr_filter->enabled ^= 1;
gui_filter_all_buffers (); gui_filter_all_buffers (ptr_filter);
} }
else else
{ {
@@ -2330,7 +2330,7 @@ COMMAND_CALLBACK(filter)
argv_eol[5]); argv_eol[5]);
if (ptr_filter) if (ptr_filter)
{ {
gui_filter_all_buffers (); gui_filter_all_buffers (ptr_filter);
gui_chat_printf (NULL, ""); gui_chat_printf (NULL, "");
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER, gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Filter \"%s\" added:"), _("Filter \"%s\" added:"),
@@ -2384,7 +2384,7 @@ COMMAND_CALLBACK(filter)
if (gui_filters) if (gui_filters)
{ {
gui_filter_free_all (); gui_filter_free_all ();
gui_filter_all_buffers (); gui_filter_all_buffers (NULL);
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER, gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("All filters have been deleted")); _("All filters have been deleted"));
} }
@@ -2399,8 +2399,9 @@ COMMAND_CALLBACK(filter)
ptr_filter = gui_filter_search_by_name (argv[2]); ptr_filter = gui_filter_search_by_name (argv[2]);
if (ptr_filter) if (ptr_filter)
{ {
ptr_filter->enabled = 0; // disable before refilter
gui_filter_all_buffers (ptr_filter); // refilter before free
gui_filter_free (ptr_filter); gui_filter_free (ptr_filter);
gui_filter_all_buffers ();
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER, gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Filter \"%s\" deleted"), _("Filter \"%s\" deleted"),
argv[2]); argv[2]);
+1 -1
View File
@@ -1359,7 +1359,7 @@ config_weechat_init_after_read ()
} }
/* apply filters on all buffers */ /* apply filters on all buffers */
gui_filter_all_buffers (); gui_filter_all_buffers (NULL);
config_change_look_nick_color_force (NULL, NULL, NULL); config_change_look_nick_color_force (NULL, NULL, NULL);
} }
+13 -4
View File
@@ -186,17 +186,26 @@ gui_filter_buffer (struct t_gui_buffer *buffer,
/* /*
* Filters all buffers, using message filters. * Filters all buffers, using message filters.
*
* If filter is NULL, filters all buffers.
* If filter is not NULL, filters only buffers matched by this filter.
*/ */
void void
gui_filter_all_buffers () gui_filter_all_buffers (struct t_gui_filter *filter)
{ {
struct t_gui_buffer *ptr_buffer; struct t_gui_buffer *ptr_buffer;
for (ptr_buffer = gui_buffers; ptr_buffer; for (ptr_buffer = gui_buffers; ptr_buffer;
ptr_buffer = ptr_buffer->next_buffer) ptr_buffer = ptr_buffer->next_buffer)
{ {
gui_filter_buffer (ptr_buffer, NULL); if (!filter
|| gui_buffer_match_list_split (ptr_buffer,
filter->num_buffers,
filter->buffers))
{
gui_filter_buffer (ptr_buffer, NULL);
}
} }
} }
@@ -210,7 +219,7 @@ gui_filter_global_enable ()
if (!gui_filters_enabled) if (!gui_filters_enabled)
{ {
gui_filters_enabled = 1; gui_filters_enabled = 1;
gui_filter_all_buffers (); gui_filter_all_buffers (NULL);
(void) hook_signal_send ("filters_enabled", (void) hook_signal_send ("filters_enabled",
WEECHAT_HOOK_SIGNAL_STRING, NULL); WEECHAT_HOOK_SIGNAL_STRING, NULL);
} }
@@ -226,7 +235,7 @@ gui_filter_global_disable ()
if (gui_filters_enabled) if (gui_filters_enabled)
{ {
gui_filters_enabled = 0; gui_filters_enabled = 0;
gui_filter_all_buffers (); gui_filter_all_buffers (NULL);
(void) hook_signal_send ("filters_disabled", (void) hook_signal_send ("filters_disabled",
WEECHAT_HOOK_SIGNAL_STRING, NULL); WEECHAT_HOOK_SIGNAL_STRING, NULL);
} }
+1 -1
View File
@@ -56,7 +56,7 @@ extern int gui_filters_enabled;
extern int gui_filter_check_line (struct t_gui_line_data *line_data); extern int gui_filter_check_line (struct t_gui_line_data *line_data);
extern void gui_filter_buffer (struct t_gui_buffer *buffer, extern void gui_filter_buffer (struct t_gui_buffer *buffer,
struct t_gui_line_data *line_data); struct t_gui_line_data *line_data);
extern void gui_filter_all_buffers (); extern void gui_filter_all_buffers (struct t_gui_filter *filter);
extern void gui_filter_global_enable (); extern void gui_filter_global_enable ();
extern void gui_filter_global_disable (); extern void gui_filter_global_disable ();
extern struct t_gui_filter *gui_filter_search_by_name (const char *name); extern struct t_gui_filter *gui_filter_search_by_name (const char *name);