| 257 g_free(str); |
257 g_free(str); |
| 258 if (scroll <= 1) |
258 if (scroll <= 1) |
| 259 gnt_text_view_scroll(GNT_TEXT_VIEW(ggc->tv), 0); |
259 gnt_text_view_scroll(GNT_TEXT_VIEW(ggc->tv), 0); |
| 260 } else { |
260 } else { |
| 261 title = get_conversation_title(conv, account); |
261 title = get_conversation_title(conv, account); |
| 262 gnt_text_view_tag_change(GNT_TEXT_VIEW(ggc->tv), "typing", NULL, TRUE); |
262 gnt_text_view_tag_change(GNT_TEXT_VIEW(ggc->tv), "typing", " ", TRUE); |
| 263 } |
263 } |
| 264 gnt_screen_rename_widget(ggc->window, title); |
264 gnt_screen_rename_widget(ggc->window, title); |
| 265 g_free(title); |
265 g_free(title); |
| 266 } |
266 } |
| 267 |
267 |
| 586 { |
586 { |
| 587 FinchConv *ggconv = conv->ui_data; |
587 FinchConv *ggconv = conv->ui_data; |
| 588 char *strip, *newline; |
588 char *strip, *newline; |
| 589 GntTextFormatFlags fl = 0; |
589 GntTextFormatFlags fl = 0; |
| 590 int pos; |
590 int pos; |
| 591 gboolean notify; |
|
| 592 |
591 |
| 593 g_return_if_fail(ggconv != NULL); |
592 g_return_if_fail(ggconv != NULL); |
| 594 |
593 |
| 595 if (ggconv->active_conv != conv) { |
594 if (ggconv->active_conv != conv) { |
| 596 if (flags & (PURPLE_MESSAGE_SEND | PURPLE_MESSAGE_RECV)) |
595 if (flags & (PURPLE_MESSAGE_SEND | PURPLE_MESSAGE_RECV)) |
| 599 return; |
598 return; |
| 600 } |
599 } |
| 601 |
600 |
| 602 pos = gnt_text_view_get_lines_below(GNT_TEXT_VIEW(ggconv->tv)); |
601 pos = gnt_text_view_get_lines_below(GNT_TEXT_VIEW(ggconv->tv)); |
| 603 |
602 |
| 604 notify = !!gnt_text_view_tag_change(GNT_TEXT_VIEW(ggconv->tv), "typing", NULL, TRUE); |
603 gnt_text_view_tag_change(GNT_TEXT_VIEW(ggconv->tv), "typing", NULL, TRUE); |
| 605 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), "\n", GNT_TEXT_FLAG_NORMAL); |
604 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), "\n", GNT_TEXT_FLAG_NORMAL); |
| 606 |
605 |
| 607 /* Unnecessary to print the timestamp for delayed message */ |
606 /* Unnecessary to print the timestamp for delayed message */ |
| 608 if (purple_prefs_get_bool("/finch/conversations/timestamps")) |
607 if (purple_prefs_get_bool("/finch/conversations/timestamps")) |
| 609 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), |
608 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), |
| 641 strip, fl); |
640 strip, fl); |
| 642 |
641 |
| 643 g_free(newline); |
642 g_free(newline); |
| 644 g_free(strip); |
643 g_free(strip); |
| 645 |
644 |
| 646 if (notify) { |
645 if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM && |
| |
646 purple_conv_im_get_typing_state(PURPLE_CONV_IM(conv)) == PURPLE_TYPING) { |
| 647 strip = g_strdup_printf(_("\n%s is typing..."), purple_conversation_get_name(conv)); |
647 strip = g_strdup_printf(_("\n%s is typing..."), purple_conversation_get_name(conv)); |
| 648 gnt_text_view_append_text_with_tag(GNT_TEXT_VIEW(ggconv->tv), |
648 gnt_text_view_append_text_with_tag(GNT_TEXT_VIEW(ggconv->tv), |
| 649 strip, GNT_TEXT_FLAG_DIM, "typing"); |
649 strip, GNT_TEXT_FLAG_DIM, "typing"); |
| 650 g_free(strip); |
650 g_free(strip); |
| 651 } |
651 } |