From 6bd96564168c66eda4d1b198e62c7bd20549205e Mon Sep 17 00:00:00 2001 From: TingPing Date: Sat, 9 Mar 2013 17:57:06 -0500 Subject: Add option to color nicknames in the userlist to match the chat --- src/fe-gtk/userlistgui.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'src/fe-gtk/userlistgui.c') diff --git a/src/fe-gtk/userlistgui.c b/src/fe-gtk/userlistgui.c index 8405695b..75281a0c 100644 --- a/src/fe-gtk/userlistgui.c +++ b/src/fe-gtk/userlistgui.c @@ -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) -- cgit 1.4.1 From 44b381680fb9b35e3c8685fa5438dfba5d5e050d Mon Sep 17 00:00:00 2001 From: TingPing Date: Wed, 13 Mar 2013 00:36:07 -0300 Subject: fix typo --- src/fe-gtk/userlistgui.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/fe-gtk/userlistgui.c') diff --git a/src/fe-gtk/userlistgui.c b/src/fe-gtk/userlistgui.c index 75281a0c..a2a7e9ae 100644 --- a/src/fe-gtk/userlistgui.c +++ b/src/fe-gtk/userlistgui.c @@ -355,7 +355,7 @@ fe_userlist_insert (session *sess, struct User *newuser, int row, int sel) char *nick; int nick_color = NULL; - if (prefs.hex_away_track && prefs.hex_away_size_max && user->away) + if (prefs.hex_away_track && prefs.hex_away_size_max && newuser->away) nick_color = COL_AWAY; else if (prefs.hex_gui_ulist_color) nick_color = text_color_of(newuser->nick); -- cgit 1.4.1