diff options
author | Sébastien Helleu <flashcode@flashtux.org> | 2019-02-23 11:17:02 +0100 |
---|---|---|
committer | Sébastien Helleu <flashcode@flashtux.org> | 2019-02-23 11:17:02 +0100 |
commit | 7b79fbbd09edfeeaf106937437205800aeecee08 (patch) | |
tree | 049d56d8d392117261fa64ee115cbc9201bf13b3 /src/gui | |
parent | bdc905df168ef22e2ecaf1914481182c95ad63c6 (diff) | |
parent | 8ac4a75969ede80c9d3c9900f376c7d6deb71b07 (diff) | |
download | weechat-7b79fbbd09edfeeaf106937437205800aeecee08.zip |
Merge remote-tracking branch 'origin/pr/1311'
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/gui-filter.c | 17 | ||||
-rw-r--r-- | src/gui/gui-filter.h | 2 |
2 files changed, 14 insertions, 5 deletions
diff --git a/src/gui/gui-filter.c b/src/gui/gui-filter.c index b839744a6..325c851ff 100644 --- a/src/gui/gui-filter.c +++ b/src/gui/gui-filter.c @@ -186,17 +186,26 @@ gui_filter_buffer (struct t_gui_buffer *buffer, /* * 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 -gui_filter_all_buffers () +gui_filter_all_buffers (struct t_gui_filter *filter) { struct t_gui_buffer *ptr_buffer; for (ptr_buffer = gui_buffers; ptr_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) { gui_filters_enabled = 1; - gui_filter_all_buffers (); + gui_filter_all_buffers (NULL); (void) hook_signal_send ("filters_enabled", WEECHAT_HOOK_SIGNAL_STRING, NULL); } @@ -226,7 +235,7 @@ gui_filter_global_disable () if (gui_filters_enabled) { gui_filters_enabled = 0; - gui_filter_all_buffers (); + gui_filter_all_buffers (NULL); (void) hook_signal_send ("filters_disabled", WEECHAT_HOOK_SIGNAL_STRING, NULL); } diff --git a/src/gui/gui-filter.h b/src/gui/gui-filter.h index ee2888211..e426262f5 100644 --- a/src/gui/gui-filter.h +++ b/src/gui/gui-filter.h @@ -56,7 +56,7 @@ extern int gui_filters_enabled; extern int gui_filter_check_line (struct t_gui_line_data *line_data); extern void gui_filter_buffer (struct t_gui_buffer *buffer, 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_disable (); extern struct t_gui_filter *gui_filter_search_by_name (const char *name); |