/pidgin/main: 63663622e327: Switch write_conv and (displaying|di...
Tomasz Wasilczyk <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: 63663622e32777c0bb5232754831f836b60b4316 Author: Tomasz Wasilczyk <[email protected]> Date: 2014-06-12 21:00 +0200 Branch: default URL: https://hg.pidgin.im/pidgin/main/rev/63663622e327 Description: Switch write_conv and (displaying|displayed)-(im|chat)-msg to PurpleMessage diffstat: finch/gntconv.c | 17 ++---- libpurple/conversation.c | 12 +--- libpurple/conversation.h | 8 +-- libpurple/example/nullclient.c | 19 ++----- pidgin/gtkconv.c | 68 +++++++++++++++------------- pidgin/plugins/crazychat/cc_pidgin_plugin.c | 7 +- pidgin/plugins/gtk-signals-test.c | 24 +++++----- pidgin/plugins/notify.c | 5 +- pidgin/plugins/unity.c | 5 +- pidgin/win32/gtkwin32dep.c | 3 +- 10 files changed, 75 insertions(+), 93 deletions(-) diffs (truncated from 417 to 300 lines): diff --git a/finch/gntconv.c b/finch/gntconv.c --- a/finch/gntconv.c +++ b/finch/gntconv.c @@ -1090,18 +1090,13 @@ finch_write_common(PurpleConversation *c } static void -finch_write_conv(PurpleConversation *conv, const char *who, const char *alias, - const char *message, PurpleMessageFlags flags, time_t mtime) +finch_write_conv(PurpleConversation *conv, PurpleMessage *msg) { - const char *name; - if (alias && *alias) - name = alias; - else if (who && *who) - name = who; - else - name = NULL; - - finch_write_common(conv, name, message, flags, mtime); + finch_write_common(conv, + purple_message_get_author_alias(msg), + purple_message_get_contents(msg), + purple_message_get_flags(msg), + purple_message_get_time(msg)); } static const char * diff --git a/libpurple/conversation.c b/libpurple/conversation.c --- a/libpurple/conversation.c +++ b/libpurple/conversation.c @@ -644,7 +644,7 @@ void purple_message_set_author_alias(pmsg, alias); } - else + else if (purple_message_get_flags(pmsg) & PURPLE_MESSAGE_RECV) { /* TODO: PurpleDude - folks not on the buddy list */ b = purple_blist_find_buddy(account, @@ -672,14 +672,8 @@ void } } - if (ops && ops->write_conv) { - ops->write_conv(conv, - (purple_message_get_flags(pmsg) & PURPLE_MESSAGE_SEND) ? purple_message_get_recipient(pmsg) : purple_message_get_author(pmsg), - purple_message_get_author_alias(pmsg), - purple_message_get_contents(pmsg), - purple_message_get_flags(pmsg), - purple_message_get_time(pmsg)); - } + if (ops && ops->write_conv) + ops->write_conv(conv, pmsg); add_message_to_history(conv, (purple_message_get_flags(pmsg) & PURPLE_MESSAGE_SEND) ? purple_message_get_recipient(pmsg) : purple_message_get_author(pmsg), diff --git a/libpurple/conversation.h b/libpurple/conversation.h --- a/libpurple/conversation.h +++ b/libpurple/conversation.h @@ -252,13 +252,7 @@ struct _PurpleConversationUiOps void (*write_chat)(PurpleChatConversation *chat, PurpleMessage *msg); void (*write_im)(PurpleIMConversation *im, PurpleMessage *msg); - - void (*write_conv)(PurpleConversation *conv, - const char *name, - const char *alias, - const char *message, - PurpleMessageFlags flags, - time_t mtime); + void (*write_conv)(PurpleConversation *conv, PurpleMessage *msg); void (*chat_add_users)(PurpleChatConversation *chat, GList *cbuddies, diff --git a/libpurple/example/nullclient.c b/libpurple/example/nullclient.c --- a/libpurple/example/nullclient.c +++ b/libpurple/example/nullclient.c @@ -117,20 +117,15 @@ static PurpleEventLoopUiOps glib_eventlo /*** Conversation uiops ***/ static void -null_write_conv(PurpleConversation *conv, const char *who, const char *alias, - const char *message, PurpleMessageFlags flags, time_t mtime) +null_write_conv(PurpleConversation *conv, PurpleMessage *msg) { - const char *name; - if (alias && *alias) - name = alias; - else if (who && *who) - name = who; - else - name = NULL; + time_t mtime = purple_message_get_time(msg); - printf("(%s) %s %s: %s\n", purple_conversation_get_name(conv), - purple_utf8_strftime("(%H:%M:%S)", localtime(&mtime)), - name, message); + printf("(%s) %s %s: %s\n", + purple_conversation_get_name(conv), + purple_utf8_strftime("(%H:%M:%S)", localtime(&mtime)), + purple_message_get_author_alias(msg), + purple_message_get_contents(msg)); } static PurpleConversationUiOps null_conv_uiops = diff --git a/pidgin/gtkconv.c b/pidgin/gtkconv.c --- a/pidgin/gtkconv.c +++ b/pidgin/gtkconv.c @@ -6392,8 +6392,8 @@ static char * replace_message_tokens( const char *text, PurpleConversation *conv, - const char *name, - const char *alias, + const char *name, /* author */ + const char *alias, /* author's alias */ const char *message, PurpleMessageFlags flags, time_t mtime) @@ -6655,9 +6655,7 @@ box_remote_images(PurpleConversation *co } static void -pidgin_conv_write_conv(PurpleConversation *conv, const char *name, const char *alias, - const char *message, PurpleMessageFlags flags, - time_t mtime) +pidgin_conv_write_conv(PurpleConversation *conv, PurpleMessage *pmsg) { PidginConversation *gtkconv; PurpleConnection *gc; @@ -6680,17 +6678,18 @@ pidgin_conv_write_conv(PurpleConversatio #endif const char *message_html; - char *msg; + char *msg_tokenized; char *escape; char *script; char *smileyed; gchar *imgized; - PurpleMessageFlags old_flags; + PurpleMessageFlags flags, old_flags; const char *func = "appendMessage"; g_return_if_fail(conv != NULL); gtkconv = PIDGIN_CONVERSATION(conv); g_return_if_fail(gtkconv != NULL); + flags = purple_message_get_flags(pmsg); if (gtkconv->attach_timer) { /* We are currently in the process of filling up the buffer with the message @@ -6727,14 +6726,14 @@ pidgin_conv_write_conv(PurpleConversatio /* Make sure URLs are clickable */ if(flags & PURPLE_MESSAGE_NO_LINKIFY) - displaying = g_strdup(message); + displaying = g_strdup(purple_message_get_contents(pmsg)); else - displaying = purple_markup_linkify(message); + displaying = purple_markup_linkify(purple_message_get_contents(pmsg)); plugin_return = GPOINTER_TO_INT(purple_signal_emit_return_1( - pidgin_conversations_get_handle(), (PURPLE_IS_IM_CONVERSATION(conv) ? - "displaying-im-msg" : "displaying-chat-msg"), - account, name, &displaying, conv, flags)); + pidgin_conversations_get_handle(), + (PURPLE_IS_IM_CONVERSATION(conv) ? "displaying-im-msg" : "displaying-chat-msg"), + conv, pmsg)); if (plugin_return) { g_free(displaying); @@ -6762,7 +6761,7 @@ pidgin_conv_write_conv(PurpleConversatio g_assert(last_msg != NULL); /* If the senders are the same, use appendNextMessage */ - if (purple_strequal(purple_conversation_message_get_sender(last_msg), name)) { + if (purple_strequal(purple_conversation_message_get_sender(last_msg), purple_message_get_author(pmsg))) { message_html = pidgin_conversation_theme_get_template(gtkconv->theme, PIDGIN_CONVERSATION_THEME_TEMPLATE_INCOMING_NEXT_CONTENT); func = "appendNextMessage"; @@ -6785,8 +6784,13 @@ pidgin_conv_write_conv(PurpleConversatio (flags & PURPLE_MESSAGE_RECV), pidgin_conv_write_smiley, (gpointer)purple_account_get_protocol_name(account)); imgized = box_remote_images(conv, smileyed); - msg = replace_message_tokens(message_html, conv, name, alias, imgized, flags, mtime); - escape = pidgin_webview_quote_js_string(msg ? msg : ""); + msg_tokenized = replace_message_tokens(message_html, conv, + purple_message_get_author(pmsg), + purple_message_get_author_alias(pmsg), + imgized, + purple_message_get_flags(pmsg), + purple_message_get_time(pmsg)); + escape = pidgin_webview_quote_js_string(msg_tokenized ? msg_tokenized : ""); script = g_strdup_printf("%s(%s)", func, escape); purple_debug_info("webkit", "JS: %s\n", script); @@ -6795,7 +6799,7 @@ pidgin_conv_write_conv(PurpleConversatio g_free(script); g_free(smileyed); g_free(imgized); - g_free(msg); + g_free(msg_tokenized); g_free(escape); #if 0 @@ -7004,7 +7008,7 @@ pidgin_conv_write_conv(PurpleConversatio struct tm *history_since_tm; const char *history_since_s, *prev_history_since_s; - history_since = mtime + 1; + history_since = purple_message_get_time(pmsg) + 1; prev_history_since_s = g_hash_table_lookup(comps, "history_since"); @@ -7034,7 +7038,7 @@ pidgin_conv_write_conv(PurpleConversatio purple_signal_emit(pidgin_conversations_get_handle(), (PURPLE_IS_IM_CONVERSATION(conv) ? "displayed-im-msg" : "displayed-chat-msg"), - account, name, displaying, conv, flags); + conv, pmsg); g_free(displaying); update_typing_message(gtkconv, NULL); } @@ -8493,6 +8497,8 @@ add_message_history_to_gtkconv(gpointer pidgin_webview_scroll_to_end(webview, TRUE); g_object_set_data(G_OBJECT(gtkconv->entry), "attach-start-time", NULL); } +#if 0 + /* TODO */ pidgin_conv_write_conv( purple_conversation_message_get_conversation(msg), purple_conversation_message_get_sender(msg), @@ -8500,6 +8506,7 @@ add_message_history_to_gtkconv(gpointer purple_conversation_message_get_message(msg), purple_conversation_message_get_flags(msg), purple_conversation_message_get_timestamp(msg)); +#endif if (im) { gtkconv->attach_current = g_list_delete_link(gtkconv->attach_current, gtkconv->attach_current); } else { @@ -8528,6 +8535,8 @@ add_message_history_to_gtkconv(gpointer } msgs = g_list_sort(msgs, message_compare); for (; msgs; msgs = g_list_delete_link(msgs, msgs)) { +#if 0 + /* TODO */ PurpleConversationMessage *msg = msgs->data; pidgin_conv_write_conv( purple_conversation_message_get_conversation(msg), @@ -8536,6 +8545,7 @@ add_message_history_to_gtkconv(gpointer purple_conversation_message_get_message(msg), purple_conversation_message_get_flags(msg), purple_conversation_message_get_timestamp(msg)); +#endif } pidgin_webview_append_html(webview, "<BR><HR>"); pidgin_webview_scroll_to_end(webview, TRUE); @@ -8776,26 +8786,20 @@ pidgin_conversations_init(void) G_TYPE_BOOLEAN); purple_signal_register(handle, "displaying-im-msg", - purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER, - G_TYPE_BOOLEAN, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, - G_TYPE_POINTER, /* pointer to a string */ - PURPLE_TYPE_CONVERSATION, G_TYPE_INT); + purple_marshal_BOOLEAN__POINTER_POINTER, + G_TYPE_BOOLEAN, 2, PURPLE_TYPE_CONVERSATION, PURPLE_TYPE_MESSAGE); purple_signal_register(handle, "displayed-im-msg", - purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT, - G_TYPE_NONE, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, - G_TYPE_STRING, PURPLE_TYPE_CONVERSATION, G_TYPE_INT); + purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, + PURPLE_TYPE_CONVERSATION, PURPLE_TYPE_MESSAGE); purple_signal_register(handle, "displaying-chat-msg", - purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER, - G_TYPE_BOOLEAN, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, - G_TYPE_POINTER, /* pointer to a string */ - PURPLE_TYPE_CONVERSATION, G_TYPE_INT); + purple_marshal_BOOLEAN__POINTER_POINTER, + G_TYPE_BOOLEAN, 2, PURPLE_TYPE_CONVERSATION, PURPLE_TYPE_MESSAGE); purple_signal_register(handle, "displayed-chat-msg", - purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT, - G_TYPE_NONE, 5, PURPLE_TYPE_ACCOUNT, G_TYPE_STRING, - G_TYPE_STRING, PURPLE_TYPE_CONVERSATION, G_TYPE_INT); + purple_marshal_VOID__POINTER_POINTER, G_TYPE_NONE, 2, + PURPLE_TYPE_CONVERSATION, PURPLE_TYPE_MESSAGE); purple_signal_register(handle, "conversation-switched", purple_marshal_VOID__POINTER, G_TYPE_NONE, 1, diff --git a/pidgin/plugins/crazychat/cc_pidgin_plugin.c b/pidgin/plugins/crazychat/cc_pidgin_plugin.c --- a/pidgin/plugins/crazychat/cc_pidgin_plugin.c +++ b/pidgin/plugins/crazychat/cc_pidgin_plugin.c @@ -71,8 +71,7 @@ static gboolean receive_im_cb(PurpleAcco * @param message the message we are displaying * @param data user data */