Mercurial > ~mikael > mcabber > hg
diff mcabber/src/screen.c @ 1204:e802ec0c02d2
Basic support for nick highlighting in MUC rooms (the whole line is colored)
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sat, 28 Apr 2007 21:52:57 +0200 |
parents | be06bbe7e449 |
children | 2de8f8ba1f34 |
line wrap: on
line diff
--- a/mcabber/src/screen.c Sat Apr 28 12:16:45 2007 +0200 +++ b/mcabber/src/screen.c Sat Apr 28 21:52:57 2007 +0200 @@ -178,6 +178,7 @@ "", "", "general", "msgout", + "msghl", "status", "roster", "rostersel", @@ -228,6 +229,10 @@ init_pair(i+1, ((color) ? FindColor(color) : COLOR_CYAN), FindColor(background)); break; + case COLOR_MSGHL: + init_pair(i+1, ((color) ? FindColor(color) : COLOR_YELLOW), + FindColor(background)); + break; case COLOR_STATUS: init_pair(i+1, ((color) ? FindColor(color) : COLOR_WHITE), FindColor(backstatus)); @@ -629,8 +634,10 @@ // NOTE: update PREFIX_WIDTH if you change the date format!! // You need to set it to the whole prefix length + 1 if (line) { - if (line->flags & HBB_PREFIX_HLIGHT) + if (line->flags & HBB_PREFIX_HLIGHT_OUT) wattrset(win_entry->win, get_color(COLOR_MSGOUT)); + else if (line->flags & HBB_PREFIX_HLIGHT) + wattrset(win_entry->win, get_color(COLOR_MSGHL)); if (line->timestamp && !(line->flags & HBB_PREFIX_SPECIAL)) { strftime(date, 30, "%m-%d %H:%M", localtime(&line->timestamp)); @@ -665,7 +672,8 @@ wprintw(win_entry->win, "%s", line->text); // Display text line - if (line->flags & HBB_PREFIX_HLIGHT) + if (line->flags & HBB_PREFIX_HLIGHT_OUT || + line->flags & HBB_PREFIX_HLIGHT) wattrset(win_entry->win, get_color(COLOR_GENERAL)); wclrtoeol(win_entry->win); g_free(line->text); @@ -1462,7 +1470,8 @@ time_t timestamp, guint prefix) { if (!(prefix & - ~HBB_PREFIX_NOFLAG & ~HBB_PREFIX_HLIGHT & ~HBB_PREFIX_PGPCRYPT)) + ~HBB_PREFIX_NOFLAG & ~HBB_PREFIX_HLIGHT & ~HBB_PREFIX_HLIGHT_OUT & + ~HBB_PREFIX_PGPCRYPT)) prefix |= HBB_PREFIX_IN; scr_WriteMessage(jidfrom, text, timestamp, prefix); @@ -1474,7 +1483,7 @@ roster_elt = roster_find(jidto, jidsearch, ROSTER_TYPE_USER|ROSTER_TYPE_AGENT|ROSTER_TYPE_ROOM); - scr_WriteMessage(jidto, text, 0, prefix|HBB_PREFIX_OUT|HBB_PREFIX_HLIGHT); + scr_WriteMessage(jidto, text, 0, prefix|HBB_PREFIX_OUT|HBB_PREFIX_HLIGHT_OUT); // Show jidto's buffer unless the buddy is not in the buddylist if (roster_elt && g_list_position(buddylist, roster_elt->data) != -1)