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

Add "enabled" flag for each filter (now possible to disable only one or some filters)

This commit is contained in:
Sebastien Helleu
2008-10-24 18:17:10 +02:00
parent 77d90fc1bb
commit 4c8b4d6080
11 changed files with 386 additions and 176 deletions
+38 -17
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-10-24 12:58+0200\n"
"POT-Creation-Date: 2008-10-24 18:03+0200\n"
"PO-Revision-Date: 2008-09-17 16:19+0200\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -227,29 +227,42 @@ msgid "%sPlugin \"%s\" not found"
msgstr "%s adresa \"%s\" nenalezena\n"
#, fuzzy
msgid "Filters are enabled"
msgstr "uživatel byl zablokován"
msgid "Message filtering enabled"
msgstr "Žádné aliasy nejsou definovány.\n"
#, fuzzy
msgid "Filters are disabled"
msgstr "uživatel byl zablokován"
msgid "Message filtering disabled"
msgstr "Filtry zpráv:"
msgid "Message filters:"
msgstr "Filtry zpráv:"
#, fuzzy, c-format
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s"
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " (není obsluhovač zprávy)\n"
#, fuzzy
msgid "(disabled)"
msgstr "uživatel byl zablokován"
#, fuzzy
msgid "No message filter defined"
msgstr "Žádné aliasy nejsou definovány.\n"
msgid "Filters enabled"
#, fuzzy, c-format
msgid "Filter %d enabled"
msgstr "Filtry povoleny"
#, fuzzy
msgid "Filters disabled"
#, fuzzy, c-format
msgid "%sError: filter not found"
msgstr "%s plugin \"%s\" nenalezen\n"
#, fuzzy, c-format
msgid "%sError: wrong filter number"
msgstr "%s nekorektní číslo bufferu\n"
#, fuzzy, c-format
msgid "Filter %d disabled"
msgstr "uživatel byl zablokován"
#, fuzzy, c-format
@@ -276,14 +289,6 @@ msgstr "uživatel byl zablokován"
msgid "Filter deleted"
msgstr "uživatel byl zablokován"
#, fuzzy, c-format
msgid "%sError: filter not found"
msgstr "%s plugin \"%s\" nenalezen\n"
#, fuzzy, c-format
msgid "%sError: wrong filter number"
msgstr "%s nekorektní číslo bufferu\n"
#. TRANSLATORS: %s is "weechat"
#, fuzzy, c-format
msgid "%s internal commands:"
@@ -4891,6 +4896,22 @@ msgstr "%s DCC: nemohu nastavit 'neblokovaci' volbu na soket\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s chybí argument pro volbu \"%s\"\n"
#, fuzzy
#~ msgid "Message filtering is enabled"
#~ msgstr "Filtry zpráv:"
#, fuzzy
#~ msgid "Message filtering is disabled"
#~ msgstr "Filtry zpráv:"
#, fuzzy
#~ msgid "Filters are enabled"
#~ msgstr "uživatel byl zablokován"
#, fuzzy
#~ msgid "Filters are disabled"
#~ msgstr "uživatel byl zablokován"
#~ msgid ""
#~ "format for input prompt ('%c' is replaced by channel or server, '%n' by "
#~ "nick and '%m' by nick modes)"
+35 -18
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-10-24 12:58+0200\n"
"POT-Creation-Date: 2008-10-24 18:03+0200\n"
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
"Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -232,29 +232,42 @@ msgid "%sPlugin \"%s\" not found"
msgstr "%s Adresse \"%s\" nicht gefunden\n"
#, fuzzy
msgid "Filters are enabled"
msgstr "/users wurde deaktiviert"
msgid "Message filtering enabled"
msgstr "Keine Aliases definiert.\n"
#, fuzzy
msgid "Filters are disabled"
msgstr "/users wurde deaktiviert"
msgid "Message filtering disabled"
msgstr "Keine Aliases definiert.\n"
msgid "Message filters:"
msgstr ""
#, fuzzy, c-format
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s"
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " (kein Message-Handler)\n"
#, fuzzy
msgid "(disabled)"
msgstr "/users wurde deaktiviert"
#, fuzzy
msgid "No message filter defined"
msgstr "Keine Aliases definiert.\n"
msgid "Filters enabled"
msgstr ""
#, fuzzy, c-format
msgid "Filter %d enabled"
msgstr "/users wurde deaktiviert"
#, fuzzy
msgid "Filters disabled"
#, fuzzy, c-format
msgid "%sError: filter not found"
msgstr "%s Plugin \"%s\" nicht gefunden\n"
#, fuzzy, c-format
msgid "%sError: wrong filter number"
msgstr "%s falsche Puffernummer\n"
#, fuzzy, c-format
msgid "Filter %d disabled"
msgstr "/users wurde deaktiviert"
#, fuzzy, c-format
@@ -281,14 +294,6 @@ msgstr "/users wurde deaktiviert"
msgid "Filter deleted"
msgstr "/users wurde deaktiviert"
#, fuzzy, c-format
msgid "%sError: filter not found"
msgstr "%s Plugin \"%s\" nicht gefunden\n"
#, fuzzy, c-format
msgid "%sError: wrong filter number"
msgstr "%s falsche Puffernummer\n"
#. TRANSLATORS: %s is "weechat"
#, fuzzy, c-format
msgid "%s internal commands:"
@@ -4791,6 +4796,18 @@ msgstr "%s DCC: kann die 'nonblock'-Option für den Socket nicht festlegen\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s fehlende Argumente für die \"--dir\"-Option\n"
#, fuzzy
#~ msgid "Message filtering is enabled"
#~ msgstr "Keine Aliases definiert.\n"
#, fuzzy
#~ msgid "Message filtering is disabled"
#~ msgstr "Keine Aliases definiert.\n"
#, fuzzy
#~ msgid "Filters are disabled"
#~ msgstr "/users wurde deaktiviert"
#~ msgid ""
#~ "format for input prompt ('%c' is replaced by channel or server, '%n' by "
#~ "nick and '%m' by nick modes)"
+35 -18
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-10-24 12:58+0200\n"
"POT-Creation-Date: 2008-10-24 18:03+0200\n"
"PO-Revision-Date: 2007-09-19 12:09+0200\n"
"Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -228,29 +228,42 @@ msgid "%sPlugin \"%s\" not found"
msgstr "%s dirección \"%s\" no encontrada\n"
#, fuzzy
msgid "Filters are enabled"
msgstr "los usuarios han sido desactivados"
msgid "Message filtering enabled"
msgstr "Ningún alias definido.\n"
#, fuzzy
msgid "Filters are disabled"
msgstr "los usuarios han sido desactivados"
msgid "Message filtering disabled"
msgstr "Ningún alias definido.\n"
msgid "Message filters:"
msgstr ""
#, fuzzy, c-format
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s"
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " (sin manejador de mensaje)\n"
#, fuzzy
msgid "(disabled)"
msgstr "los usuarios han sido desactivados"
#, fuzzy
msgid "No message filter defined"
msgstr "Ningún alias definido.\n"
msgid "Filters enabled"
msgstr ""
#, fuzzy, c-format
msgid "Filter %d enabled"
msgstr "los usuarios han sido desactivados"
#, fuzzy
msgid "Filters disabled"
#, fuzzy, c-format
msgid "%sError: filter not found"
msgstr "%s plugin \"%s\" no encontrado\n"
#, fuzzy, c-format
msgid "%sError: wrong filter number"
msgstr "%s número de búfer incorrecto\n"
#, fuzzy, c-format
msgid "Filter %d disabled"
msgstr "los usuarios han sido desactivados"
#, fuzzy, c-format
@@ -277,14 +290,6 @@ msgstr "los usuarios han sido desactivados"
msgid "Filter deleted"
msgstr "los usuarios han sido desactivados"
#, fuzzy, c-format
msgid "%sError: filter not found"
msgstr "%s plugin \"%s\" no encontrado\n"
#, fuzzy, c-format
msgid "%sError: wrong filter number"
msgstr "%s número de búfer incorrecto\n"
#. TRANSLATORS: %s is "weechat"
#, fuzzy, c-format
msgid "%s internal commands:"
@@ -4796,6 +4801,18 @@ msgstr "%s no es posible crear el servidor\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s falta un argumento para la opción --dir\n"
#, fuzzy
#~ msgid "Message filtering is enabled"
#~ msgstr "Ningún alias definido.\n"
#, fuzzy
#~ msgid "Message filtering is disabled"
#~ msgstr "Ningún alias definido.\n"
#, fuzzy
#~ msgid "Filters are disabled"
#~ msgstr "los usuarios han sido desactivados"
#~ msgid ""
#~ "format for input prompt ('%c' is replaced by channel or server, '%n' by "
#~ "nick and '%m' by nick modes)"
+25 -33
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-10-24 12:58+0200\n"
"PO-Revision-Date: 2008-10-23 18:38+0200\n"
"POT-Creation-Date: 2008-10-24 18:03+0200\n"
"PO-Revision-Date: 2008-10-24 18:03+0200\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@@ -221,27 +221,40 @@ msgstr "Pas de variable locale définie pour le tampon \"%s\""
msgid "%sPlugin \"%s\" not found"
msgstr "%sExtension \"%s\" non trouvée"
msgid "Filters are enabled"
msgstr "Les filtres sont activés"
msgid "Message filtering enabled"
msgstr "Filtrage de messages activé"
msgid "Filters are disabled"
msgstr "Les filtres sont désactivés"
msgid "Message filtering disabled"
msgstr "Filtrage de message désactivé"
msgid "Message filters:"
msgstr "Filtres de messages:"
#, c-format
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s"
msgstr " %s[%s%d%s]%s tampon: %s%s%s / tags: %s / regex: %s"
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " %s[%s%d%s]%s tampon: %s%s%s / tags: %s / regex: %s %s"
msgid "(disabled)"
msgstr "(désactivé)"
msgid "No message filter defined"
msgstr "Pas de filtre de message défini"
msgid "Filters enabled"
msgstr "Filtres activés"
#, c-format
msgid "Filter %d enabled"
msgstr "Filtre %d activé"
msgid "Filters disabled"
msgstr "Filtres désactivés"
#, c-format
msgid "%sError: filter not found"
msgstr "%sErreur: filtre non trouvé"
#, c-format
msgid "%sError: wrong filter number"
msgstr "%sErreur: numéro de filtre incorrect"
#, c-format
msgid "Filter %d disabled"
msgstr "Filtre %d désactivé"
#, c-format
msgid "%sError: filter already exists"
@@ -266,14 +279,6 @@ msgstr "Tous les filtres ont été supprimés"
msgid "Filter deleted"
msgstr "Filtre supprimé"
#, c-format
msgid "%sError: filter not found"
msgstr "%sErreur: filtre non trouvé"
#, c-format
msgid "%sError: wrong filter number"
msgstr "%sErreur: numéro de filtre incorrect"
#. TRANSLATORS: %s is "weechat"
#, c-format
msgid "%s internal commands:"
@@ -4837,16 +4842,3 @@ msgstr "%s%s: impossible de positionner l'option \"nonblock\" pour la socket"
#, c-format
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: délai d'attente dépassé pour \"%s\" avec %s"
#~ msgid ""
#~ "format for input prompt ('%c' is replaced by channel or server, '%n' by "
#~ "nick and '%m' by nick modes)"
#~ msgstr ""
#~ "format pour l'invite de la zone de saisie ('%c' est remplacé par le canal "
#~ "ou serveur, '%n' par le pseudo et '%m' par les modes du pseudo)"
#~ msgid "Text search (exact): "
#~ msgstr "Recherche texte (exact): "
#~ msgid "Text search: "
#~ msgstr "Recherche texte: "
+35 -18
View File
@@ -12,7 +12,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-10-24 12:58+0200\n"
"POT-Creation-Date: 2008-10-24 18:03+0200\n"
"PO-Revision-Date: 2007-10-10 18:07+0200\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -233,29 +233,42 @@ msgid "%sPlugin \"%s\" not found"
msgstr "%s cím \"%s\" nem található\n"
#, fuzzy
msgid "Filters are enabled"
msgstr "a felhasználók le lettek tiltva"
msgid "Message filtering enabled"
msgstr "Nincs aliasz definiálva.\n"
#, fuzzy
msgid "Filters are disabled"
msgstr "a felhasználók le lettek tiltva"
msgid "Message filtering disabled"
msgstr "Nincs aliasz definiálva.\n"
msgid "Message filters:"
msgstr ""
#, fuzzy, c-format
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s"
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " (nincs üzenetkezelő)\n"
#, fuzzy
msgid "(disabled)"
msgstr "a felhasználók le lettek tiltva"
#, fuzzy
msgid "No message filter defined"
msgstr "Nincs aliasz definiálva.\n"
msgid "Filters enabled"
msgstr ""
#, fuzzy, c-format
msgid "Filter %d enabled"
msgstr "a felhasználók le lettek tiltva"
#, fuzzy
msgid "Filters disabled"
#, fuzzy, c-format
msgid "%sError: filter not found"
msgstr "%s a \"%s\" modul nem található\n"
#, fuzzy, c-format
msgid "%sError: wrong filter number"
msgstr "%s helytelen pufferszám\n"
#, fuzzy, c-format
msgid "Filter %d disabled"
msgstr "a felhasználók le lettek tiltva"
#, fuzzy, c-format
@@ -282,14 +295,6 @@ msgstr "a felhasználók le lettek tiltva"
msgid "Filter deleted"
msgstr "a felhasználók le lettek tiltva"
#, fuzzy, c-format
msgid "%sError: filter not found"
msgstr "%s a \"%s\" modul nem található\n"
#, fuzzy, c-format
msgid "%sError: wrong filter number"
msgstr "%s helytelen pufferszám\n"
#. TRANSLATORS: %s is "weechat"
#, fuzzy, c-format
msgid "%s internal commands:"
@@ -4814,6 +4819,18 @@ msgstr "%s DCC: nem sikerült 'nonblock' opciót beállítani a csatornán\n"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s hiányzó argumentum a(z) \"%s\" opciónak\n"
#, fuzzy
#~ msgid "Message filtering is enabled"
#~ msgstr "Nincs aliasz definiálva.\n"
#, fuzzy
#~ msgid "Message filtering is disabled"
#~ msgstr "Nincs aliasz definiálva.\n"
#, fuzzy
#~ msgid "Filters are disabled"
#~ msgstr "a felhasználók le lettek tiltva"
#~ msgid ""
#~ "format for input prompt ('%c' is replaced by channel or server, '%n' by "
#~ "nick and '%m' by nick modes)"
+35 -18
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: WeeChat 0.2.7-dev\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-10-24 12:58+0200\n"
"POT-Creation-Date: 2008-10-24 18:03+0200\n"
"PO-Revision-Date: 2007-09-06 12:44+0200\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@@ -229,29 +229,42 @@ msgid "%sPlugin \"%s\" not found"
msgstr "%s адрес \"%s\" не найден\n"
#, fuzzy
msgid "Filters are enabled"
msgstr "команда users отключена"
msgid "Message filtering enabled"
msgstr "Сокращения не заданы.\n"
#, fuzzy
msgid "Filters are disabled"
msgstr "команда users отключена"
msgid "Message filtering disabled"
msgstr "Сокращения не заданы.\n"
msgid "Message filters:"
msgstr ""
#, fuzzy, c-format
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s"
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr " (нет обработчика сообщений)\n"
#, fuzzy
msgid "(disabled)"
msgstr "команда users отключена"
#, fuzzy
msgid "No message filter defined"
msgstr "Сокращения не заданы.\n"
msgid "Filters enabled"
msgstr ""
#, fuzzy, c-format
msgid "Filter %d enabled"
msgstr "команда users отключена"
#, fuzzy
msgid "Filters disabled"
#, fuzzy, c-format
msgid "%sError: filter not found"
msgstr "%s plugin \"%s\" не найден\n"
#, fuzzy, c-format
msgid "%sError: wrong filter number"
msgstr "%s неправильный номер буфера\n"
#, fuzzy, c-format
msgid "Filter %d disabled"
msgstr "команда users отключена"
#, fuzzy, c-format
@@ -278,14 +291,6 @@ msgstr "команда users отключена"
msgid "Filter deleted"
msgstr "команда users отключена"
#, fuzzy, c-format
msgid "%sError: filter not found"
msgstr "%s plugin \"%s\" не найден\n"
#, fuzzy, c-format
msgid "%sError: wrong filter number"
msgstr "%s неправильный номер буфера\n"
#. TRANSLATORS: %s is "weechat"
#, fuzzy, c-format
msgid "%s internal commands:"
@@ -4796,6 +4801,18 @@ msgstr "%s DCC: не могу установить неблокирующий р
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s нет аргумента для параметра \"%s\"\n"
#, fuzzy
#~ msgid "Message filtering is enabled"
#~ msgstr "Сокращения не заданы.\n"
#, fuzzy
#~ msgid "Message filtering is disabled"
#~ msgstr "Сокращения не заданы.\n"
#, fuzzy
#~ msgid "Filters are disabled"
#~ msgstr "команда users отключена"
#~ msgid ""
#~ "format for input prompt ('%c' is replaced by channel or server, '%n' by "
#~ "nick and '%m' by nick modes)"
+19 -14
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: flashcode@flashtux.org\n"
"POT-Creation-Date: 2008-10-24 12:58+0200\n"
"POT-Creation-Date: 2008-10-24 18:03+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -202,26 +202,39 @@ msgstr ""
msgid "%sPlugin \"%s\" not found"
msgstr ""
msgid "Filters are enabled"
msgid "Message filtering enabled"
msgstr ""
msgid "Filters are disabled"
msgid "Message filtering disabled"
msgstr ""
msgid "Message filters:"
msgstr ""
#, c-format
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s"
msgid " %s[%s%d%s]%s buffer: %s%s%s / tags: %s / regex: %s %s"
msgstr ""
msgid "(disabled)"
msgstr ""
msgid "No message filter defined"
msgstr ""
msgid "Filters enabled"
#, c-format
msgid "Filter %d enabled"
msgstr ""
msgid "Filters disabled"
#, c-format
msgid "%sError: filter not found"
msgstr ""
#, c-format
msgid "%sError: wrong filter number"
msgstr ""
#, c-format
msgid "Filter %d disabled"
msgstr ""
#, c-format
@@ -245,14 +258,6 @@ msgstr ""
msgid "Filter deleted"
msgstr ""
#, c-format
msgid "%sError: filter not found"
msgstr ""
#, c-format
msgid "%sError: wrong filter number"
msgstr ""
#. TRANSLATORS: %s is "weechat"
#, c-format
msgid "%s internal commands:"
+95 -16
View File
@@ -790,7 +790,8 @@ command_filter (void *data, struct t_gui_buffer *buffer,
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
"%s",
(gui_filters_enabled) ?
_("Filters are enabled") : _("Filters are disabled"));
_("Message filtering enabled") :
_("Message filtering disabled"));
if (gui_filters)
{
@@ -803,7 +804,7 @@ command_filter (void *data, struct t_gui_buffer *buffer,
i++;
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_(" %s[%s%d%s]%s buffer: %s%s%s "
"/ tags: %s / regex: %s"),
"/ tags: %s / regex: %s %s"),
GUI_COLOR(GUI_COLOR_CHAT_DELIMITERS),
GUI_COLOR(GUI_COLOR_CHAT),
i,
@@ -813,7 +814,9 @@ command_filter (void *data, struct t_gui_buffer *buffer,
ptr_filter->buffer,
GUI_COLOR(GUI_COLOR_CHAT),
ptr_filter->tags,
ptr_filter->regex);
ptr_filter->regex,
(ptr_filter->enabled) ?
"" : _("(disabled)"));
}
}
else
@@ -825,26 +828,102 @@ command_filter (void *data, struct t_gui_buffer *buffer,
return WEECHAT_RC_OK;
}
/* enable filters */
/* enable global filtering or a filter */
if (string_strcasecmp (argv[1], "enable") == 0)
{
if (!gui_filters_enabled)
if (argc > 2)
{
gui_filter_enable ();
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Filters enabled"));
/* enable a filter */
error = NULL;
number = strtol (argv[2], &error, 10);
if (error && !error[0])
{
ptr_filter = gui_filter_search_by_number (number);
if (ptr_filter)
{
if (!ptr_filter->enabled)
{
gui_filter_enable (ptr_filter);
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Filter %d enabled"),
number);
}
}
else
{
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("%sError: filter not found"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR]);
return WEECHAT_RC_ERROR;
}
}
else
{
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("%sError: wrong filter number"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR]);
return WEECHAT_RC_ERROR;
}
}
else
{
/* enable global filtering */
if (!gui_filters_enabled)
{
gui_filter_global_enable ();
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Message filtering enabled"));
}
}
return WEECHAT_RC_OK;
}
/* disable filters */
/* disable global filtering or a filter */
if (string_strcasecmp (argv[1], "disable") == 0)
{
if (gui_filters_enabled)
if (argc > 2)
{
gui_filter_disable ();
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Filters disabled"));
/* enable a filter */
error = NULL;
number = strtol (argv[2], &error, 10);
if (error && !error[0])
{
ptr_filter = gui_filter_search_by_number (number);
if (ptr_filter)
{
if (ptr_filter->enabled)
{
gui_filter_disable (ptr_filter);
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Filter %d disabled"),
number);
}
}
else
{
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("%sError: filter not found"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR]);
return WEECHAT_RC_ERROR;
}
}
else
{
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("%sError: wrong filter number"),
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR]);
return WEECHAT_RC_ERROR;
}
}
else
{
/* disable global filtering */
if (gui_filters_enabled)
{
gui_filter_global_disable ();
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Message filtering disabled"));
}
}
return WEECHAT_RC_OK;
}
@@ -853,9 +932,9 @@ command_filter (void *data, struct t_gui_buffer *buffer,
if (string_strcasecmp (argv[1], "toggle") == 0)
{
if (gui_filters_enabled)
gui_filter_disable ();
gui_filter_global_disable ();
else
gui_filter_enable ();
gui_filter_global_enable ();
return WEECHAT_RC_OK;
}
@@ -887,7 +966,7 @@ command_filter (void *data, struct t_gui_buffer *buffer,
return WEECHAT_RC_ERROR;
}
if (gui_filter_new (argv[2], argv[3], argv_eol[4]))
if (gui_filter_new (1, argv[2], argv[3], argv_eol[4]))
{
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Filter added"));
+7 -2
View File
@@ -706,7 +706,11 @@ config_weechat_filter_read (void *data,
argv_eol = string_explode (value, ";", 1, 0, NULL);
if (argv && argv_eol && (argc >= 3))
{
gui_filter_new (argv[0], argv[1], argv_eol[2]);
if (argc == 3)
gui_filter_new (1, argv[0], argv[1], argv_eol[2]);
else
gui_filter_new ((string_strcasecmp (argv[0], "on") == 0) ? 1 : 0,
argv[1], argv[2], argv_eol[3]);
}
if (argv)
string_free_exploded (argv);
@@ -737,7 +741,8 @@ config_weechat_filter_write (void *data, struct t_config_file *config_file,
{
config_file_write_line (config_file,
"filter",
"%s;%s;%s",
"%s;%s;%s;%s",
(ptr_filter->enabled) ? "on" : "off",
ptr_filter->buffer,
ptr_filter->tags,
ptr_filter->regex);
+55 -19
View File
@@ -84,22 +84,25 @@ gui_filter_check_line (struct t_gui_buffer *buffer, struct t_gui_line *line)
for (ptr_filter = gui_filters; ptr_filter;
ptr_filter = ptr_filter->next_filter)
{
/* check buffer name */
if (string_match (buffer->name, ptr_filter->buffer, 0))
if (ptr_filter->enabled)
{
if ((strcmp (ptr_filter->tags, "*") == 0)
|| (gui_chat_line_match_tags (line,
ptr_filter->tags_count,
ptr_filter->tags_array)))
/* check buffer name */
if (string_match (buffer->name, ptr_filter->buffer, 0))
{
/* check line with regex */
if (!ptr_filter->regex_prefix && !ptr_filter->regex_message)
return 0;
if (gui_chat_line_match_regex (line,
ptr_filter->regex_prefix,
ptr_filter->regex_message))
return 0;
if ((strcmp (ptr_filter->tags, "*") == 0)
|| (gui_chat_line_match_tags (line,
ptr_filter->tags_count,
ptr_filter->tags_array)))
{
/* check line with regex */
if (!ptr_filter->regex_prefix && !ptr_filter->regex_message)
return 0;
if (gui_chat_line_match_regex (line,
ptr_filter->regex_prefix,
ptr_filter->regex_message))
return 0;
}
}
}
}
@@ -168,11 +171,11 @@ gui_filter_all_buffers ()
}
/*
* gui_filter_enable: enable filters
* gui_filter_global_enable: enable message filtering
*/
void
gui_filter_enable ()
gui_filter_global_enable ()
{
if (!gui_filters_enabled)
{
@@ -184,11 +187,11 @@ gui_filter_enable ()
}
/*
* gui_filter_disable: disable filters
* gui_filter_global_disable: disable message filtering
*/
void
gui_filter_disable ()
gui_filter_global_disable ()
{
if (gui_filters_enabled)
{
@@ -199,6 +202,34 @@ gui_filter_disable ()
}
}
/*
* gui_filter_enable: enable a filter
*/
void
gui_filter_enable (struct t_gui_filter *filter)
{
if (filter && !filter->enabled)
{
filter->enabled = 1;
gui_filter_all_buffers ();
}
}
/*
* gui_filter_disable: disable a filter
*/
void
gui_filter_disable (struct t_gui_filter *filter)
{
if (filter && filter->enabled)
{
filter->enabled = 0;
gui_filter_all_buffers ();
}
}
/*
* gui_filter_search: search a filter
*/
@@ -249,7 +280,8 @@ gui_filter_search_by_number (int number)
*/
struct t_gui_filter *
gui_filter_new (const char *buffer, const char *tags, const char *regex)
gui_filter_new (int enabled, const char *buffer, const char *tags,
const char *regex)
{
struct t_gui_filter *new_filter;
regex_t *regex1, *regex2;
@@ -314,6 +346,7 @@ gui_filter_new (const char *buffer, const char *tags, const char *regex)
if (new_filter)
{
/* init filter */
new_filter->enabled = enabled;
new_filter->buffer = (buffer) ? strdup (buffer) : strdup ("*");
if (tags)
{
@@ -429,6 +462,8 @@ gui_filter_add_to_infolist (struct t_infolist *infolist,
if (!ptr_item)
return 0;
if (!infolist_new_var_integer (ptr_item, "enabled", filter->enabled))
return 0;
if (!infolist_new_var_string (ptr_item, "buffer", filter->buffer))
return 0;
if (!infolist_new_var_string (ptr_item, "tags", filter->tags))
@@ -465,6 +500,7 @@ gui_filter_print_log ()
{
log_printf ("");
log_printf ("[filter (addr:0x%x)]", ptr_filter);
log_printf (" enabled. . . . . . . . : %d", ptr_filter->enabled);
log_printf (" buffer . . . . . . . . : '%s'", ptr_filter->buffer);
log_printf (" tags . . . . . . . . . : '%s'", ptr_filter->tags);
log_printf (" regex. . . . . . . . . : '%s'", ptr_filter->regex);
+7 -3
View File
@@ -30,6 +30,7 @@ struct t_gui_line;
struct t_gui_filter
{
int enabled; /* 1 if filter enabled, otherwise 0 */
char *buffer; /* name of buffer */
char *tags; /* tags */
int tags_count; /* number of tags */
@@ -51,13 +52,16 @@ extern int gui_filters_enabled;
extern int gui_filter_check_line (struct t_gui_buffer *buffer,
struct t_gui_line *line);
extern void gui_filter_enable ();
extern void gui_filter_disable ();
extern void gui_filter_global_enable ();
extern void gui_filter_global_disable ();
extern void gui_filter_enable (struct t_gui_filter *filter);
extern void gui_filter_disable (struct t_gui_filter *filter);
extern struct t_gui_filter *gui_filter_search (const char *buffer,
const char *tags,
const char *regex);
extern struct t_gui_filter *gui_filter_search_by_number (int number);
extern struct t_gui_filter *gui_filter_new (const char *buffer,
extern struct t_gui_filter *gui_filter_new (int enabled,
const char *buffer,
const char *tags,
const char *regex);
extern void gui_filter_free (struct t_gui_filter *filter);