/*static void toggle_nickchange_pref(const char *name, PurplePrefType type, gconstpointer val, gpointer data) { }*/ static void nickchange_chat_rename_user (PurpleConversation *conv, const char *old_user, const char *new_user, const char *new_alias) { if (!should_hide_notice(conv, old_user, userstable)) { PurpleConvChat *chat = PURPLE_CONV_CHAT(conv); char tmp[2048]; if (purple_strequal(chat->nick, purple_normalize(conv->account, old_user))) { // Its me! char *escaped = g_markup_escape_text(new_user, -1); g_snprintf(tmp, sizeof(tmp), _("You are now known as %s"), escaped); g_free(escaped); } else { const char *old_alias = old_user; const char *new_alias = new_user; char *escaped; char *escaped2; PurpleConnection *gc = purple_conversation_get_gc(conv); PurplePluginProtocolInfo *prpl_info; prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(purple_connection_get_prpl(gc)); if (prpl_info && !(prpl_info->options & OPT_PROTO_UNIQUE_CHATNAME)) { PurpleBuddy *buddy; if ((buddy = purple_find_buddy(gc->account, old_user)) != NULL) old_alias = purple_buddy_get_contact_alias(buddy); if ((buddy = purple_find_buddy(gc->account, new_user)) != NULL) new_alias = purple_buddy_get_contact_alias(buddy); } escaped = g_markup_escape_text(old_alias, -1); escaped2 = g_markup_escape_text(new_alias, -1); g_snprintf(tmp, sizeof(tmp), _("%s is now known as %s"), escaped, escaped2); g_free(escaped); g_free(escaped2); } purple_conversation_write(conv, NULL, tmp, PURPLE_MESSAGE_SYSTEM | PURPLE_MESSAGE_NO_LINKIFY, time(NULL)); } if (orig_chat_rename_user) return orig_chat_rename_user(conv, old_user, new_user, new_alias); }
static gboolean chat_buddy_joining_cb(PurpleConversation *conv, const char *name, PurpleConvChatBuddyFlags flags, GHashTable *users) { return should_hide_notice(conv, name, users); }
static gboolean chat_buddy_leaving_cb(PurpleConversation *conv, const char *name, const char *reason, GHashTable *users) { return should_hide_notice(conv, name, users); }