Add urgent flag to the hook-message-in hook
Small coding style update, and bump API to v6
--- a/mcabber/mcabber/api.h Sun Mar 14 16:17:01 2010 +0100
+++ b/mcabber/mcabber/api.h Sun Mar 14 17:34:56 2010 +0100
@@ -3,7 +3,7 @@
#include <mcabber/config.h> // For MCABBER_BRANCH
-#define MCABBER_API_VERSION 5
+#define MCABBER_API_VERSION 6
#define MCABBER_API_MIN 4
extern const gchar *mcabber_branch;
--- a/mcabber/mcabber/hooks.c Sun Mar 14 16:17:01 2010 +0100
+++ b/mcabber/mcabber/hooks.c Sun Mar 14 17:34:56 2010 +0100
@@ -70,7 +70,7 @@
GSList *el = g_slist_find_custom(hk_handler_queue, &h,
(GCompareFunc) hk_queue_search_cb);
if (el) {
- g_free (el->data);
+ g_free(el->data);
hk_handler_queue = g_slist_delete_link(hk_handler_queue, el);
}
}
@@ -95,6 +95,7 @@
GSList *roster_usr;
unsigned mucnicklen = 0;
const char *ename = NULL;
+ gboolean urgent = FALSE;
if (encrypted == ENCRYPTED_PGP)
message_flags |= HBB_PREFIX_PGPCRYPT;
@@ -172,7 +173,7 @@
// highlight it.
if (resname && !strcmp(resname, nick)) {
message_flags |= HBB_PREFIX_HLIGHT_OUT;
- } else if (!settings_opt_get_int("muc_disable_nick_hl")) {
+ } else {
// We're not the sender. Can we see our nick?
const char *msgptr = msg;
while ((msgptr = strcasestr(msgptr, nick)) != NULL) {
@@ -191,6 +192,8 @@
continue;
// Check right boundary
if (!iswalnum(get_char(rightb)) && get_char(rightb) != '_')
+ urgent = TRUE;
+ if (urgent && !settings_opt_get_int("muc_disable_nick_hl"))
message_flags |= HBB_PREFIX_HLIGHT;
}
}
@@ -245,13 +248,14 @@
{ "resource", resname },
{ "message", wmsg },
{ "groupchat", is_groupchat ? "true" : "false" },
+ { "urgent", urgent ? "true" : "false" },
{ NULL, NULL },
};
while (h) {
hook_list_data_t *data = h->data;
if (data->flags & HOOK_MESSAGE_IN)
(data->handler) (HOOK_MESSAGE_IN, args, data->userdata);
- h = g_slist_next (h);
+ h = g_slist_next(h);
}
}
}
@@ -350,7 +354,7 @@
hook_list_data_t *data = h->data;
if (data->flags & HOOK_MESSAGE_OUT)
(data->handler) (HOOK_MESSAGE_OUT, args, data->userdata);
- h = g_slist_next (h);
+ h = g_slist_next(h);
}
}
}
@@ -448,7 +452,7 @@
hook_list_data_t *data = h->data;
if (data->flags & HOOK_STATUS_CHANGE)
(data->handler) (HOOK_STATUS_CHANGE, args, data->userdata);
- h = g_slist_next (h);
+ h = g_slist_next(h);
}
}
}
@@ -481,7 +485,7 @@
hook_list_data_t *data = h->data;
if (data->flags & HOOK_MY_STATUS_CHANGE)
(data->handler) (HOOK_MY_STATUS_CHANGE, args, data->userdata);
- h = g_slist_next (h);
+ h = g_slist_next(h);
}
}
}
@@ -507,7 +511,7 @@
hook_list_data_t *data = h->data;
if (data->flags & HOOK_POST_CONNECT)
(data->handler) (HOOK_POST_CONNECT, args, data->userdata);
- h = g_slist_next (h);
+ h = g_slist_next(h);
}
}
}
@@ -543,7 +547,7 @@
hook_list_data_t *data = h->data;
if (data->flags & HOOK_PRE_DISCONNECT)
(data->handler) (HOOK_PRE_DISCONNECT, args, data->userdata);
- h = g_slist_next (h);
+ h = g_slist_next(h);
}
}
}