comparison mcabber/src/jabglue.c @ 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 16dd9b91702f
children 5c338d31de56
comparison
equal deleted inserted replaced
512:1744664332cd 513:d40c434fff46
888 if (r) *r++ = 0; 888 if (r) *r++ = 0;
889 else r = s; 889 else r = s;
890 // Display inside the room window 890 // Display inside the room window
891 mbuf = g_strdup_printf("%s has set the topic to: %s", r, 891 mbuf = g_strdup_printf("%s has set the topic to: %s", r,
892 (subj_noutf8 ? subj_noutf8 : "(?)")); 892 (subj_noutf8 ? subj_noutf8 : "(?)"));
893 scr_WriteIncomingMessage(s, mbuf, 0, HBB_PREFIX_INFO); 893 scr_WriteIncomingMessage(s, mbuf, 0,
894 HBB_PREFIX_INFO|HBB_PREFIX_NOFLAG);
894 if (settings_opt_get_int("log_muc_conf")) 895 if (settings_opt_get_int("log_muc_conf"))
895 hlog_write_message(s, 0, FALSE, mbuf); 896 hlog_write_message(s, 0, FALSE, mbuf);
896 if (subj_noutf8) g_free(subj_noutf8); 897 if (subj_noutf8) g_free(subj_noutf8);
897 g_free(s); 898 g_free(s);
898 g_free(mbuf); 899 g_free(mbuf);
1165 if (p && !strcmp(p, "303")) { 1166 if (p && !strcmp(p, "303")) {
1166 gchar *mbuf; 1167 gchar *mbuf;
1167 gchar *newname_noutf8 = from_utf8(mbnewnick); 1168 gchar *newname_noutf8 = from_utf8(mbnewnick);
1168 mbuf = g_strdup_printf("%s is now known as %s", rname, 1169 mbuf = g_strdup_printf("%s is now known as %s", rname,
1169 (newname_noutf8 ? newname_noutf8 : "(?)")); 1170 (newname_noutf8 ? newname_noutf8 : "(?)"));
1170 scr_WriteIncomingMessage(r, mbuf, 0, HBB_PREFIX_INFO); 1171 scr_WriteIncomingMessage(r, mbuf, 0,
1172 HBB_PREFIX_INFO|HBB_PREFIX_NOFLAG);
1171 if (log_muc_conf) hlog_write_message(r, 0, FALSE, mbuf); 1173 if (log_muc_conf) hlog_write_message(r, 0, FALSE, mbuf);
1172 g_free(mbuf); 1174 g_free(mbuf);
1173 if (newname_noutf8) { 1175 if (newname_noutf8) {
1174 buddy_resource_setname(room_elt->data, rname, newname_noutf8); 1176 buddy_resource_setname(room_elt->data, rname, newname_noutf8);
1175 m = buddy_getnickname(room_elt->data); 1177 m = buddy_getnickname(room_elt->data);
1183 // Check for departure/arrival 1185 // Check for departure/arrival
1184 if (!mbnewnick && mbrole == role_none) { 1186 if (!mbnewnick && mbrole == role_none) {
1185 gchar *mbuf; 1187 gchar *mbuf;
1186 if (s) mbuf = g_strdup_printf("%s has left: %s", rname, s); 1188 if (s) mbuf = g_strdup_printf("%s has left: %s", rname, s);
1187 else mbuf = g_strdup_printf("%s has left", rname); 1189 else mbuf = g_strdup_printf("%s has left", rname);
1188 scr_WriteIncomingMessage(r, mbuf, 0, HBB_PREFIX_INFO); 1190 scr_WriteIncomingMessage(r, mbuf, 0,
1191 HBB_PREFIX_INFO|HBB_PREFIX_NOFLAG);
1189 if (log_muc_conf) hlog_write_message(r, 0, FALSE, mbuf); 1192 if (log_muc_conf) hlog_write_message(r, 0, FALSE, mbuf);
1190 g_free(mbuf); 1193 g_free(mbuf);
1191 } else if (buddy_getstatus(room_elt->data, rname) == offline && 1194 } else if (buddy_getstatus(room_elt->data, rname) == offline &&
1192 ust != offline) { 1195 ust != offline) {
1193 gchar *mbuf; 1196 gchar *mbuf;
1195 buddy_setnickname(room_elt->data, rname); 1198 buddy_setnickname(room_elt->data, rname);
1196 mbuf = g_strdup_printf("You have joined as \"%s\"", rname); 1199 mbuf = g_strdup_printf("You have joined as \"%s\"", rname);
1197 } else { 1200 } else {
1198 mbuf = g_strdup_printf("%s has joined", rname); 1201 mbuf = g_strdup_printf("%s has joined", rname);
1199 } 1202 }
1200 scr_WriteIncomingMessage(r, mbuf, 0, HBB_PREFIX_INFO); 1203 scr_WriteIncomingMessage(r, mbuf, 0,
1204 HBB_PREFIX_INFO|HBB_PREFIX_NOFLAG);
1201 if (log_muc_conf) hlog_write_message(r, 0, FALSE, mbuf); 1205 if (log_muc_conf) hlog_write_message(r, 0, FALSE, mbuf);
1202 g_free(mbuf); 1206 g_free(mbuf);
1203 } 1207 }
1204 1208
1205 // Update room member status 1209 // Update room member status