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);
+}
+