| 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 } |