From b05f21f26a190539efbc2551195b2db922dafd71 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Fri, 30 Jan 2009 14:59:16 +0100 Subject: [PATCH] Add plugin name in buffer name for filters For example, freenode.#weechat becomes irc.freenode.#weechat for buffer name in filter. --- po/cs.po | 46 +++++++++++------------ po/de.po | 44 +++++++++++----------- po/es.po | 44 +++++++++++----------- po/fr.po | 85 ++++++++++++++++++++---------------------- po/hu.po | 44 +++++++++++----------- po/ru.po | 44 +++++++++++----------- po/weechat.pot | 44 +++++++++++----------- src/core/wee-command.c | 42 +++++++++++---------- src/core/wee-config.c | 6 ++- src/gui/gui-filter.c | 46 +++++++++++++++++------ src/gui/gui-filter.h | 9 +++-- 11 files changed, 239 insertions(+), 215 deletions(-) diff --git a/po/cs.po b/po/cs.po index ee7a06133..258b3ea3c 100644 --- a/po/cs.po +++ b/po/cs.po @@ -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: 2009-01-30 14:15+0100\n" +"POT-Creation-Date: 2009-01-30 14:55+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Jiri Golembiovsky \n" "Language-Team: weechat-dev \n" @@ -223,8 +223,8 @@ msgstr "%sPlugin \"%s\" nenalezen" msgid "Debug disabled for \"%s\"" msgstr "%s: ladění vypnuto" -#, c-format -msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s" +#, fuzzy, c-format +msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s" msgstr " %s[%s%s%s]%s buffer: %s%s%s / značky: %s / výraz: %s %s" msgid "(disabled)" @@ -857,39 +857,39 @@ msgstr "" #, fuzzy msgid "" -"[list] | [enable|disable|toggle [name]] | [add name buffer tags regex] | " -"[del name|-all]" +"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags " +"regex] | [del name|-all]" msgstr "" "[list] | [enable|disable|toggle] | [add buffer tagy regex] | [del číslo]" #, fuzzy msgid "" -" list: list all filters\n" -" enable: enable filters (filters are enabled by default)\n" -"disable: disable filters\n" -" toggle: toggle filters\n" -" name: filter name\n" -" add: add a filter\n" -" del: delete a filter\n" -" -all: delete all filters\n" -" buffer: buffer where filter is active: it may be a name or \"*\" for all " -"buffers\n" -" tags: comma separated list of tags, for example: \"irc_join,irc_part," -"irc_quit\"\n" -" regex: regular expression to search in line (use \\t to separate prefix " -"from message)\n" +" list: list all filters\n" +" enable: enable filters (filters are enabled by default)\n" +" disable: disable filters\n" +" toggle: toggle filters\n" +" name: filter name\n" +" add: add a filter\n" +" del: delete a filter\n" +" -all: delete all filters\n" +"plugin.buffer: plugin and buffer where filter is active (\"*\" for all " +"buffers)\n" +" tags: comma separated list of tags, for example: \"irc_join," +"irc_part,irc_quit\"\n" +" regex: regular expression to search in line (use \\t to separate " +"prefix from message)\n" "\n" "Examples:\n" " use IRC smart filter for join/part/quit messages:\n" " /filter add irc_smart * irc_smart_filter *\n" " filter all IRC join/part/quit messages:\n" " /filter add joinquit * irc_join,irc_part,irc_quit *\n" -" filter nick \"toto\" on channel #weechat:\n" -" /filter add toto freenode.#weechat * toto\\t\n" +" filter nick \"toto\" on IRC channel #weechat:\n" +" /filter add toto irc.freenode.#weechat * toto\\t\n" " filter lines containing word \"spam\":\n" " /filter add filterspam * * spam\n" -" filter lines containing \"weechat sucks\" on channel #weechat:\n" -" /filter add sucks freenode.#weechat * weechat sucks" +" filter lines containing \"weechat sucks\" on IRC channel #weechat:\n" +" /filter add sucks irc.freenode.#weechat * weechat sucks" msgstr "" " list: seznam všech filtrů\n" " enable: povolit filtry (filtry jsou defaultně povoleny)\n" diff --git a/po/de.po b/po/de.po index 2d396d14c..28dac7240 100644 --- a/po/de.po +++ b/po/de.po @@ -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: 2009-01-30 14:15+0100\n" +"POT-Creation-Date: 2009-01-30 14:55+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Thomas Schuetz \n" "Language-Team: weechat-dev \n" @@ -236,7 +236,7 @@ msgid "Debug disabled for \"%s\"" msgstr "" #, fuzzy, c-format -msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s" +msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s" msgstr " (kein Message-Handler)\n" #, fuzzy @@ -899,37 +899,37 @@ msgid "" msgstr "" msgid "" -"[list] | [enable|disable|toggle [name]] | [add name buffer tags regex] | " -"[del name|-all]" +"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags " +"regex] | [del name|-all]" msgstr "" msgid "" -" list: list all filters\n" -" enable: enable filters (filters are enabled by default)\n" -"disable: disable filters\n" -" toggle: toggle filters\n" -" name: filter name\n" -" add: add a filter\n" -" del: delete a filter\n" -" -all: delete all filters\n" -" buffer: buffer where filter is active: it may be a name or \"*\" for all " -"buffers\n" -" tags: comma separated list of tags, for example: \"irc_join,irc_part," -"irc_quit\"\n" -" regex: regular expression to search in line (use \\t to separate prefix " -"from message)\n" +" list: list all filters\n" +" enable: enable filters (filters are enabled by default)\n" +" disable: disable filters\n" +" toggle: toggle filters\n" +" name: filter name\n" +" add: add a filter\n" +" del: delete a filter\n" +" -all: delete all filters\n" +"plugin.buffer: plugin and buffer where filter is active (\"*\" for all " +"buffers)\n" +" tags: comma separated list of tags, for example: \"irc_join," +"irc_part,irc_quit\"\n" +" regex: regular expression to search in line (use \\t to separate " +"prefix from message)\n" "\n" "Examples:\n" " use IRC smart filter for join/part/quit messages:\n" " /filter add irc_smart * irc_smart_filter *\n" " filter all IRC join/part/quit messages:\n" " /filter add joinquit * irc_join,irc_part,irc_quit *\n" -" filter nick \"toto\" on channel #weechat:\n" -" /filter add toto freenode.#weechat * toto\\t\n" +" filter nick \"toto\" on IRC channel #weechat:\n" +" /filter add toto irc.freenode.#weechat * toto\\t\n" " filter lines containing word \"spam\":\n" " /filter add filterspam * * spam\n" -" filter lines containing \"weechat sucks\" on channel #weechat:\n" -" /filter add sucks freenode.#weechat * weechat sucks" +" filter lines containing \"weechat sucks\" on IRC channel #weechat:\n" +" /filter add sucks irc.freenode.#weechat * weechat sucks" msgstr "" #, fuzzy diff --git a/po/es.po b/po/es.po index fc4ad2188..ff38e4f33 100644 --- a/po/es.po +++ b/po/es.po @@ -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: 2009-01-30 14:15+0100\n" +"POT-Creation-Date: 2009-01-30 14:55+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Roberto González Cardenete \n" "Language-Team: weechat-dev \n" @@ -232,7 +232,7 @@ msgid "Debug disabled for \"%s\"" msgstr "" #, fuzzy, c-format -msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s" +msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s" msgstr " (sin manejador de mensaje)\n" #, fuzzy @@ -895,37 +895,37 @@ msgid "" msgstr "" msgid "" -"[list] | [enable|disable|toggle [name]] | [add name buffer tags regex] | " -"[del name|-all]" +"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags " +"regex] | [del name|-all]" msgstr "" msgid "" -" list: list all filters\n" -" enable: enable filters (filters are enabled by default)\n" -"disable: disable filters\n" -" toggle: toggle filters\n" -" name: filter name\n" -" add: add a filter\n" -" del: delete a filter\n" -" -all: delete all filters\n" -" buffer: buffer where filter is active: it may be a name or \"*\" for all " -"buffers\n" -" tags: comma separated list of tags, for example: \"irc_join,irc_part," -"irc_quit\"\n" -" regex: regular expression to search in line (use \\t to separate prefix " -"from message)\n" +" list: list all filters\n" +" enable: enable filters (filters are enabled by default)\n" +" disable: disable filters\n" +" toggle: toggle filters\n" +" name: filter name\n" +" add: add a filter\n" +" del: delete a filter\n" +" -all: delete all filters\n" +"plugin.buffer: plugin and buffer where filter is active (\"*\" for all " +"buffers)\n" +" tags: comma separated list of tags, for example: \"irc_join," +"irc_part,irc_quit\"\n" +" regex: regular expression to search in line (use \\t to separate " +"prefix from message)\n" "\n" "Examples:\n" " use IRC smart filter for join/part/quit messages:\n" " /filter add irc_smart * irc_smart_filter *\n" " filter all IRC join/part/quit messages:\n" " /filter add joinquit * irc_join,irc_part,irc_quit *\n" -" filter nick \"toto\" on channel #weechat:\n" -" /filter add toto freenode.#weechat * toto\\t\n" +" filter nick \"toto\" on IRC channel #weechat:\n" +" /filter add toto irc.freenode.#weechat * toto\\t\n" " filter lines containing word \"spam\":\n" " /filter add filterspam * * spam\n" -" filter lines containing \"weechat sucks\" on channel #weechat:\n" -" /filter add sucks freenode.#weechat * weechat sucks" +" filter lines containing \"weechat sucks\" on IRC channel #weechat:\n" +" /filter add sucks irc.freenode.#weechat * weechat sucks" msgstr "" #, fuzzy diff --git a/po/fr.po b/po/fr.po index e164626ea..45aeb2c4a 100644 --- a/po/fr.po +++ b/po/fr.po @@ -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: 2009-01-30 14:15+0100\n" -"PO-Revision-Date: 2009-01-30 14:14+0100\n" +"POT-Creation-Date: 2009-01-30 14:55+0100\n" +"PO-Revision-Date: 2009-01-30 14:56+0100\n" "Last-Translator: FlashCode \n" "Language-Team: weechat-dev \n" "MIME-Version: 1.0\n" @@ -226,8 +226,8 @@ msgid "Debug disabled for \"%s\"" msgstr "Debug désactivé pour \"%s\"" #, c-format -msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s" -msgstr " %s[%s%s%s]%s tampon: %s%s%s / tags: %s / regex: %s %s" +msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s" +msgstr " %s[%s%s%s]%s tampon: %s%s%s%s%s / tags: %s / regex: %s %s" msgid "(disabled)" msgstr "(désactivé)" @@ -915,66 +915,63 @@ msgstr "" "tags ou expressions régulières" msgid "" -"[list] | [enable|disable|toggle [name]] | [add name buffer tags regex] | " -"[del name|-all]" +"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags " +"regex] | [del name|-all]" msgstr "" -"[list] | [enable|disable|toggle [nom]] | [add nom buffer tags regex] | [del " -"nom|-all]" +"[list] | [enable|disable|toggle [nom]] | [add nom extension.tampon tags " +"regex] | [del nom|-all]" msgid "" -" list: list all filters\n" -" enable: enable filters (filters are enabled by default)\n" -"disable: disable filters\n" -" toggle: toggle filters\n" -" name: filter name\n" -" add: add a filter\n" -" del: delete a filter\n" -" -all: delete all filters\n" -" buffer: buffer where filter is active: it may be a name or \"*\" for all " -"buffers\n" -" tags: comma separated list of tags, for example: \"irc_join,irc_part," -"irc_quit\"\n" -" regex: regular expression to search in line (use \\t to separate prefix " -"from message)\n" +" list: list all filters\n" +" enable: enable filters (filters are enabled by default)\n" +" disable: disable filters\n" +" toggle: toggle filters\n" +" name: filter name\n" +" add: add a filter\n" +" del: delete a filter\n" +" -all: delete all filters\n" +"plugin.buffer: plugin and buffer where filter is active (\"*\" for all " +"buffers)\n" +" tags: comma separated list of tags, for example: \"irc_join," +"irc_part,irc_quit\"\n" +" regex: regular expression to search in line (use \\t to separate " +"prefix from message)\n" "\n" "Examples:\n" " use IRC smart filter for join/part/quit messages:\n" " /filter add irc_smart * irc_smart_filter *\n" " filter all IRC join/part/quit messages:\n" " /filter add joinquit * irc_join,irc_part,irc_quit *\n" -" filter nick \"toto\" on channel #weechat:\n" -" /filter add toto freenode.#weechat * toto\\t\n" +" filter nick \"toto\" on IRC channel #weechat:\n" +" /filter add toto irc.freenode.#weechat * toto\\t\n" " filter lines containing word \"spam\":\n" " /filter add filterspam * * spam\n" -" filter lines containing \"weechat sucks\" on channel #weechat:\n" -" /filter add sucks freenode.#weechat * weechat sucks" +" filter lines containing \"weechat sucks\" on IRC channel #weechat:\n" +" /filter add sucks irc.freenode.#weechat * weechat sucks" msgstr "" -" list: liste tous les filtres\n" -" enable: active les filtres (par défaut les filtres sont activés)\n" -"disable: désactive les filtres\n" -" toggle: active/désactive les filtres\n" -" nom: nom de filtre\n" -" add: ajoute un filtre\n" -" del: supprime un filtre\n" -" -all: supprime tous les filtres\n" -" buffer: tampon où le filtre est actif: cela peut être un nom ou \"*\" pour " -"tous les tampons\n" -" tags: liste de tags, séparés par des virgules, par exemple: \"irc_join," -"irc_part,irc_quit\"\n" -" regex: expressoin régulière à rechercher dans la ligne (utiliser \\t pour " -"séparer le préfixe du message)\n" +" list: liste tous les filtres\n" +" enable: active les filtres (par défaut les filtres sont activés)\n" +" disable: désactive les filtres\n" +" toggle: active/désactive les filtres\n" +" nom: nom de filtre\n" +" add: ajoute un filtre\n" +" del: supprime un filtre\n" +" -all: supprime tous les filtres\n" +"extension.tampon: extension et tampon où le filtre est actif (\"*\" pour tous les tampons)\n" +" tags: liste de tags, séparés par des virgules, par exemple: \"irc_join,irc_part,irc_quit\"\n" +" regex: expressoin régulière à rechercher dans la ligne (utiliser \\t pour séparer le préfixe du message)\n" "\n" "Exemples:\n" " utiliser le filtre intelligent IRC pour les messages join/part/quit:\n" " /filter add irc_smart * irc_smart_filter *\n" " filtrer tous les messages IRC join/part/quit:\n" " /filter add joinquit * irc_join,irc_part,irc_quit *\n" -" filtrer le pseudo \"toto\" sur le canal #weechat:\n" -" /filter add toto freenode.#weechat * toto\\t\n" +" filtrer le pseudo \"toto\" sur le canal IRC #weechat:\n" +" /filter add toto irc.freenode.#weechat * toto\\t\n" " filtrer les lignes contenant le mot \"spam\":\n" " /filter add filtrespam * * spam\n" -" filtrer les lignes contenant \"weechat sucks\" sur le canal #weechat:\n" -" /filter add sucks freenode.#weechat * weechat sucks" +" filtrer les lignes contenant \"weechat sucks\" sur le canal IRC #weechat:\n" +" /filter add sucks irc.freenode.#weechat * weechat sucks" msgid "display help about commands and options" msgstr "afficher l'aide sur les commandes et les options" diff --git a/po/hu.po b/po/hu.po index be6d1d639..94a1b8214 100644 --- a/po/hu.po +++ b/po/hu.po @@ -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: 2009-01-30 14:15+0100\n" +"POT-Creation-Date: 2009-01-30 14:55+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -237,7 +237,7 @@ msgid "Debug disabled for \"%s\"" msgstr "" #, fuzzy, c-format -msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s" +msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s" msgstr " (nincs üzenetkezelő)\n" #, fuzzy @@ -915,37 +915,37 @@ msgid "" msgstr "" msgid "" -"[list] | [enable|disable|toggle [name]] | [add name buffer tags regex] | " -"[del name|-all]" +"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags " +"regex] | [del name|-all]" msgstr "" msgid "" -" list: list all filters\n" -" enable: enable filters (filters are enabled by default)\n" -"disable: disable filters\n" -" toggle: toggle filters\n" -" name: filter name\n" -" add: add a filter\n" -" del: delete a filter\n" -" -all: delete all filters\n" -" buffer: buffer where filter is active: it may be a name or \"*\" for all " -"buffers\n" -" tags: comma separated list of tags, for example: \"irc_join,irc_part," -"irc_quit\"\n" -" regex: regular expression to search in line (use \\t to separate prefix " -"from message)\n" +" list: list all filters\n" +" enable: enable filters (filters are enabled by default)\n" +" disable: disable filters\n" +" toggle: toggle filters\n" +" name: filter name\n" +" add: add a filter\n" +" del: delete a filter\n" +" -all: delete all filters\n" +"plugin.buffer: plugin and buffer where filter is active (\"*\" for all " +"buffers)\n" +" tags: comma separated list of tags, for example: \"irc_join," +"irc_part,irc_quit\"\n" +" regex: regular expression to search in line (use \\t to separate " +"prefix from message)\n" "\n" "Examples:\n" " use IRC smart filter for join/part/quit messages:\n" " /filter add irc_smart * irc_smart_filter *\n" " filter all IRC join/part/quit messages:\n" " /filter add joinquit * irc_join,irc_part,irc_quit *\n" -" filter nick \"toto\" on channel #weechat:\n" -" /filter add toto freenode.#weechat * toto\\t\n" +" filter nick \"toto\" on IRC channel #weechat:\n" +" /filter add toto irc.freenode.#weechat * toto\\t\n" " filter lines containing word \"spam\":\n" " /filter add filterspam * * spam\n" -" filter lines containing \"weechat sucks\" on channel #weechat:\n" -" /filter add sucks freenode.#weechat * weechat sucks" +" filter lines containing \"weechat sucks\" on IRC channel #weechat:\n" +" /filter add sucks irc.freenode.#weechat * weechat sucks" msgstr "" #, fuzzy diff --git a/po/ru.po b/po/ru.po index 863b3503c..bfb611a36 100644 --- a/po/ru.po +++ b/po/ru.po @@ -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: 2009-01-30 14:15+0100\n" +"POT-Creation-Date: 2009-01-30 14:55+0100\n" "PO-Revision-Date: 2009-01-03 00:42+0100\n" "Last-Translator: Pavel Shevchuk \n" "Language-Team: weechat-dev \n" @@ -233,7 +233,7 @@ msgid "Debug disabled for \"%s\"" msgstr "" #, fuzzy, c-format -msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s" +msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s" msgstr " (нет обработчика сообщений)\n" #, fuzzy @@ -910,37 +910,37 @@ msgid "" msgstr "" msgid "" -"[list] | [enable|disable|toggle [name]] | [add name buffer tags regex] | " -"[del name|-all]" +"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags " +"regex] | [del name|-all]" msgstr "" msgid "" -" list: list all filters\n" -" enable: enable filters (filters are enabled by default)\n" -"disable: disable filters\n" -" toggle: toggle filters\n" -" name: filter name\n" -" add: add a filter\n" -" del: delete a filter\n" -" -all: delete all filters\n" -" buffer: buffer where filter is active: it may be a name or \"*\" for all " -"buffers\n" -" tags: comma separated list of tags, for example: \"irc_join,irc_part," -"irc_quit\"\n" -" regex: regular expression to search in line (use \\t to separate prefix " -"from message)\n" +" list: list all filters\n" +" enable: enable filters (filters are enabled by default)\n" +" disable: disable filters\n" +" toggle: toggle filters\n" +" name: filter name\n" +" add: add a filter\n" +" del: delete a filter\n" +" -all: delete all filters\n" +"plugin.buffer: plugin and buffer where filter is active (\"*\" for all " +"buffers)\n" +" tags: comma separated list of tags, for example: \"irc_join," +"irc_part,irc_quit\"\n" +" regex: regular expression to search in line (use \\t to separate " +"prefix from message)\n" "\n" "Examples:\n" " use IRC smart filter for join/part/quit messages:\n" " /filter add irc_smart * irc_smart_filter *\n" " filter all IRC join/part/quit messages:\n" " /filter add joinquit * irc_join,irc_part,irc_quit *\n" -" filter nick \"toto\" on channel #weechat:\n" -" /filter add toto freenode.#weechat * toto\\t\n" +" filter nick \"toto\" on IRC channel #weechat:\n" +" /filter add toto irc.freenode.#weechat * toto\\t\n" " filter lines containing word \"spam\":\n" " /filter add filterspam * * spam\n" -" filter lines containing \"weechat sucks\" on channel #weechat:\n" -" /filter add sucks freenode.#weechat * weechat sucks" +" filter lines containing \"weechat sucks\" on IRC channel #weechat:\n" +" /filter add sucks irc.freenode.#weechat * weechat sucks" msgstr "" #, fuzzy diff --git a/po/weechat.pot b/po/weechat.pot index 9dd4f17ab..3d710f52d 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2009-01-30 14:15+0100\n" +"POT-Creation-Date: 2009-01-30 14:55+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -207,7 +207,7 @@ msgid "Debug disabled for \"%s\"" msgstr "" #, c-format -msgid " %s[%s%s%s]%s buffer: %s%s%s / tags: %s / regex: %s %s" +msgid " %s[%s%s%s]%s buffer: %s%s%s%s%s / tags: %s / regex: %s %s" msgstr "" msgid "(disabled)" @@ -788,37 +788,37 @@ msgid "" msgstr "" msgid "" -"[list] | [enable|disable|toggle [name]] | [add name buffer tags regex] | " -"[del name|-all]" +"[list] | [enable|disable|toggle [name]] | [add name plugin.buffer tags " +"regex] | [del name|-all]" msgstr "" msgid "" -" list: list all filters\n" -" enable: enable filters (filters are enabled by default)\n" -"disable: disable filters\n" -" toggle: toggle filters\n" -" name: filter name\n" -" add: add a filter\n" -" del: delete a filter\n" -" -all: delete all filters\n" -" buffer: buffer where filter is active: it may be a name or \"*\" for all " -"buffers\n" -" tags: comma separated list of tags, for example: \"irc_join,irc_part," -"irc_quit\"\n" -" regex: regular expression to search in line (use \\t to separate prefix " -"from message)\n" +" list: list all filters\n" +" enable: enable filters (filters are enabled by default)\n" +" disable: disable filters\n" +" toggle: toggle filters\n" +" name: filter name\n" +" add: add a filter\n" +" del: delete a filter\n" +" -all: delete all filters\n" +"plugin.buffer: plugin and buffer where filter is active (\"*\" for all " +"buffers)\n" +" tags: comma separated list of tags, for example: \"irc_join," +"irc_part,irc_quit\"\n" +" regex: regular expression to search in line (use \\t to separate " +"prefix from message)\n" "\n" "Examples:\n" " use IRC smart filter for join/part/quit messages:\n" " /filter add irc_smart * irc_smart_filter *\n" " filter all IRC join/part/quit messages:\n" " /filter add joinquit * irc_join,irc_part,irc_quit *\n" -" filter nick \"toto\" on channel #weechat:\n" -" /filter add toto freenode.#weechat * toto\\t\n" +" filter nick \"toto\" on IRC channel #weechat:\n" +" /filter add toto irc.freenode.#weechat * toto\\t\n" " filter lines containing word \"spam\":\n" " /filter add filterspam * * spam\n" -" filter lines containing \"weechat sucks\" on channel #weechat:\n" -" /filter add sucks freenode.#weechat * weechat sucks" +" filter lines containing \"weechat sucks\" on IRC channel #weechat:\n" +" /filter add sucks irc.freenode.#weechat * weechat sucks" msgstr "" msgid "display help about commands and options" diff --git a/src/core/wee-command.c b/src/core/wee-command.c index 689bb14c0..427398ef5 100644 --- a/src/core/wee-command.c +++ b/src/core/wee-command.c @@ -885,7 +885,7 @@ void command_filter_display (struct t_gui_filter *filter) { gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER, - _(" %s[%s%s%s]%s buffer: %s%s%s " + _(" %s[%s%s%s]%s buffer: %s%s%s%s%s " "/ tags: %s / regex: %s %s"), GUI_COLOR(GUI_COLOR_CHAT_DELIMITERS), GUI_COLOR(GUI_COLOR_CHAT), @@ -893,7 +893,9 @@ command_filter_display (struct t_gui_filter *filter) GUI_COLOR(GUI_COLOR_CHAT_DELIMITERS), GUI_COLOR(GUI_COLOR_CHAT), GUI_COLOR(GUI_COLOR_CHAT_BUFFER), - filter->buffer, + (filter->plugin_name) ? filter->plugin_name : "", + (filter->plugin_name) ? "." : "", + filter->buffer_name, GUI_COLOR(GUI_COLOR_CHAT), filter->tags, filter->regex, @@ -3597,35 +3599,35 @@ command_init () N_("filter messages in buffers, to hide/show them according " "to tags or regex"), N_("[list] | [enable|disable|toggle [name]] | " - "[add name buffer tags regex] | " + "[add name plugin.buffer tags regex] | " "[del name|-all]"), - N_(" list: list all filters\n" - " enable: enable filters (filters are enabled by " + N_(" list: list all filters\n" + " enable: enable filters (filters are enabled by " "default)\n" - "disable: disable filters\n" - " toggle: toggle filters\n" - " name: filter name\n" - " add: add a filter\n" - " del: delete a filter\n" - " -all: delete all filters\n" - " buffer: buffer where filter is active: it may be " - "a name or \"*\" for all buffers\n" - " tags: comma separated list of tags, for " + " disable: disable filters\n" + " toggle: toggle filters\n" + " name: filter name\n" + " add: add a filter\n" + " del: delete a filter\n" + " -all: delete all filters\n" + "plugin.buffer: plugin and buffer where filter is active " + "(\"*\" for all buffers)\n" + " tags: comma separated list of tags, for " "example: \"irc_join,irc_part,irc_quit\"\n" - " regex: regular expression to search in " + " regex: regular expression to search in " "line (use \\t to separate prefix from message)\n\n" "Examples:\n" " use IRC smart filter for join/part/quit messages:\n" " /filter add irc_smart * irc_smart_filter *\n" " filter all IRC join/part/quit messages:\n" " /filter add joinquit * irc_join,irc_part,irc_quit *\n" - " filter nick \"toto\" on channel #weechat:\n" - " /filter add toto freenode.#weechat * toto\\t\n" + " filter nick \"toto\" on IRC channel #weechat:\n" + " /filter add toto irc.freenode.#weechat * toto\\t\n" " filter lines containing word \"spam\":\n" " /filter add filterspam * * spam\n" - " filter lines containing \"weechat sucks\" on channel " - "#weechat:\n" - " /filter add sucks freenode.#weechat * weechat sucks"), + " filter lines containing \"weechat sucks\" on IRC " + "channel #weechat:\n" + " /filter add sucks irc.freenode.#weechat * weechat sucks"), "list|enable|disable|toggle|add|rename|del %F", &command_filter, NULL); hook_command (NULL, "help", diff --git a/src/core/wee-config.c b/src/core/wee-config.c index 8715d26c8..14770ec0d 100644 --- a/src/core/wee-config.c +++ b/src/core/wee-config.c @@ -900,9 +900,11 @@ config_weechat_filter_write_cb (void *data, struct t_config_file *config_file, { config_file_write_line (config_file, ptr_filter->name, - "%s;%s;%s;%s", + "%s;%s%s%s;%s;%s", (ptr_filter->enabled) ? "on" : "off", - ptr_filter->buffer, + (ptr_filter->plugin_name) ? ptr_filter->plugin_name : "", + (ptr_filter->plugin_name) ? "." : "", + ptr_filter->buffer_name, ptr_filter->tags, ptr_filter->regex); } diff --git a/src/gui/gui-filter.c b/src/gui/gui-filter.c index b6851634b..83e641471 100644 --- a/src/gui/gui-filter.c +++ b/src/gui/gui-filter.c @@ -86,8 +86,10 @@ gui_filter_check_line (struct t_gui_buffer *buffer, struct t_gui_line *line) { if (ptr_filter->enabled) { - /* check buffer name */ - if (string_match (buffer->name, ptr_filter->buffer, 0)) + /* check plugin and buffer names */ + if ((!ptr_filter->plugin_name + || (string_strcasecmp (plugin_get_name (buffer->plugin), ptr_filter->plugin_name) == 0)) + && string_match (buffer->name, ptr_filter->buffer_name, 0)) { if ((strcmp (ptr_filter->tags, "*") == 0) || (gui_chat_line_match_tags (line, @@ -235,14 +237,14 @@ gui_filter_disable (struct t_gui_filter *filter) */ struct t_gui_filter * -gui_filter_search (const char *buffer, const char *tags, const char *regex) +gui_filter_search (const char *buffer_name, const char *tags, const char *regex) { struct t_gui_filter *ptr_filter; for (ptr_filter = gui_filters; ptr_filter; ptr_filter = ptr_filter->next_filter) { - if ((strcmp (ptr_filter->buffer, buffer) == 0) + if ((strcmp (ptr_filter->buffer_name, buffer_name) == 0) && (strcmp (ptr_filter->tags, tags) == 0) && (strcmp (ptr_filter->regex, regex) == 0)) return ptr_filter; @@ -277,15 +279,15 @@ gui_filter_search_by_name (const char *name) */ struct t_gui_filter * -gui_filter_new (int enabled, const char *name, const char *buffer, +gui_filter_new (int enabled, const char *name, const char *buffer_name, const char *tags, const char *regex) { struct t_gui_filter *new_filter; regex_t *regex1, *regex2; - char *pos_tab, *regex_prefix; + char *pos_tab, *pos_point, *regex_prefix; const char *pos_regex_message; - if (!name || !buffer || !tags || !regex) + if (!name || !buffer_name || !tags || !regex) return NULL; if (gui_filter_search_by_name (name)) @@ -348,7 +350,22 @@ gui_filter_new (int enabled, const char *name, const char *buffer, /* init filter */ new_filter->enabled = enabled; new_filter->name = strdup (name); - new_filter->buffer = (buffer) ? strdup (buffer) : strdup ("*"); + new_filter->plugin_name = NULL; + if (buffer_name) + { + pos_point = strchr (buffer_name, '.'); + if (pos_point) + { + new_filter->plugin_name = string_strndup (buffer_name, pos_point - buffer_name); + new_filter->buffer_name = strdup (pos_point + 1); + } + else + new_filter->buffer_name = strdup (buffer_name); + } + else + { + new_filter->buffer_name = strdup ("*"); + } if (tags) { new_filter->tags = (tags) ? strdup (tags) : NULL; @@ -415,8 +432,10 @@ gui_filter_free (struct t_gui_filter *filter) /* free data */ if (filter->name) free (filter->name); - if (filter->buffer) - free (filter->buffer); + if (filter->plugin_name) + free (filter->plugin_name); + if (filter->buffer_name) + free (filter->buffer_name); if (filter->tags) free (filter->tags); if (filter->tags_array) @@ -486,7 +505,9 @@ gui_filter_add_to_infolist (struct t_infolist *infolist, if (!infolist_new_var_integer (ptr_item, "enabled", filter->enabled)) return 0; - if (!infolist_new_var_string (ptr_item, "buffer", filter->buffer)) + if (!infolist_new_var_string (ptr_item, "plugin_name", filter->plugin_name)) + return 0; + if (!infolist_new_var_string (ptr_item, "buffer_name", filter->buffer_name)) return 0; if (!infolist_new_var_string (ptr_item, "tags", filter->tags)) return 0; @@ -524,7 +545,8 @@ gui_filter_print_log () log_printf ("[filter (addr:0x%lx)]", ptr_filter); log_printf (" enabled. . . . . . . . : %d", ptr_filter->enabled); log_printf (" name . . . . . . . . . : '%s'", ptr_filter->name); - log_printf (" buffer . . . . . . . . : '%s'", ptr_filter->buffer); + log_printf (" plugin_name. . . . . . : '%s'", ptr_filter->plugin_name); + log_printf (" buffer_name. . . . . . : '%s'", ptr_filter->buffer_name); log_printf (" tags . . . . . . . . . : '%s'", ptr_filter->tags); log_printf (" regex. . . . . . . . . : '%s'", ptr_filter->regex); log_printf (" regex_prefix . . . . . : 0x%lx", ptr_filter->regex_prefix); diff --git a/src/gui/gui-filter.h b/src/gui/gui-filter.h index 5df669a65..d51a3c88e 100644 --- a/src/gui/gui-filter.h +++ b/src/gui/gui-filter.h @@ -31,8 +31,9 @@ struct t_gui_line; struct t_gui_filter { int enabled; /* 1 if filter enabled, otherwise 0 */ - char *name; - char *buffer; /* name of buffer */ + char *name; /* filter name */ + char *plugin_name; /* plugin name */ + char *buffer_name; /* name of buffer */ char *tags; /* tags */ int tags_count; /* number of tags */ char **tags_array; /* array of tags */ @@ -57,13 +58,13 @@ 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, +extern struct t_gui_filter *gui_filter_search (const char *buffer_name, const char *tags, const char *regex); extern struct t_gui_filter *gui_filter_search_by_name (const char *name); extern struct t_gui_filter *gui_filter_new (int enabled, const char *name, - const char *buffer, + const char *buffer_name, const char *tags, const char *regex); extern int gui_filter_rename (struct t_gui_filter *filter,