Mercurial > pidgin
comparison finch/gntconv.c @ 16168:cc5917d70dde
merge of '7c800719ac0b585a5b02eaeb188880c191d1da89'
and '8be1fbdce101b63280239db93e1dac106cea6681'
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Sun, 15 Apr 2007 23:54:55 +0000 |
parents | 7a2ffa981c1a |
children | 0f0832c13fcb |
comparison
equal
deleted
inserted
replaced
16167:aa6160248112 | 16168:cc5917d70dde |
---|---|
157 } | 157 } |
158 gnt_entry_add_to_history(GNT_ENTRY(ggconv->entry), text); | 158 gnt_entry_add_to_history(GNT_ENTRY(ggconv->entry), text); |
159 gnt_entry_clear(GNT_ENTRY(ggconv->entry)); | 159 gnt_entry_clear(GNT_ENTRY(ggconv->entry)); |
160 return TRUE; | 160 return TRUE; |
161 } | 161 } |
162 else if (key[0] == 27) | |
163 { | |
164 if (strcmp(key, GNT_KEY_DOWN) == 0) | |
165 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 1); | |
166 else if (strcmp(key, GNT_KEY_UP) == 0) | |
167 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), -1); | |
168 else if (strcmp(key, GNT_KEY_PGDOWN) == 0) | |
169 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), ggconv->tv->priv.height - 2); | |
170 else if (strcmp(key, GNT_KEY_PGUP) == 0) | |
171 gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), -(ggconv->tv->priv.height - 2)); | |
172 else | |
173 return FALSE; | |
174 return TRUE; | |
175 } | |
176 else | |
177 { | |
178 } | |
179 | 162 |
180 return FALSE; | 163 return FALSE; |
181 } | 164 } |
182 | 165 |
183 static void | 166 static void |
323 gnt_box_add_widget(GNT_BOX(ggc->window), ggc->tv); | 306 gnt_box_add_widget(GNT_BOX(ggc->window), ggc->tv); |
324 gnt_widget_set_name(ggc->tv, "conversation-window-textview"); | 307 gnt_widget_set_name(ggc->tv, "conversation-window-textview"); |
325 gnt_widget_set_size(ggc->tv, purple_prefs_get_int(PREF_ROOT "/size/width"), | 308 gnt_widget_set_size(ggc->tv, purple_prefs_get_int(PREF_ROOT "/size/width"), |
326 purple_prefs_get_int(PREF_ROOT "/size/height")); | 309 purple_prefs_get_int(PREF_ROOT "/size/height")); |
327 | 310 |
311 ggc->info = gnt_vbox_new(FALSE); | |
312 gnt_box_add_widget(GNT_BOX(ggc->window), ggc->info); | |
313 | |
328 ggc->entry = gnt_entry_new(NULL); | 314 ggc->entry = gnt_entry_new(NULL); |
329 gnt_box_add_widget(GNT_BOX(ggc->window), ggc->entry); | 315 gnt_box_add_widget(GNT_BOX(ggc->window), ggc->entry); |
330 gnt_widget_set_name(ggc->entry, "conversation-window-entry"); | 316 gnt_widget_set_name(ggc->entry, "conversation-window-entry"); |
331 gnt_entry_set_history_length(GNT_ENTRY(ggc->entry), -1); | 317 gnt_entry_set_history_length(GNT_ENTRY(ggc->entry), -1); |
332 gnt_entry_set_word_suggest(GNT_ENTRY(ggc->entry), TRUE); | 318 gnt_entry_set_word_suggest(GNT_ENTRY(ggc->entry), TRUE); |
333 gnt_entry_set_always_suggest(GNT_ENTRY(ggc->entry), FALSE); | 319 gnt_entry_set_always_suggest(GNT_ENTRY(ggc->entry), FALSE); |
334 | 320 |
321 gnt_text_view_attach_scroll_widget(GNT_TEXT_VIEW(ggc->tv), ggc->entry); | |
335 g_signal_connect_after(G_OBJECT(ggc->entry), "key_pressed", G_CALLBACK(entry_key_pressed), ggc); | 322 g_signal_connect_after(G_OBJECT(ggc->entry), "key_pressed", G_CALLBACK(entry_key_pressed), ggc); |
336 g_signal_connect(G_OBJECT(ggc->window), "destroy", G_CALLBACK(closing_window), ggc); | 323 g_signal_connect(G_OBJECT(ggc->window), "destroy", G_CALLBACK(closing_window), ggc); |
337 | 324 |
338 gnt_widget_set_position(ggc->window, purple_prefs_get_int(PREF_ROOT "/position/x"), | 325 gnt_widget_set_position(ggc->window, purple_prefs_get_int(PREF_ROOT "/position/x"), |
339 purple_prefs_get_int(PREF_ROOT "/position/y")); | 326 purple_prefs_get_int(PREF_ROOT "/position/y")); |
756 title = get_conversation_title(conv, account); | 743 title = get_conversation_title(conv, account); |
757 gnt_screen_rename_widget(ggconv->window, title); | 744 gnt_screen_rename_widget(ggconv->window, title); |
758 g_free(title); | 745 g_free(title); |
759 } | 746 } |
760 | 747 |
748 void finch_conversation_set_info_widget(PurpleConversation *conv, GntWidget *widget) | |
749 { | |
750 FinchConv *fc = conv->ui_data; | |
751 int height, width; | |
752 | |
753 gnt_box_remove_all(GNT_BOX(fc->info)); | |
754 | |
755 if (widget) { | |
756 gnt_box_add_widget(GNT_BOX(fc->info), widget); | |
757 gnt_box_readjust(GNT_BOX(fc->info)); | |
758 } | |
759 | |
760 gnt_widget_get_size(fc->window, &width, &height); | |
761 gnt_box_readjust(GNT_BOX(fc->window)); | |
762 gnt_screen_resize_widget(fc->window, width, height); | |
763 gnt_box_give_focus_to_child(GNT_BOX(fc->window), fc->entry); | |
764 } | |
765 |