# HG changeset patch # User Mikael Berthe # Date 1268584496 -3600 # Node ID 1f913c92c9b26a21681c1fda15679d4362b6cd1a # Parent 5311fd93ba7b783c6cc770d2dea1de59aa58004a Add urgent flag to the hook-message-in hook Small coding style update, and bump API to v6 diff -r 5311fd93ba7b -r 1f913c92c9b2 mcabber/mcabber/api.h --- 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 // For MCABBER_BRANCH -#define MCABBER_API_VERSION 5 +#define MCABBER_API_VERSION 6 #define MCABBER_API_MIN 4 extern const gchar *mcabber_branch; diff -r 5311fd93ba7b -r 1f913c92c9b2 mcabber/mcabber/hooks.c --- 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); } } }