Add new values for option irc.look.nick_completion_smart: off / speakers / speakers_highlights

This commit is contained in:
Sebastien Helleu 2009-04-03 17:07:00 +02:00
parent 00580b1670
commit 76b700a555
14 changed files with 155 additions and 58 deletions

View File

@ -106,13 +106,13 @@
</listitem>
</itemizedlist>
<command>irc.look.nick_completion_smart</command>: Intelligente vervollständigung der Nicknamen (vervollständigt zuerst mit dem letzten Nick, der einen angesprochen hat)
<command>irc.look.nick_completion_smart</command>: smart completion for nicks (completes first with last speakers)
<itemizedlist>
<listitem>
<para>type: boolean</para>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
<para>values: off, speakers, speakers_highlights (default value: speakers)</para>
</listitem>
</itemizedlist>

View File

@ -106,13 +106,13 @@
</listitem>
</itemizedlist>
<command>irc.look.nick_completion_smart</command>: smart completion for nicks (completes with last speakers first)
<command>irc.look.nick_completion_smart</command>: smart completion for nicks (completes first with last speakers)
<itemizedlist>
<listitem>
<para>type: boolean</para>
<para>type: integer</para>
</listitem>
<listitem>
<para>values: on, off (default value: on)</para>
<para>values: off, speakers, speakers_highlights (default value: speakers)</para>
</listitem>
</itemizedlist>

View File

@ -109,10 +109,10 @@
<command>irc.look.nick_completion_smart</command>: complétion intelligente pour les pseudos (complète d'abord avec les personnes qui ont parlé récemment)
<itemizedlist>
<listitem>
<para>type: booléen</para>
<para>type: entier</para>
</listitem>
<listitem>
<para>valeurs: on, off (valeur par défaut: on)</para>
<para>valeurs: off, speakers, speakers_highlights (valeur par défaut: speakers)</para>
</listitem>
</itemizedlist>

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: 2009-04-01 22:41+0200\n"
"POT-Creation-Date: 2009-04-03 15:08+0200\n"
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
"Last-Translator: Jiri Golembiovsky <golemj@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3547,7 +3547,8 @@ msgstr "text pro zobrazení před přezdívkou v okně rozhovoru"
msgid "text to display after nick in chat window"
msgstr "text pro zobrazení za přezdívkou v okně rozhovoru"
msgid "smart completion for nicks (completes with last speakers first)"
#, fuzzy
msgid "smart completion for nicks (completes first with last speakers)"
msgstr "chytré doplňování přezdívek (doplňovat posledně mluvící jako první)"
msgid "display message when (un)marking as away"
@ -4379,6 +4380,9 @@ msgstr "automaticky znovu přijít na kanál po vykopnutí"
msgid "open new MUCs/privates near server"
msgstr "otevřít nový kanál/soukromý rozhovor poblíž serveru"
msgid "smart completion for nicks (completes with last speakers first)"
msgstr "chytré doplňování přezdívek (doplňovat posledně mluvící jako první)"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""
@ -5558,6 +5562,12 @@ 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 ""
#~ "smart completion for nicks (completes first with last speakers, "
#~ "highlights or both)"
#~ msgstr "chytré doplňování přezdívek (doplňovat posledně mluvící jako první)"
#~ msgid ""
#~ "partially complete nicks (stop when many nicks found begin with same "
#~ "letters)"

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: 2009-04-01 22:41+0200\n"
"POT-Creation-Date: 2009-04-03 15:08+0200\n"
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
"Last-Translator: Thomas Schuetz <i18n@internet-villa.de>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3525,7 +3525,8 @@ msgstr "Text, der im Chatfenster vor dem Nickname erscheinen soll"
msgid "text to display after nick in chat window"
msgstr "Text, der im Chatfenster nach dem Nickname erscheinen soll"
msgid "smart completion for nicks (completes with last speakers first)"
#, fuzzy
msgid "smart completion for nicks (completes first with last speakers)"
msgstr ""
"Intelligente vervollständigung der Nicknamen (vervollständigt zuerst mit dem "
"letzten Nick, der einen angesprochen hat)"
@ -4326,6 +4327,11 @@ msgstr "Channels nach Kick automatisch wieder betreten, falls möglich"
msgid "open new MUCs/privates near server"
msgstr "öffne neue Channels oder private Nachrichten neben dem Server-Puffer"
msgid "smart completion for nicks (completes with last speakers first)"
msgstr ""
"Intelligente vervollständigung der Nicknamen (vervollständigt zuerst mit dem "
"letzten Nick, der einen angesprochen hat)"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""
@ -5491,6 +5497,14 @@ 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 ""
#~ "smart completion for nicks (completes first with last speakers, "
#~ "highlights or both)"
#~ msgstr ""
#~ "Intelligente vervollständigung der Nicknamen (vervollständigt zuerst mit "
#~ "dem letzten Nick, der einen angesprochen hat)"
#~ msgid "[action [args] | number | [[server] [channel]]]"
#~ msgstr "[Aktion [Argumente] | Nummer | [[Server] [Channel]]]"

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: 2009-04-01 22:41+0200\n"
"POT-Creation-Date: 2009-04-03 15:08+0200\n"
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
"Last-Translator: Roberto González Cardenete <robert.glez@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3514,7 +3514,7 @@ msgstr "texto a mostrar antes del nick en la ventana de charla"
msgid "text to display after nick in chat window"
msgstr "texto a mostrar tras el nick en la ventana de charla"
msgid "smart completion for nicks (completes with last speakers first)"
msgid "smart completion for nicks (completes first with last speakers)"
msgstr ""
msgid "display message when (un)marking as away"
@ -4316,6 +4316,9 @@ msgstr "unirse de nuevo automáticamente a los canales cuando sea expulsado"
msgid "open new MUCs/privates near server"
msgstr "abrir nuevos canales/privados cerca del servidor"
msgid "smart completion for nicks (completes with last speakers first)"
msgstr ""
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""

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: 2009-04-01 22:41+0200\n"
"PO-Revision-Date: 2009-04-01 22:42+0200\n"
"POT-Creation-Date: 2009-04-03 15:08+0200\n"
"PO-Revision-Date: 2009-04-03 15:08+0200\n"
"Last-Translator: FlashCode <flashcode@flashtux.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
"MIME-Version: 1.0\n"
@ -3661,7 +3661,7 @@ msgstr "texte à afficher avant le pseudo dans la fenêtre de discussion"
msgid "text to display after nick in chat window"
msgstr "texte à afficher après le pseudo dans la fenêtre de discussion"
msgid "smart completion for nicks (completes with last speakers first)"
msgid "smart completion for nicks (completes first with last speakers)"
msgstr ""
"complétion intelligente pour les pseudos (complète d'abord avec les "
"personnes qui ont parlé récemment)"
@ -4488,6 +4488,11 @@ msgstr "rejoindre automatiquement les MUCs quand mis dehors"
msgid "open new MUCs/privates near server"
msgstr "ouvrir les nouveaux MUCs/privés près du serveur"
msgid "smart completion for nicks (completes with last speakers first)"
msgstr ""
"complétion intelligente pour les pseudos (complète d'abord avec les "
"personnes qui ont parlé récemment)"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr "affiche les modes du MUC dans l'objet de barre \"buffer_name\""
@ -5679,6 +5684,13 @@ msgstr "%s%s: impossible de positionner l'option \"nonblock\" pour la socket"
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s%s: délai d'attente dépassé pour \"%s\" avec %s"
#~ msgid ""
#~ "smart completion for nicks (completes first with last speakers, "
#~ "highlights or both)"
#~ msgstr ""
#~ "complétion intelligente pour les pseudos (complète d'abord avec les "
#~ "personnes qui ont parlé récemment)"
#~ msgid ""
#~ "partially complete nicks (stop when many nicks found begin with same "
#~ "letters)"

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: 2009-04-01 22:41+0200\n"
"POT-Creation-Date: 2009-04-03 15:08+0200\n"
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
"Last-Translator: Andras Voroskoi <voroskoi@frugalware.org>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3562,7 +3562,8 @@ msgstr "a név előtt megjelenítendő szöveg a beszédablakban"
msgid "text to display after nick in chat window"
msgstr "a név után megjelenítendő szöveg a beszédablakban"
msgid "smart completion for nicks (completes with last speakers first)"
#, fuzzy
msgid "smart completion for nicks (completes first with last speakers)"
msgstr "okos névkiegészítés (először az utolsó partnerre egészít ki)"
msgid "display message when (un)marking as away"
@ -4381,6 +4382,9 @@ msgstr "automatikus visszalépés a szobába kirúgáskor"
msgid "open new MUCs/privates near server"
msgstr "az új szobák/privát beszélgetések a szerverhez közel nyíljanak"
msgid "smart completion for nicks (completes with last speakers first)"
msgstr "okos névkiegészítés (először az utolsó partnerre egészít ki)"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""
@ -5545,6 +5549,12 @@ 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 ""
#~ "smart completion for nicks (completes first with last speakers, "
#~ "highlights or both)"
#~ msgstr "okos névkiegészítés (először az utolsó partnerre egészít ki)"
#~ msgid "[action [args] | number | [[server] [channel]]]"
#~ msgstr "[utasítás[argumentumok] | szám | [[szerver] [szoba]]]"

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: 2009-04-01 22:41+0200\n"
"POT-Creation-Date: 2009-04-03 15:08+0200\n"
"PO-Revision-Date: 2009-01-03 00:42+0100\n"
"Last-Translator: Pavel Shevchuk <stlwrt@gmail.com>\n"
"Language-Team: weechat-dev <weechat-dev@nongnu.org>\n"
@ -3555,7 +3555,8 @@ msgstr "текст, который отображать до ника в окн
msgid "text to display after nick in chat window"
msgstr "текст, который отображать после ника в окне чата"
msgid "smart completion for nicks (completes with last speakers first)"
#, fuzzy
msgid "smart completion for nicks (completes first with last speakers)"
msgstr "умное дополнение ников (начинает перебор с последних собеседников)"
msgid "display message when (un)marking as away"
@ -4364,6 +4365,9 @@ msgstr "автоматически перезаходить на каналы п
msgid "open new MUCs/privates near server"
msgstr "открывать новые каналы/приваты рядом с сервером"
msgid "smart completion for nicks (completes with last speakers first)"
msgstr "умное дополнение ников (начинает перебор с последних собеседников)"
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""
@ -5516,6 +5520,12 @@ msgstr "%s DCC: не могу установить неблокирующий р
msgid "%s%s: timeout for \"%s\" with %s"
msgstr "%s нет аргумента для параметра \"%s\"\n"
#, fuzzy
#~ msgid ""
#~ "smart completion for nicks (completes first with last speakers, "
#~ "highlights or both)"
#~ msgstr "умное дополнение ников (начинает перебор с последних собеседников)"
#~ msgid "[action [args] | number | [[server] [channel]]]"
#~ msgstr "[действие [аргументы] | номер | [[сервер] [канал]]]"

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: 2009-04-01 22:41+0200\n"
"POT-Creation-Date: 2009-04-03 15:08+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"
@ -3025,7 +3025,7 @@ msgstr ""
msgid "text to display after nick in chat window"
msgstr ""
msgid "smart completion for nicks (completes with last speakers first)"
msgid "smart completion for nicks (completes first with last speakers)"
msgstr ""
msgid "display message when (un)marking as away"
@ -3740,6 +3740,9 @@ msgstr ""
msgid "open new MUCs/privates near server"
msgstr ""
msgid "smart completion for nicks (completes with last speakers first)"
msgstr ""
msgid "display MUC modes in \"buffer_name\" bar item"
msgstr ""

View File

@ -307,21 +307,17 @@ irc_channel_set_away (struct t_irc_channel *channel, const char *nick_name,
}
/*
* irc_channel_nick_speaking_add: add a nick speaking on a channel
* irc_channel_nick_speaking_add_to_list: add a nick speaking on a channel
*/
void
irc_channel_nick_speaking_add (struct t_irc_channel *channel,
const char *nick_name, int highlight)
irc_channel_nick_speaking_add_to_list (struct t_irc_channel *channel,
const char *nick_name,
int highlight)
{
int size, to_remove, i;
struct t_weelist_item *ptr_item;
if (highlight < 0)
highlight = 0;
if (highlight > 1)
highlight = 1;
/* create list if it does not exist */
if (!channel->nicks_speaking[highlight])
channel->nicks_speaking[highlight] = weechat_list_new ();
@ -349,6 +345,24 @@ irc_channel_nick_speaking_add (struct t_irc_channel *channel,
}
}
/*
* irc_channel_nick_speaking_add: add a nick speaking on a channel
*/
void
irc_channel_nick_speaking_add (struct t_irc_channel *channel,
const char *nick_name, int highlight)
{
if (highlight < 0)
highlight = 0;
if (highlight > 1)
highlight = 1;
if (highlight)
irc_channel_nick_speaking_add_to_list (channel, nick_name, 1);
irc_channel_nick_speaking_add_to_list (channel, nick_name, 0);
}
/*
* irc_channel_nick_speaking_rename: rename a nick speaking on a channel
*/

View File

@ -176,6 +176,36 @@ irc_completion_channel_cb (void *data, const char *completion_item,
return WEECHAT_RC_OK;
}
/*
* irc_completion_channel_nicks_add_speakers: add recent speakers to completion
* list
*/
void
irc_completion_channel_nicks_add_speakers (struct t_gui_completion *completion,
struct t_irc_channel *channel,
int highlight)
{
int list_size, i;
const char *nick;
if (channel->nicks_speaking[highlight])
{
list_size = weechat_list_size (channel->nicks_speaking[highlight]);
for (i = 0; i < list_size; i++)
{
nick = weechat_list_string (weechat_list_get (channel->nicks_speaking[highlight], i));
if (nick && irc_nick_search (channel, nick))
{
weechat_hook_completion_list_add (completion,
nick,
1,
WEECHAT_LIST_POS_BEGINNING);
}
}
}
}
/*
* irc_completion_channel_nicks_cb: callback for completion with nicks
* of current channel
@ -187,8 +217,6 @@ irc_completion_channel_nicks_cb (void *data, const char *completion_item,
struct t_gui_completion *completion)
{
struct t_irc_nick *ptr_nick;
const char *nick;
int list_size, i, j;
IRC_GET_SERVER_CHANNEL(buffer);
@ -209,28 +237,15 @@ irc_completion_channel_nicks_cb (void *data, const char *completion_item,
1,
WEECHAT_LIST_POS_SORT);
}
/* add nicks speaking recently on this channel */
if (weechat_config_boolean (irc_config_look_nick_completion_smart))
/* add recent speakers on channel */
if (weechat_config_integer (irc_config_look_nick_completion_smart) == IRC_CONFIG_NICK_COMPLETION_SMART_SPEAKERS)
{
/* 0 => nick speaking ; 1 => nick speaking to me (with highlight) */
for (i = 0; i < 2; i++)
{
if (ptr_channel->nicks_speaking[i])
{
list_size = weechat_list_size (ptr_channel->nicks_speaking[i]);
for (j = 0; j < list_size; j++)
{
nick = weechat_list_string (weechat_list_get (ptr_channel->nicks_speaking[i], j));
if (nick && irc_nick_search (ptr_channel, nick))
{
weechat_hook_completion_list_add (completion,
nick,
1,
WEECHAT_LIST_POS_BEGINNING);
}
}
}
}
irc_completion_channel_nicks_add_speakers (completion, ptr_channel, 0);
}
/* add nicks whose make highlights on me recently on this channel */
if (weechat_config_integer (irc_config_look_nick_completion_smart) == IRC_CONFIG_NICK_COMPLETION_SMART_SPEAKERS_HIGHLIGHTS)
{
irc_completion_channel_nicks_add_speakers (completion, ptr_channel, 1);
}
/* add self nick at the end */
weechat_hook_completion_list_add (completion,

View File

@ -1060,14 +1060,16 @@ irc_config_init ()
NULL, 0, 0, "", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
irc_config_look_nick_completion_smart = weechat_config_new_option (
irc_config_file, ptr_section,
"nick_completion_smart", "boolean",
N_("smart completion for nicks (completes with last speakers first)"),
NULL, 0, 0, "on", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
"nick_completion_smart", "integer",
N_("smart completion for nicks (completes first with last speakers)"),
"off|speakers|speakers_highlights", 0, 0, "speakers", NULL, 0, NULL, NULL,
NULL, NULL, NULL, NULL);
irc_config_look_display_away = weechat_config_new_option (
irc_config_file, ptr_section,
"display_away", "integer",
N_("display message when (un)marking as away"),
"off|local|channel", 0, 0, "local", NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL);
"off|local|channel", 0, 0, "local", NULL, 0, NULL, NULL, NULL, NULL,
NULL, NULL);
irc_config_look_display_channel_modes = weechat_config_new_option (
irc_config_file, ptr_section,
"display_channel_modes", "boolean",

View File

@ -22,6 +22,10 @@
#define IRC_CONFIG_NAME "irc"
#define IRC_CONFIG_NICK_COMPLETION_SMART_OFF 0
#define IRC_CONFIG_NICK_COMPLETION_SMART_SPEAKERS 1
#define IRC_CONFIG_NICK_COMPLETION_SMART_SPEAKERS_HIGHLIGHTS 2
#define IRC_CONFIG_DISPLAY_AWAY_OFF 0
#define IRC_CONFIG_DISPLAY_AWAY_LOCAL 1
#define IRC_CONFIG_DISPLAY_AWAY_CHANNEL 2