From a9094fd2fa7d0848fd07d3f564806e93388de173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Helleu?= Date: Sun, 25 Dec 2022 19:40:57 +0100 Subject: [PATCH] core: add option `add` in command `/hotlist` --- doc/de/includes/autogen_user_commands.de.adoc | 10 +- doc/en/includes/autogen_user_commands.en.adoc | 10 +- doc/fr/includes/autogen_user_commands.fr.adoc | 6 +- doc/it/includes/autogen_user_commands.it.adoc | 10 +- doc/ja/includes/autogen_user_commands.ja.adoc | 10 +- doc/pl/includes/autogen_user_commands.pl.adoc | 10 +- doc/sr/includes/autogen_user_commands.sr.adoc | 10 +- po/cs.po | 18 ++- po/de.po | 18 ++- po/es.po | 18 ++- po/fr.po | 29 ++-- po/hu.po | 18 ++- po/it.po | 18 ++- po/ja.po | 18 ++- po/pl.po | 18 ++- po/pt.po | 18 ++- po/pt_BR.po | 18 ++- po/ru.po | 18 ++- po/sr.po | 18 ++- po/tr.po | 18 ++- po/weechat.pot | 18 ++- src/core/wee-command.c | 33 ++++- src/core/wee-upgrade.c | 3 +- src/gui/gui-buffer.c | 2 +- src/gui/gui-hotlist.c | 128 +++++++++++------- src/gui/gui-hotlist.h | 4 +- src/gui/gui-line.c | 4 +- 27 files changed, 318 insertions(+), 185 deletions(-) diff --git a/doc/de/includes/autogen_user_commands.de.adoc b/doc/de/includes/autogen_user_commands.de.adoc index 491d5755b..aa6a9a884 100644 --- a/doc/de/includes/autogen_user_commands.de.adoc +++ b/doc/de/includes/autogen_user_commands.de.adoc @@ -1613,13 +1613,15 @@ value: Anzahl der gewünschten Einträgen im Befehlsverlauf anzeigen * `+hotlist+`: manage hotlist ---- -/hotlist clear [] +/hotlist add [low|message|private|highlight] + clear [] remove restore [-all] -clear: clear hotlist -level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) -remove: remove current buffer from hotlist + add: add current buffer in hotlist (default level: "low", conditions defined in option weechat.look.hotlist_add_conditions are NOT checked) + clear: clear hotlist + level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) + remove: remove current buffer from hotlist restore: restore latest hotlist removed in the current buffer (or all buffers with -all) ---- diff --git a/doc/en/includes/autogen_user_commands.en.adoc b/doc/en/includes/autogen_user_commands.en.adoc index 9be81508c..75a1e6aa0 100644 --- a/doc/en/includes/autogen_user_commands.en.adoc +++ b/doc/en/includes/autogen_user_commands.en.adoc @@ -1613,13 +1613,15 @@ value: number of history entries to show * `+hotlist+`: manage hotlist ---- -/hotlist clear [] +/hotlist add [low|message|private|highlight] + clear [] remove restore [-all] -clear: clear hotlist -level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) -remove: remove current buffer from hotlist + add: add current buffer in hotlist (default level: "low", conditions defined in option weechat.look.hotlist_add_conditions are NOT checked) + clear: clear hotlist + level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) + remove: remove current buffer from hotlist restore: restore latest hotlist removed in the current buffer (or all buffers with -all) ---- diff --git a/doc/fr/includes/autogen_user_commands.fr.adoc b/doc/fr/includes/autogen_user_commands.fr.adoc index 8739d2e56..4c2061602 100644 --- a/doc/fr/includes/autogen_user_commands.fr.adoc +++ b/doc/fr/includes/autogen_user_commands.fr.adoc @@ -1613,11 +1613,13 @@ valeur : nombre d'entrées dans l'historique à afficher * `+hotlist+`: gestion de la hotlist ---- -/hotlist clear [] +/hotlist add [low|message|private|highlight] + clear [] remove restore [-all] - clear : effacer la hotlist + add : ajouter le tampon courant dans la hotlist (niveau par défaut : "low", les conditions définies dans l'option weechat.look.hotlist_add_conditions ne sont PAS vérifiées) + clear : effacer la hotlist niveau : "lowest" pour effacer seulement le plus petit niveau dans la hotlist, "highest" pour effacer seulement le niveau le plus haut dans la hotlist, ou un masque de niveaux : entier qui est une combinaison de 1=join/part, 2=message, 4=privé, 8=highlight remove : supprimer le tampon courant de la hotlist restore : restaurer la dernière hotlist supprimée dans le tampon courant (ou tous les tampons avec -all) diff --git a/doc/it/includes/autogen_user_commands.it.adoc b/doc/it/includes/autogen_user_commands.it.adoc index 2f3d3b00e..d9f2b2299 100644 --- a/doc/it/includes/autogen_user_commands.it.adoc +++ b/doc/it/includes/autogen_user_commands.it.adoc @@ -1613,13 +1613,15 @@ valore: numero delle voci nella cronologia da mostrare * `+hotlist+`: manage hotlist ---- -/hotlist clear [] +/hotlist add [low|message|private|highlight] + clear [] remove restore [-all] -clear: clear hotlist -level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) -remove: remove current buffer from hotlist + add: add current buffer in hotlist (default level: "low", conditions defined in option weechat.look.hotlist_add_conditions are NOT checked) + clear: clear hotlist + level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) + remove: remove current buffer from hotlist restore: restore latest hotlist removed in the current buffer (or all buffers with -all) ---- diff --git a/doc/ja/includes/autogen_user_commands.ja.adoc b/doc/ja/includes/autogen_user_commands.ja.adoc index 7fd73285e..25c866325 100644 --- a/doc/ja/includes/autogen_user_commands.ja.adoc +++ b/doc/ja/includes/autogen_user_commands.ja.adoc @@ -1613,13 +1613,15 @@ value: 表示する履歴エントリの数 * `+hotlist+`: manage hotlist ---- -/hotlist clear [] +/hotlist add [low|message|private|highlight] + clear [] remove restore [-all] -clear: clear hotlist -level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) -remove: remove current buffer from hotlist + add: add current buffer in hotlist (default level: "low", conditions defined in option weechat.look.hotlist_add_conditions are NOT checked) + clear: clear hotlist + level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) + remove: remove current buffer from hotlist restore: restore latest hotlist removed in the current buffer (or all buffers with -all) ---- diff --git a/doc/pl/includes/autogen_user_commands.pl.adoc b/doc/pl/includes/autogen_user_commands.pl.adoc index 6a5f7eff0..88cc045de 100644 --- a/doc/pl/includes/autogen_user_commands.pl.adoc +++ b/doc/pl/includes/autogen_user_commands.pl.adoc @@ -1612,13 +1612,15 @@ Wartość: ilość elementów historii do pokazania * `+hotlist+`: manage hotlist ---- -/hotlist clear [] +/hotlist add [low|message|private|highlight] + clear [] remove restore [-all] -clear: clear hotlist -level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) -remove: remove current buffer from hotlist + add: add current buffer in hotlist (default level: "low", conditions defined in option weechat.look.hotlist_add_conditions are NOT checked) + clear: clear hotlist + level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) + remove: remove current buffer from hotlist restore: restore latest hotlist removed in the current buffer (or all buffers with -all) ---- diff --git a/doc/sr/includes/autogen_user_commands.sr.adoc b/doc/sr/includes/autogen_user_commands.sr.adoc index cd211f3b1..108687d98 100644 --- a/doc/sr/includes/autogen_user_commands.sr.adoc +++ b/doc/sr/includes/autogen_user_commands.sr.adoc @@ -1613,13 +1613,15 @@ addreplace: додаје или замењује постојећи филтер * `+hotlist+`: manage hotlist ---- -/hotlist clear [] +/hotlist add [low|message|private|highlight] + clear [] remove restore [-all] -clear: clear hotlist -level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) -remove: remove current buffer from hotlist + add: add current buffer in hotlist (default level: "low", conditions defined in option weechat.look.hotlist_add_conditions are NOT checked) + clear: clear hotlist + level: "lowest" to clear only lowest level in hotlist, highest" to clear only highest level in hotlist, or level mask: integer which is a combination of 1=join/part, 2=message, 4=private, 8=highlight) + remove: remove current buffer from hotlist restore: restore latest hotlist removed in the current buffer (or all buffers with -all) ---- diff --git a/po/cs.po b/po/cs.po index effd8e05b..0a8199fc2 100644 --- a/po/cs.po +++ b/po/cs.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-10-15 22:51+0200\n" "Last-Translator: Ondřej Súkup \n" "Language-Team: weechat-dev \n" @@ -1827,15 +1827,19 @@ msgstr "" msgid "manage hotlist" msgstr "spravovat proxy" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/de.po b/po/de.po index 5f4f666f4..e7d7f5e07 100644 --- a/po/de.po +++ b/po/de.po @@ -26,7 +26,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-12-14 22:37+0100\n" "Last-Translator: Nils Görs \n" "Language-Team: German - Germany \n" @@ -2328,15 +2328,19 @@ msgstr "" msgid "manage hotlist" msgstr "Proxys verwalten" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/es.po b/po/es.po index 6a8fb9c58..38647b7d8 100644 --- a/po/es.po +++ b/po/es.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-10-15 22:51+0200\n" "Last-Translator: Santiago Forero \n" "Language-Team: weechat-dev \n" @@ -2231,15 +2231,19 @@ msgstr "" msgid "manage hotlist" msgstr "gestionar los proxies" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/fr.po b/po/fr.po index fbfe72ab3..825d3339e 100644 --- a/po/fr.po +++ b/po/fr.po @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" -"PO-Revision-Date: 2022-12-25 18:46+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" +"PO-Revision-Date: 2022-12-25 19:37+0100\n" "Last-Translator: Sébastien Helleu \n" "Language-Team: weechat-dev \n" "Language: fr\n" @@ -2172,19 +2172,28 @@ msgstr "" msgid "manage hotlist" msgstr "gestion de la hotlist" -msgid "clear [] || remove || restore [-all]" -msgstr "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" +msgstr "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" -" clear : effacer la hotlist\n" +" add : ajouter le tampon courant dans la hotlist (niveau par défaut : " +"\"low\", les conditions définies dans l'option weechat.look." +"hotlist_add_conditions ne sont PAS vérifiées)\n" +" clear : effacer la hotlist\n" " niveau : \"lowest\" pour effacer seulement le plus petit niveau dans la " "hotlist, \"highest\" pour effacer seulement le niveau le plus haut dans la " "hotlist, ou un masque de niveaux : entier qui est une combinaison de 1=join/" diff --git a/po/hu.po b/po/hu.po index 0e3113cb9..341ddbe41 100644 --- a/po/hu.po +++ b/po/hu.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-10-15 22:51+0200\n" "Last-Translator: Andras Voroskoi \n" "Language-Team: weechat-dev \n" @@ -1702,15 +1702,19 @@ msgstr "" msgid "manage hotlist" msgstr "pufferek kezelése" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/it.po b/po/it.po index 216ac1d55..de7d84c8c 100644 --- a/po/it.po +++ b/po/it.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-10-15 22:51+0200\n" "Last-Translator: Esteban I. Ruiz Moreno \n" "Language-Team: weechat-dev \n" @@ -1890,15 +1890,19 @@ msgstr "" msgid "manage hotlist" msgstr "gestione dei proxy" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/ja.po b/po/ja.po index 1a55ecdb8..6b7dd14f1 100644 --- a/po/ja.po +++ b/po/ja.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-10-15 22:51+0200\n" "Last-Translator: AYANOKOUZI, Ryuunosuke \n" "Language-Team: Japanese ] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/pl.po b/po/pl.po index 35191a501..0a1329049 100644 --- a/po/pl.po +++ b/po/pl.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-10-15 22:51+0200\n" "Last-Translator: Krzysztof Korościk \n" "Language-Team: Polish \n" @@ -2398,15 +2398,19 @@ msgstr "" msgid "manage hotlist" msgstr "zarządzanie proxy" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/pt.po b/po/pt.po index 804a38dd7..268ffcc99 100644 --- a/po/pt.po +++ b/po/pt.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-10-15 22:51+0200\n" "Last-Translator: Vasco Almeida \n" "Language-Team: Portuguese <>\n" @@ -2079,15 +2079,19 @@ msgstr "" msgid "manage hotlist" msgstr "gerir os proxies" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/pt_BR.po b/po/pt_BR.po index 4b9a08692..38e05407e 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-10-15 22:51+0200\n" "Last-Translator: Érico Nogueira \n" "Language-Team: weechat-dev \n" @@ -1955,15 +1955,19 @@ msgstr "" msgid "manage hotlist" msgstr "gerenciar proxies" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/ru.po b/po/ru.po index 5d2c161bb..5f79f66af 100644 --- a/po/ru.po +++ b/po/ru.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-10-15 22:51+0200\n" "Last-Translator: Aleksey V Zapparov AKA ixti \n" "Language-Team: weechat-dev \n" @@ -1723,15 +1723,19 @@ msgstr "" msgid "manage hotlist" msgstr "управление буферами" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/sr.po b/po/sr.po index e7e673f3a..5a1efe3f6 100644 --- a/po/sr.po +++ b/po/sr.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-12-05 09:44+0400\n" "Last-Translator: Ivan Pešić \n" "Language-Team: weechat-dev \n" @@ -2255,15 +2255,19 @@ msgstr "" msgid "manage hotlist" msgstr "управљање проксијима" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/tr.po b/po/tr.po index bd0eb293b..92a1c9953 100644 --- a/po/tr.po +++ b/po/tr.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2022-10-15 22:51+0200\n" "Last-Translator: Emir SARI \n" "Language-Team: weechat-dev \n" @@ -2377,15 +2377,19 @@ msgstr "" msgid "manage hotlist" msgstr "vekilleri yönet" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/po/weechat.pot b/po/weechat.pot index 9c8fb43f8..3ddbe908c 100644 --- a/po/weechat.pot +++ b/po/weechat.pot @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: WeeChat\n" "Report-Msgid-Bugs-To: flashcode@flashtux.org\n" -"POT-Creation-Date: 2022-12-25 18:41+0100\n" +"POT-Creation-Date: 2022-12-25 19:37+0100\n" "PO-Revision-Date: 2014-08-16 10:27+0200\n" "Last-Translator: Sébastien Helleu \n" "Language-Team: weechat-dev \n" @@ -1563,15 +1563,19 @@ msgstr "" msgid "manage hotlist" msgstr "" -msgid "clear [] || remove || restore [-all]" +msgid "" +"add [low|message|private|highlight] || clear [] || remove || restore " +"[-all]" msgstr "" msgid "" -"clear: clear hotlist\n" -"level: \"lowest\" to clear only lowest level in hotlist, highest\" to clear " -"only highest level in hotlist, or level mask: integer which is a combination " -"of 1=join/part, 2=message, 4=private, 8=highlight)\n" -"remove: remove current buffer from hotlist\n" +" add: add current buffer in hotlist (default level: \"low\", conditions " +"defined in option weechat.look.hotlist_add_conditions are NOT checked)\n" +" clear: clear hotlist\n" +" level: \"lowest\" to clear only lowest level in hotlist, highest\" to " +"clear only highest level in hotlist, or level mask: integer which is a " +"combination of 1=join/part, 2=message, 4=private, 8=highlight)\n" +" remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer (or all " "buffers with -all)" msgstr "" diff --git a/src/core/wee-command.c b/src/core/wee-command.c index 90d399ee6..e88e51587 100644 --- a/src/core/wee-command.c +++ b/src/core/wee-command.c @@ -3275,6 +3275,8 @@ COMMAND_CALLBACK(history) COMMAND_CALLBACK(hotlist) { + int priority; + /* make C compiler happy */ (void) pointer; (void) data; @@ -3282,6 +3284,19 @@ COMMAND_CALLBACK(hotlist) COMMAND_MIN_ARGS(2, ""); + if (string_strcasecmp (argv[1], "add") == 0) + { + priority = GUI_HOTLIST_LOW; + if (argc > 2) + { + priority = gui_hotlist_search_priority (argv[2]); + if (priority < 0) + COMMAND_ERROR; + } + gui_hotlist_add (buffer, priority, NULL, 0); + return WEECHAT_RC_OK; + } + if (string_strcasecmp (argv[1], "clear") == 0) { gui_hotlist_clear_level_string (buffer, (argc > 2) ? argv[2] : NULL); @@ -8067,17 +8082,25 @@ command_init () hook_command ( NULL, "hotlist", N_("manage hotlist"), - N_("clear [] || remove || restore [-all]"), - N_("clear: clear hotlist\n" - "level: \"lowest\" to clear only lowest level in hotlist, " + N_("add [low|message|private|highlight]" + " || clear []" + " || remove" + " || restore [-all]"), + N_(" add: add current buffer in hotlist (default level: \"low\", " + "conditions defined in option weechat.look.hotlist_add_conditions " + "are NOT checked)\n" + " clear: clear hotlist\n" + " level: \"lowest\" to clear only lowest level in hotlist, " "highest\" to clear only highest level in hotlist, or level mask: " "integer which is a combination of 1=join/part, 2=message, " "4=private, 8=highlight)\n" - "remove: remove current buffer from hotlist\n" + " remove: remove current buffer from hotlist\n" "restore: restore latest hotlist removed in the current buffer " "(or all buffers with -all)"), + "add low|message|private|highlight || " "clear 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|lowest|highest || " - "remove || restore -all", + "remove || " + "restore -all", &command_hotlist, NULL, NULL); /* * give high priority (50000) so that an alias will not take precedence diff --git a/src/core/wee-upgrade.c b/src/core/wee-upgrade.c index 2369feccf..187e39340 100644 --- a/src/core/wee-upgrade.c +++ b/src/core/wee-upgrade.c @@ -769,7 +769,8 @@ upgrade_weechat_read_hotlist (struct t_infolist *infolist) memcpy (&creation_time, buf, size); new_hotlist = gui_hotlist_add (ptr_buffer, infolist_integer (infolist, "priority"), - &creation_time); + &creation_time, + 1); if (new_hotlist) { for (i = 0; i < GUI_HOTLIST_NUM_PRIORITIES; i++) diff --git a/src/gui/gui-buffer.c b/src/gui/gui-buffer.c index a93f874df..aea60fa0e 100644 --- a/src/gui/gui-buffer.c +++ b/src/gui/gui-buffer.c @@ -2159,7 +2159,7 @@ gui_buffer_set (struct t_gui_buffer *buffer, const char *property, if (number < 0) gui_hotlist_remove_buffer (buffer, 0); else - (void) gui_hotlist_add (buffer, number, NULL); + (void) gui_hotlist_add (buffer, number, NULL, 1); } } } diff --git a/src/gui/gui-hotlist.c b/src/gui/gui-hotlist.c index 9debccc9e..409fc93d9 100644 --- a/src/gui/gui-hotlist.c +++ b/src/gui/gui-hotlist.c @@ -35,6 +35,7 @@ #include "../core/wee-hook.h" #include "../core/wee-infolist.h" #include "../core/wee-log.h" +#include "../core/wee-string.h" #include "../core/wee-util.h" #include "../plugins/plugin.h" #include "gui-hotlist.h" @@ -53,6 +54,9 @@ struct t_hashtable *gui_hotlist_hashtable_add_conditions_options = NULL; int gui_add_hotlist = 1; /* 0 is for temporarily disable */ /* hotlist add for all buffers */ +char *gui_hotlist_priority_string[GUI_HOTLIST_NUM_PRIORITIES] = +{ "low", "message", "private", "highlight" }; + /* * Sends signal "hotlist_changed". @@ -65,6 +69,29 @@ gui_hotlist_changed_signal (struct t_gui_buffer *buffer) WEECHAT_HOOK_SIGNAL_POINTER, buffer); } +/* + * Searches for hotlist priority. + * + * Returns index of hotlist priority found, -1 if not found. + */ + +int +gui_hotlist_search_priority (const char *priority) +{ + int i; + + if (!priority) + return -1; + + for (i = 0; i < GUI_HOTLIST_NUM_PRIORITIES; i++) + { + if (string_strcasecmp (gui_hotlist_priority_string[i], priority) == 0) + return i; + } + + return -1; +} + /* * Searches for hotlist with buffer pointer. * @@ -331,7 +358,8 @@ gui_hotlist_add_hotlist (struct t_gui_hotlist **hotlist, struct t_gui_hotlist * gui_hotlist_add (struct t_gui_buffer *buffer, enum t_gui_hotlist_priority priority, - struct timeval *creation_time) + struct timeval *creation_time, + int check_conditions) { struct t_gui_hotlist *new_hotlist, *ptr_hotlist; int i, count[GUI_HOTLIST_NUM_PRIORITIES], rc; @@ -351,60 +379,64 @@ gui_hotlist_add (struct t_gui_buffer *buffer, if (!gui_hotlist_check_buffer_notify (buffer, priority)) return NULL; - /* create hashtable if needed (to evaluate conditions) */ - if (!gui_hotlist_hashtable_add_conditions_pointers) + if (check_conditions) { - gui_hotlist_hashtable_add_conditions_pointers = hashtable_new ( - 32, - WEECHAT_HASHTABLE_STRING, - WEECHAT_HASHTABLE_POINTER, - NULL, NULL); + /* create hashtable if needed (to evaluate conditions) */ if (!gui_hotlist_hashtable_add_conditions_pointers) - return NULL; - } - if (!gui_hotlist_hashtable_add_conditions_vars) - { - gui_hotlist_hashtable_add_conditions_vars = hashtable_new ( - 32, - WEECHAT_HASHTABLE_STRING, - WEECHAT_HASHTABLE_STRING, - NULL, NULL); + { + gui_hotlist_hashtable_add_conditions_pointers = hashtable_new ( + 32, + WEECHAT_HASHTABLE_STRING, + WEECHAT_HASHTABLE_POINTER, + NULL, NULL); + if (!gui_hotlist_hashtable_add_conditions_pointers) + return NULL; + } if (!gui_hotlist_hashtable_add_conditions_vars) - return NULL; - } - if (!gui_hotlist_hashtable_add_conditions_options) - { - gui_hotlist_hashtable_add_conditions_options = hashtable_new ( - 32, - WEECHAT_HASHTABLE_STRING, - WEECHAT_HASHTABLE_STRING, - NULL, NULL); + { + gui_hotlist_hashtable_add_conditions_vars = hashtable_new ( + 32, + WEECHAT_HASHTABLE_STRING, + WEECHAT_HASHTABLE_STRING, + NULL, NULL); + if (!gui_hotlist_hashtable_add_conditions_vars) + return NULL; + } if (!gui_hotlist_hashtable_add_conditions_options) + { + gui_hotlist_hashtable_add_conditions_options = hashtable_new ( + 32, + WEECHAT_HASHTABLE_STRING, + WEECHAT_HASHTABLE_STRING, + NULL, NULL); + if (!gui_hotlist_hashtable_add_conditions_options) + return NULL; + hashtable_set (gui_hotlist_hashtable_add_conditions_options, + "type", "condition"); + } + + /* set data in hashtables */ + hashtable_set (gui_hotlist_hashtable_add_conditions_pointers, + "window", gui_current_window); + hashtable_set (gui_hotlist_hashtable_add_conditions_pointers, + "buffer", buffer); + snprintf (str_value, sizeof (str_value), "%d", priority); + hashtable_set (gui_hotlist_hashtable_add_conditions_vars, + "priority", str_value); + + /* check if conditions are true */ + value = eval_expression ( + CONFIG_STRING(config_look_hotlist_add_conditions), + gui_hotlist_hashtable_add_conditions_pointers, + gui_hotlist_hashtable_add_conditions_vars, + gui_hotlist_hashtable_add_conditions_options); + rc = (value && (strcmp (value, "1") == 0)); + if (value) + free (value); + if (!rc) return NULL; - hashtable_set (gui_hotlist_hashtable_add_conditions_options, - "type", "condition"); } - /* set data in hashtables */ - hashtable_set (gui_hotlist_hashtable_add_conditions_pointers, - "window", gui_current_window); - hashtable_set (gui_hotlist_hashtable_add_conditions_pointers, - "buffer", buffer); - snprintf (str_value, sizeof (str_value), "%d", priority); - hashtable_set (gui_hotlist_hashtable_add_conditions_vars, - "priority", str_value); - - /* check if conditions are true */ - value = eval_expression (CONFIG_STRING(config_look_hotlist_add_conditions), - gui_hotlist_hashtable_add_conditions_pointers, - gui_hotlist_hashtable_add_conditions_vars, - gui_hotlist_hashtable_add_conditions_options); - rc = (value && (strcmp (value, "1") == 0)); - if (value) - free (value); - if (!rc) - return NULL; - /* init count */ for (i = 0; i < GUI_HOTLIST_NUM_PRIORITIES; i++) { diff --git a/src/gui/gui-hotlist.h b/src/gui/gui-hotlist.h index f7876f500..d0054d4bd 100644 --- a/src/gui/gui-hotlist.h +++ b/src/gui/gui-hotlist.h @@ -58,9 +58,11 @@ extern int gui_add_hotlist; /* hotlist functions */ +extern int gui_hotlist_search_priority (const char *priority); extern struct t_gui_hotlist *gui_hotlist_add (struct t_gui_buffer *buffer, enum t_gui_hotlist_priority priority, - struct timeval *creation_time); + struct timeval *creation_time, + int check_conditions); extern void gui_hotlist_restore_buffer (struct t_gui_buffer *buffer); extern void gui_hotlist_restore_all_buffers (); extern void gui_hotlist_resort (); diff --git a/src/gui/gui-line.c b/src/gui/gui-line.c index cb69f1787..da8a3196a 100644 --- a/src/gui/gui-line.c +++ b/src/gui/gui-line.c @@ -1791,7 +1791,7 @@ gui_line_add (struct t_gui_line *line) && line->data->highlight) { (void) gui_hotlist_add (line->data->buffer, - GUI_HOTLIST_HIGHLIGHT, NULL); + GUI_HOTLIST_HIGHLIGHT, NULL, 1); if (!weechat_upgrading) { message_for_signal = gui_line_build_string_prefix_message ( @@ -1823,7 +1823,7 @@ gui_line_add (struct t_gui_line *line) if (line->data->notify_level >= GUI_HOTLIST_MIN) { (void) gui_hotlist_add (line->data->buffer, - line->data->notify_level, NULL); + line->data->notify_level, NULL, 1); } } }