# HG changeset patch # User Konosuke Watanabe # Date 1215333824 -32400 # Node ID 2b7ef3538cd39f87aa576b3bed7e1bd6b9389c2d # Parent fb9831fae969e2d35f31fcd80e1de1724fc1774d - Fix type of 'flag' of writing_im_cb - Support a function which displays icons of sent messages via IM. diff -r fb9831fae969 -r 2b7ef3538cd3 pidgin-twitter.c --- a/pidgin-twitter.c Sun Jul 06 01:51:07 2008 +0900 +++ b/pidgin-twitter.c Sun Jul 06 17:43:44 2008 +0900 @@ -374,18 +374,9 @@ } if (!error) { - gchar *m = NULL; - const char *screen_name = purple_prefs_get_string(OPT_SCREEN_NAME); - if (screen_name) - m = g_strdup_printf("%s: %s", screen_name, tm->status); - else - m = ""; - purple_conv_im_write(conv->u.im, purple_account_get_username(tm->account), - m, PURPLE_MESSAGE_SEND, tm->time); - - g_free(m); + tm->status, PURPLE_MESSAGE_SEND, tm->time); } else { gchar *m; m = g_strdup_printf("%s
%s", @@ -631,7 +622,7 @@ static gboolean writing_im_cb(PurpleAccount *account, char *sender, char **buffer, - PurpleConversation *conv, int *flags, void *data) + PurpleConversation *conv, int flags, void *data) { twitter_debug("called\n"); @@ -641,6 +632,17 @@ if(service == unknown_service) return FALSE; + /* Add screen_name if the current message is posted by owner */ + if (flags & PURPLE_MESSAGE_SEND) { + gchar *m = NULL; + const char *screen_name = purple_prefs_get_string(OPT_SCREEN_NAME); + if (screen_name) { + m = g_strdup_printf("%s: %s", screen_name, *buffer); + g_free(*buffer); + *buffer = m; + } + } + /* strip all markups */ strip_markup(buffer); diff -r fb9831fae969 -r 2b7ef3538cd3 pidgin-twitter.h --- a/pidgin-twitter.h Sun Jul 06 01:51:07 2008 +0900 +++ b/pidgin-twitter.h Sun Jul 06 17:43:44 2008 +0900 @@ -75,7 +75,7 @@ static gboolean eval(const GMatchInfo *match_info, GString *result, gpointer user_data); static void translate(gchar **str, int which, int service); static void playsound(gchar **str, int which); -static gboolean writing_im_cb(PurpleAccount *account, char *sender, char **buffer, PurpleConversation *conv, int *flags, void *data); +static gboolean writing_im_cb(PurpleAccount *account, char *sender, char **buffer, PurpleConversation *conv, int flags, void *data); static void insert_text_cb(GtkTextBuffer *textbuffer, GtkTextIter *position, gchar *new_text, gint new_text_length, gpointer user_data); static void delete_text_cb(GtkTextBuffer *textbuffer, GtkTextIter *start_pos, GtkTextIter *end_pos, gpointer user_data); static void detach_from_window(void);