Mercurial > pidgin
comparison console/gntconv.c @ 14030:0e70bb6d32fd
[gaim-migrate @ 16632]
Do not auto-scroll when I am reading the backlog.
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 05 Aug 2006 02:56:18 +0000 |
parents | 7109e6397a31 |
children | c5bfede33622 |
comparison
equal
deleted
inserted
replaced
14029:d63f59ee6c98 | 14030:0e70bb6d32fd |
---|---|
219 GaimMessageFlags flags, time_t mtime) | 219 GaimMessageFlags flags, time_t mtime) |
220 { | 220 { |
221 GGConv *ggconv = g_hash_table_lookup(ggconvs, conv); /* XXX: ggconv = conv->ui_data; should do */ | 221 GGConv *ggconv = g_hash_table_lookup(ggconvs, conv); /* XXX: ggconv = conv->ui_data; should do */ |
222 char *strip, *newline; | 222 char *strip, *newline; |
223 GntTextFormatFlags fl = 0; | 223 GntTextFormatFlags fl = 0; |
224 int pos; | |
224 | 225 |
225 g_return_if_fail(ggconv != NULL); | 226 g_return_if_fail(ggconv != NULL); |
226 | 227 |
227 if (who && *who && (flags & (GAIM_MESSAGE_SEND | GAIM_MESSAGE_RECV))) | 228 if (who && *who && (flags & (GAIM_MESSAGE_SEND | GAIM_MESSAGE_RECV))) |
228 { | 229 { |
236 | 237 |
237 if (flags & GAIM_MESSAGE_ERROR) | 238 if (flags & GAIM_MESSAGE_ERROR) |
238 fl |= GNT_TEXT_FLAG_BOLD; | 239 fl |= GNT_TEXT_FLAG_BOLD; |
239 if (flags & GAIM_MESSAGE_NICK) | 240 if (flags & GAIM_MESSAGE_NICK) |
240 fl |= GNT_TEXT_FLAG_UNDERLINE; | 241 fl |= GNT_TEXT_FLAG_UNDERLINE; |
242 | |
243 pos = gnt_text_view_get_lines_below(GNT_TEXT_VIEW(ggconv->tv)); | |
241 | 244 |
242 /* XXX: Remove this workaround when textview can parse messages. */ | 245 /* XXX: Remove this workaround when textview can parse messages. */ |
243 newline = gaim_strdup_withhtml(message); | 246 newline = gaim_strdup_withhtml(message); |
244 strip = gaim_markup_strip_html(newline); | 247 strip = gaim_markup_strip_html(newline); |
245 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), | 248 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), |
246 strip, fl); | 249 strip, fl); |
247 gnt_text_view_next_line(GNT_TEXT_VIEW(ggconv->tv)); | 250 gnt_text_view_next_line(GNT_TEXT_VIEW(ggconv->tv)); |
248 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 0); | 251 if (pos <= 1) |
252 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 0); | |
249 | 253 |
250 g_free(newline); | 254 g_free(newline); |
251 g_free(strip); | 255 g_free(strip); |
252 | 256 |
253 if (flags & (GAIM_MESSAGE_RECV | GAIM_MESSAGE_NICK | GAIM_MESSAGE_ERROR)) | 257 if (flags & (GAIM_MESSAGE_RECV | GAIM_MESSAGE_NICK | GAIM_MESSAGE_ERROR)) |