Mercurial > hg
changeset 513:d40c434fff46
Add HBB_PREFIX_NOFLAG
A line with this attribute won't trigger a notification flag.
This patch adds use of it for joins, leaves, nickname changes and topic
changes.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 13 Nov 2005 22:15:19 +0100 |
parents | 1744664332cd |
children | 979eb0fe2969 |
files | mcabber/src/hbuf.h mcabber/src/jabglue.c mcabber/src/screen.c |
diffstat | 3 files changed, 12 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/src/hbuf.h Sun Nov 13 17:03:59 2005 +0100 +++ b/mcabber/src/hbuf.h Sun Nov 13 22:15:19 2005 +0100 @@ -20,6 +20,7 @@ #define HBB_PREFIX_AUTH 8 #define HBB_PREFIX_INFO 16 #define HBB_PREFIX_ERR 32 +#define HBB_PREFIX_NOFLAG 64 typedef struct { time_t timestamp;
--- a/mcabber/src/jabglue.c Sun Nov 13 17:03:59 2005 +0100 +++ b/mcabber/src/jabglue.c Sun Nov 13 22:15:19 2005 +0100 @@ -890,7 +890,8 @@ // Display inside the room window mbuf = g_strdup_printf("%s has set the topic to: %s", r, (subj_noutf8 ? subj_noutf8 : "(?)")); - scr_WriteIncomingMessage(s, mbuf, 0, HBB_PREFIX_INFO); + scr_WriteIncomingMessage(s, mbuf, 0, + HBB_PREFIX_INFO|HBB_PREFIX_NOFLAG); if (settings_opt_get_int("log_muc_conf")) hlog_write_message(s, 0, FALSE, mbuf); if (subj_noutf8) g_free(subj_noutf8); @@ -1167,7 +1168,8 @@ gchar *newname_noutf8 = from_utf8(mbnewnick); mbuf = g_strdup_printf("%s is now known as %s", rname, (newname_noutf8 ? newname_noutf8 : "(?)")); - scr_WriteIncomingMessage(r, mbuf, 0, HBB_PREFIX_INFO); + scr_WriteIncomingMessage(r, mbuf, 0, + HBB_PREFIX_INFO|HBB_PREFIX_NOFLAG); if (log_muc_conf) hlog_write_message(r, 0, FALSE, mbuf); g_free(mbuf); if (newname_noutf8) { @@ -1185,7 +1187,8 @@ gchar *mbuf; if (s) mbuf = g_strdup_printf("%s has left: %s", rname, s); else mbuf = g_strdup_printf("%s has left", rname); - scr_WriteIncomingMessage(r, mbuf, 0, HBB_PREFIX_INFO); + scr_WriteIncomingMessage(r, mbuf, 0, + HBB_PREFIX_INFO|HBB_PREFIX_NOFLAG); if (log_muc_conf) hlog_write_message(r, 0, FALSE, mbuf); g_free(mbuf); } else if (buddy_getstatus(room_elt->data, rname) == offline && @@ -1197,7 +1200,8 @@ } else { mbuf = g_strdup_printf("%s has joined", rname); } - scr_WriteIncomingMessage(r, mbuf, 0, HBB_PREFIX_INFO); + scr_WriteIncomingMessage(r, mbuf, 0, + HBB_PREFIX_INFO|HBB_PREFIX_NOFLAG); if (log_muc_conf) hlog_write_message(r, 0, FALSE, mbuf); g_free(mbuf); }
--- a/mcabber/src/screen.c Sun Nov 13 17:03:59 2005 +0100 +++ b/mcabber/src/screen.c Sun Nov 13 22:15:19 2005 +0100 @@ -528,7 +528,7 @@ top_panel(inputPanel); update_panels(); doupdate(); - } else { + } else if (!(prefix_flags & HBB_PREFIX_NOFLAG)) { roster_msg_setflag(winId, TRUE); update_roster = TRUE; } @@ -789,7 +789,8 @@ void scr_WriteIncomingMessage(const char *jidfrom, const char *text, time_t timestamp, guint prefix) { - if (!prefix) prefix = HBB_PREFIX_IN; + if (!(prefix & ~HBB_PREFIX_NOFLAG)) + prefix |= HBB_PREFIX_IN; // FIXME expand tabs / filter out special chars... scr_WriteMessage(jidfrom, text, timestamp, prefix); update_panels();