From 33e733cb0adad382fde58764a2de29031c2df767 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Sat, 31 Jan 2009 23:03:54 +0100 Subject: [PATCH] Fix nicklist sort with IRC nicks (chan owner and admin first in list) --- src/plugins/irc/irc-channel.c | 6 ++++++ src/plugins/irc/irc-nick.c | 6 +++--- src/plugins/irc/irc-nick.h | 13 ++++++++----- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/plugins/irc/irc-channel.c b/src/plugins/irc/irc-channel.c index 82477cbdb..596c0beb7 100644 --- a/src/plugins/irc/irc-channel.c +++ b/src/plugins/irc/irc-channel.c @@ -115,6 +115,12 @@ irc_channel_new (struct t_irc_server *server, int channel_type, { weechat_buffer_set (new_buffer, "nicklist", "1"); weechat_buffer_set (new_buffer, "nicklist_display_groups", "0"); + weechat_nicklist_add_group (new_buffer, NULL, IRC_NICK_GROUP_CHANOWNER, + "weechat.color.nicklist_group", 1); + weechat_nicklist_add_group (new_buffer, NULL, IRC_NICK_GROUP_CHANADMIN, + "weechat.color.nicklist_group", 1); + weechat_nicklist_add_group (new_buffer, NULL, IRC_NICK_GROUP_CHANADMIN2, + "weechat.color.nicklist_group", 1); weechat_nicklist_add_group (new_buffer, NULL, IRC_NICK_GROUP_OP, "weechat.color.nicklist_group", 1); weechat_nicklist_add_group (new_buffer, NULL, IRC_NICK_GROUP_HALFOP, diff --git a/src/plugins/irc/irc-nick.c b/src/plugins/irc/irc-nick.c index 549cad1f0..0e6ee32ec 100644 --- a/src/plugins/irc/irc-nick.c +++ b/src/plugins/irc/irc-nick.c @@ -99,7 +99,7 @@ irc_nick_get_gui_infos (struct t_irc_nick *nick, *prefix_color = 1; if (buffer && group) *group = weechat_nicklist_search_group (buffer, NULL, - IRC_NICK_GROUP_OP); + IRC_NICK_GROUP_CHANOWNER); } else if (nick->flags & IRC_NICK_CHANADMIN) { @@ -109,7 +109,7 @@ irc_nick_get_gui_infos (struct t_irc_nick *nick, *prefix_color = 1; if (buffer && group) *group = weechat_nicklist_search_group (buffer, NULL, - IRC_NICK_GROUP_OP); + IRC_NICK_GROUP_CHANADMIN); } else if (nick->flags & IRC_NICK_CHANADMIN2) { @@ -119,7 +119,7 @@ irc_nick_get_gui_infos (struct t_irc_nick *nick, *prefix_color = 1; if (buffer && group) *group = weechat_nicklist_search_group (buffer, NULL, - IRC_NICK_GROUP_OP); + IRC_NICK_GROUP_CHANADMIN2); } else if (nick->flags & IRC_NICK_OP) { diff --git a/src/plugins/irc/irc-nick.h b/src/plugins/irc/irc-nick.h index bdbbeac74..af1f556e0 100644 --- a/src/plugins/irc/irc-nick.h +++ b/src/plugins/irc/irc-nick.h @@ -36,11 +36,14 @@ else \ nick->flags &= 0xFFFF - flag; -#define IRC_NICK_GROUP_OP "1|op" -#define IRC_NICK_GROUP_HALFOP "2|halfop" -#define IRC_NICK_GROUP_VOICE "3|voice" -#define IRC_NICK_GROUP_CHANUSER "4|chanuser" -#define IRC_NICK_GROUP_NORMAL "5|normal" +#define IRC_NICK_GROUP_CHANOWNER "01|chanowner" +#define IRC_NICK_GROUP_CHANADMIN "02|chanadmin" +#define IRC_NICK_GROUP_CHANADMIN2 "03|chanadmin2" +#define IRC_NICK_GROUP_OP "04|op" +#define IRC_NICK_GROUP_HALFOP "05|halfop" +#define IRC_NICK_GROUP_VOICE "06|voice" +#define IRC_NICK_GROUP_CHANUSER "07|chanuser" +#define IRC_NICK_GROUP_NORMAL "08|normal" struct t_irc_server; struct t_irc_channel;