Mercurial > pidgin
diff 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 |
line wrap: on
line diff
--- a/finch/gntconv.c Sun Apr 15 23:53:36 2007 +0000 +++ b/finch/gntconv.c Sun Apr 15 23:54:55 2007 +0000 @@ -159,23 +159,6 @@ gnt_entry_clear(GNT_ENTRY(ggconv->entry)); return TRUE; } - else if (key[0] == 27) - { - if (strcmp(key, GNT_KEY_DOWN) == 0) - gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), 1); - else if (strcmp(key, GNT_KEY_UP) == 0) - gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), -1); - else if (strcmp(key, GNT_KEY_PGDOWN) == 0) - gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), ggconv->tv->priv.height - 2); - else if (strcmp(key, GNT_KEY_PGUP) == 0) - gnt_text_view_scroll(GNT_TEXT_VIEW(ggconv->tv), -(ggconv->tv->priv.height - 2)); - else - return FALSE; - return TRUE; - } - else - { - } return FALSE; } @@ -325,6 +308,9 @@ gnt_widget_set_size(ggc->tv, purple_prefs_get_int(PREF_ROOT "/size/width"), purple_prefs_get_int(PREF_ROOT "/size/height")); + ggc->info = gnt_vbox_new(FALSE); + gnt_box_add_widget(GNT_BOX(ggc->window), ggc->info); + ggc->entry = gnt_entry_new(NULL); gnt_box_add_widget(GNT_BOX(ggc->window), ggc->entry); gnt_widget_set_name(ggc->entry, "conversation-window-entry"); @@ -332,6 +318,7 @@ gnt_entry_set_word_suggest(GNT_ENTRY(ggc->entry), TRUE); gnt_entry_set_always_suggest(GNT_ENTRY(ggc->entry), FALSE); + gnt_text_view_attach_scroll_widget(GNT_TEXT_VIEW(ggc->tv), ggc->entry); g_signal_connect_after(G_OBJECT(ggc->entry), "key_pressed", G_CALLBACK(entry_key_pressed), ggc); g_signal_connect(G_OBJECT(ggc->window), "destroy", G_CALLBACK(closing_window), ggc); @@ -758,3 +745,21 @@ g_free(title); } +void finch_conversation_set_info_widget(PurpleConversation *conv, GntWidget *widget) +{ + FinchConv *fc = conv->ui_data; + int height, width; + + gnt_box_remove_all(GNT_BOX(fc->info)); + + if (widget) { + gnt_box_add_widget(GNT_BOX(fc->info), widget); + gnt_box_readjust(GNT_BOX(fc->info)); + } + + gnt_widget_get_size(fc->window, &width, &height); + gnt_box_readjust(GNT_BOX(fc->window)); + gnt_screen_resize_widget(fc->window, width, height); + gnt_box_give_focus_to_child(GNT_BOX(fc->window), fc->entry); +} +