Mercurial > pidgin
comparison console/gntconv.c @ 13896:a621329e8c85
[gaim-migrate @ 16381]
Changes in GntTextView. Things go somewhat 'smooth' when run inside
valgrind. Otherwise, it's kind of flaky. I don't mind a single bit
if someone gave me a hint :)
committer: Tailor Script <tailor@pidgin.im>
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sat, 01 Jul 2006 00:56:05 +0000 |
parents | 7d3256b253ec |
children | eaaf73de9188 |
comparison
equal
deleted
inserted
replaced
13895:8f910263b4bb | 13896:a621329e8c85 |
---|---|
1 #include <string.h> | |
1 #include <util.h> | 2 #include <util.h> |
2 | 3 |
3 #include "gntgaim.h" | 4 #include "gntgaim.h" |
4 #include "gntconv.h" | 5 #include "gntconv.h" |
5 | 6 |
57 g_return_val_if_reached(FALSE); | 58 g_return_val_if_reached(FALSE); |
58 } | 59 } |
59 gnt_entry_clear(GNT_ENTRY(ggconv->entry)); | 60 gnt_entry_clear(GNT_ENTRY(ggconv->entry)); |
60 return TRUE; | 61 return TRUE; |
61 } | 62 } |
63 else if (key[0] == 27) | |
64 { | |
65 if (strcmp(key+1, GNT_KEY_DOWN) == 0) | |
66 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 1); | |
67 else if (strcmp(key+1, GNT_KEY_UP) == 0) | |
68 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), -1); | |
69 else if (strcmp(key+1, GNT_KEY_PGDOWN) == 0) | |
70 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), ggconv->tv->priv.height - 2); | |
71 else if (strcmp(key+1, GNT_KEY_PGUP) == 0) | |
72 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), -(ggconv->tv->priv.height - 2)); | |
73 else | |
74 return FALSE; | |
75 return TRUE; | |
76 } | |
62 | 77 |
63 return FALSE; | 78 return FALSE; |
64 } | 79 } |
65 | 80 |
66 static void | 81 static void |
88 type = gaim_conversation_get_type(conv); | 103 type = gaim_conversation_get_type(conv); |
89 title = g_strdup_printf(_("Conversation: %s"), gaim_conversation_get_name(conv)); | 104 title = g_strdup_printf(_("Conversation: %s"), gaim_conversation_get_name(conv)); |
90 ggc->window = gnt_box_new(FALSE, TRUE); | 105 ggc->window = gnt_box_new(FALSE, TRUE); |
91 gnt_box_set_title(GNT_BOX(ggc->window), title); | 106 gnt_box_set_title(GNT_BOX(ggc->window), title); |
92 gnt_box_set_toplevel(GNT_BOX(ggc->window), TRUE); | 107 gnt_box_set_toplevel(GNT_BOX(ggc->window), TRUE); |
93 gnt_widget_set_name(ggc->window, "conversation-window"); | 108 gnt_widget_set_name(ggc->window, title); |
94 | 109 |
95 ggc->tv = gnt_text_view_new(); | 110 ggc->tv = gnt_text_view_new(); |
96 gnt_box_add_widget(GNT_BOX(ggc->window), ggc->tv); | 111 gnt_box_add_widget(GNT_BOX(ggc->window), ggc->tv); |
97 gnt_widget_set_name(ggc->tv, "conversation-window-textview"); | 112 gnt_widget_set_name(ggc->tv, "conversation-window-textview"); |
98 gnt_widget_set_size(ggc->tv, getmaxx(stdscr) - 40, getmaxy(stdscr) - 15); | 113 gnt_widget_set_size(ggc->tv, getmaxx(stdscr) - 40, getmaxy(stdscr) - 15); |
178 gg_write_conv(GaimConversation *conv, const char *who, const char *alias, | 193 gg_write_conv(GaimConversation *conv, const char *who, const char *alias, |
179 const char *message, GaimMessageFlags flags, time_t mtime) | 194 const char *message, GaimMessageFlags flags, time_t mtime) |
180 { | 195 { |
181 GGConv *ggconv = g_hash_table_lookup(ggconvs, conv); | 196 GGConv *ggconv = g_hash_table_lookup(ggconvs, conv); |
182 char *strip; | 197 char *strip; |
198 GntTextViewFlags fl = 0; | |
183 | 199 |
184 g_return_if_fail(ggconv != NULL); | 200 g_return_if_fail(ggconv != NULL); |
185 | 201 |
186 strip = gaim_markup_strip_html(message); | 202 strip = gaim_markup_strip_html(message); |
187 | 203 |
197 | 213 |
198 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), | 214 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), |
199 name, GNT_TEXT_FLAG_BOLD); | 215 name, GNT_TEXT_FLAG_BOLD); |
200 g_free(name); | 216 g_free(name); |
201 } | 217 } |
202 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), | 218 else |
203 strip, 0); | 219 fl = GNT_TEXT_FLAG_DIM; |
220 | |
221 if (flags & GAIM_MESSAGE_ERROR) | |
222 fl |= GNT_TEXT_FLAG_BOLD; | |
223 | |
224 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(ggconv->tv), | |
225 strip, fl); | |
204 gnt_text_view_next_line(GNT_TEXT_VIEW(ggconv->tv)); | 226 gnt_text_view_next_line(GNT_TEXT_VIEW(ggconv->tv)); |
205 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 0); | 227 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 0); |
206 | 228 |
207 g_free(strip); | 229 g_free(strip); |
208 } | 230 } |