Add option to color nicknames in the userlist to match the chat

This commit is contained in:
TingPing
2013-03-09 17:57:06 -05:00
parent c76dedd9b9
commit 6bd9656416
6 changed files with 21 additions and 16 deletions

View File

@@ -38,6 +38,7 @@
#include "../common/util.h"
#include "../common/userlist.h"
#include "../common/modes.h"
#include "../common/text.h"
#include "../common/notify.h"
#include "../common/hexchatc.h"
#include "../common/fe.h"
@@ -327,21 +328,21 @@ fe_userlist_rehash (session *sess, struct User *user)
{
GtkTreeIter *iter;
int sel;
int do_away = TRUE;
int nick_color = NULL;
iter = find_row (GTK_TREE_VIEW (sess->gui->user_tree),
sess->res->user_model, user, &sel);
if (!iter)
return;
if (prefs.hex_away_size_max < 1 || !prefs.hex_away_track)
do_away = FALSE;
if (prefs.hex_away_track && prefs.hex_away_size_max && user->away)
nick_color = COL_AWAY;
else if (prefs.hex_gui_ulist_color)
nick_color = text_color_of(user->nick);
gtk_list_store_set (GTK_LIST_STORE (sess->res->user_model), iter,
COL_HOST, user->hostname,
COL_GDKCOLOR, (do_away)
? (user->away ? &colors[COL_AWAY] : NULL)
: (NULL),
COL_GDKCOLOR, nick_color ? &colors[nick_color] : NULL,
-1);
}
@@ -351,11 +352,13 @@ fe_userlist_insert (session *sess, struct User *newuser, int row, int sel)
GtkTreeModel *model = sess->res->user_model;
GdkPixbuf *pix = get_user_icon (sess->server, newuser);
GtkTreeIter iter;
int do_away = TRUE;
char *nick;
int nick_color = NULL;
if (prefs.hex_away_size_max < 1 || !prefs.hex_away_track)
do_away = FALSE;
if (prefs.hex_away_track && prefs.hex_away_size_max && user->away)
nick_color = COL_AWAY;
else if (prefs.hex_gui_ulist_color)
nick_color = text_color_of(newuser->nick);
nick = newuser->nick;
if (!prefs.hex_gui_ulist_icons)
@@ -374,9 +377,7 @@ fe_userlist_insert (session *sess, struct User *newuser, int row, int sel)
COL_NICK, nick,
COL_HOST, newuser->hostname,
COL_USER, newuser,
COL_GDKCOLOR, (do_away)
? (newuser->away ? &colors[COL_AWAY] : NULL)
: (NULL),
COL_GDKCOLOR, nick_color ? &colors[nick_color] : NULL,
-1);
if (!prefs.hex_gui_ulist_icons)