Mercurial > pidgin
diff console/gntconv.c @ 13897:eaaf73de9188
[gaim-migrate @ 16382]
I have added a sort of a taskbar, useful in showing the active windows.
I have also readjusted the blue color a little bit, since this is the
one I am using in a few places right now. And also getting rid of some
code-duplication.
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 01 Jul 2006 04:24:31 +0000 |
parents | a621329e8c85 |
children | cc60d0861337 |
line wrap: on
line diff
--- a/console/gntconv.c Sat Jul 01 00:56:05 2006 +0000 +++ b/console/gntconv.c Sat Jul 01 04:24:31 2006 +0000 @@ -101,7 +101,7 @@ ggc->conv = conv; type = gaim_conversation_get_type(conv); - title = g_strdup_printf(_("Conversation: %s"), gaim_conversation_get_name(conv)); + title = g_strdup_printf(_("%s"), gaim_conversation_get_name(conv)); ggc->window = gnt_box_new(FALSE, TRUE); gnt_box_set_title(GNT_BOX(ggc->window), title); gnt_box_set_toplevel(GNT_BOX(ggc->window), TRUE); @@ -133,38 +133,52 @@ } static void -gg_write_chat(GaimConversation *conv, const char *who, const char *message, +gg_write_common(GaimConversation *conv, const char *who, const char *message, GaimMessageFlags flags, time_t mtime) { GGConv *ggconv = g_hash_table_lookup(ggconvs, conv); - char *name, *strip; + char *strip; + GntTextViewFlags fl = 0; g_return_if_fail(ggconv != NULL); - name = g_strdup_printf("%s: ", who); + if (who && *who && (flags & (GAIM_MESSAGE_SEND | GAIM_MESSAGE_RECV))) + { + char * name = g_strdup_printf("%s: ", who); + gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), + name, GNT_TEXT_FLAG_BOLD); + g_free(name); + } + else + fl = GNT_TEXT_FLAG_DIM; + + if (flags & GAIM_MESSAGE_ERROR) + fl |= GNT_TEXT_FLAG_BOLD; + if (flags & GAIM_MESSAGE_NICK) + fl |= GNT_TEXT_FLAG_UNDERLINE; + strip = gaim_markup_strip_html(message); - gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), - name, GNT_TEXT_FLAG_BOLD); - gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), - strip, (flags & GAIM_MESSAGE_NICK) ? GNT_TEXT_FLAG_UNDERLINE : 0); + strip, fl); gnt_text_view_next_line(GNT_TEXT_VIEW(ggconv->tv)); gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 0); - g_free(name); g_free(strip); + + gnt_widget_set_urgent(ggconv->tv); +} + +static void +gg_write_chat(GaimConversation *conv, const char *who, const char *message, + GaimMessageFlags flags, time_t mtime) +{ + gg_write_common(conv, who, message, flags, mtime); } static void gg_write_im(GaimConversation *conv, const char *who, const char *message, GaimMessageFlags flags, time_t mtime) { - GGConv *ggconv = g_hash_table_lookup(ggconvs, conv); - char *strip; - char *name; - - g_return_if_fail(ggconv != NULL); - if (flags & GAIM_MESSAGE_SEND) { who = gaim_connection_get_display_name(conv->account->gc); @@ -176,57 +190,22 @@ else if (flags & GAIM_MESSAGE_RECV) who = gaim_conversation_get_name(conv); - name = g_strdup_printf("%s: ", who); - - gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), - name, GNT_TEXT_FLAG_BOLD); - gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), - (strip = gaim_markup_strip_html(message)), 0); - gnt_text_view_next_line(GNT_TEXT_VIEW(ggconv->tv)); - gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 0); - - g_free(strip); - g_free(name); + gg_write_common(conv, who, message, flags, mtime); } static void gg_write_conv(GaimConversation *conv, const char *who, const char *alias, const char *message, GaimMessageFlags flags, time_t mtime) { - GGConv *ggconv = g_hash_table_lookup(ggconvs, conv); - char *strip; - GntTextViewFlags fl = 0; - - g_return_if_fail(ggconv != NULL); - - strip = gaim_markup_strip_html(message); + const char *name; + if (alias && *alias) + name = alias; + else if (who && *who) + name = who; + else + name = NULL; - if (flags & (GAIM_MESSAGE_SEND | GAIM_MESSAGE_RECV)) - { - char *name; - if (alias && *alias) - name = g_strdup_printf("%s: ", alias); - else if (who && *who) - name = g_strdup_printf("%s: ", who); - else - name = g_strdup(""); - - gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), - name, GNT_TEXT_FLAG_BOLD); - g_free(name); - } - else - fl = GNT_TEXT_FLAG_DIM; - - if (flags & GAIM_MESSAGE_ERROR) - fl |= GNT_TEXT_FLAG_BOLD; - - gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), - strip, fl); - gnt_text_view_next_line(GNT_TEXT_VIEW(ggconv->tv)); - gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 0); - - g_free(strip); + gg_write_common(conv, name, message, flags, mtime); } static void