libpurple: update unseen count in conversation on active XMPP chatstate

This commit is contained in:
vitalyster 2015-06-02 10:02:27 +02:00
parent bc4450cfca
commit 272876d2bd
2 changed files with 13 additions and 0 deletions

View file

@ -635,6 +635,11 @@ class SpectrumNetworkPlugin : public NetworkPlugin {
PurpleAccount *account = m_sessions[user];
if (account) {
serv_send_typing_wrapped(purple_account_get_connection_wrapped(account), buddyName.c_str(), PURPLE_NOT_TYPING);
PurpleConversation *conv = purple_find_conversation_with_account_wrapped(PURPLE_CONV_TYPE_CHAT, buddyName.c_str(), account);
if (conv) {
purple_conversation_set_data_wrapped(conv, "unseen_count", 0);
purple_conversation_update_wrapped(conv, PURPLE_CONV_UPDATE_UNSEEN);
}
}
}

View file

@ -224,6 +224,12 @@ extern purple_conversation_new_wrapped_fnc purple_conversation_new_wrapped;
typedef PurpleConversationType (_cdecl * purple_conversation_get_type_wrapped_fnc)(const PurpleConversation *conv);
extern purple_conversation_get_type_wrapped_fnc purple_conversation_get_type_wrapped;
typedef void (_cdecl * purple_conversation_set_data_wrapped_func)(const PurpleConversation *conv, const char *key, gpointer data);
extern purple_conversation_set_data_wrapped_func purple_conversation_set_data_wrapped;
typedef void (_cdecl * purple_conversation_update_wrapped_func)(const PurpleConversation *conv, PurpleConversationUpdateType type);
extern purple_conversation_update_wrapped_func purple_conversation_update_wrapped;
typedef void (_cdecl * purple_conv_im_send_wrapped_fnc)(PurpleConvIm *im, const char *message);
extern purple_conv_im_send_wrapped_fnc purple_conv_im_send_wrapped;
@ -524,6 +530,8 @@ extern wpurple_g_io_channel_win32_new_socket_wrapped_fnc wpurple_g_io_channel_wi
#define purple_find_conversation_with_account_wrapped purple_find_conversation_with_account
#define purple_conversation_new_wrapped purple_conversation_new
#define purple_conversation_get_type_wrapped purple_conversation_get_type
#define purple_conversation_set_data_wrapped purple_conversation_set_data
#define purple_conversation_update_wrapped purple_conversation_update
#define purple_conv_im_send_wrapped purple_conv_im_send
#define purple_conv_chat_send_wrapped purple_conv_chat_send
#define purple_conversation_destroy_wrapped purple_conversation_destroy