diff pidgin/gtkimhtmltoolbar.c @ 31816:917c597beb97

Add pidgin_make_scrollable and use it. Cleans up a bunch of duplicate code. Net code loss of 180 lines. Fixes #13073. committer: John Bailey <rekkanoryo@rekkanoryo.org>
author Gabriel Schulhof <nix@go-nix.ca>
date Sat, 08 Jan 2011 03:45:42 +0000
parents abaff1dd6548
children 7281d151e492 3e7a7e14af62
line wrap: on
line diff
--- a/pidgin/gtkimhtmltoolbar.c	Sat Jan 08 03:28:41 2011 +0000
+++ b/pidgin/gtkimhtmltoolbar.c	Sat Jan 08 03:45:42 2011 +0000
@@ -858,14 +858,9 @@
 		g_signal_connect(G_OBJECT(dialog), "button-press-event", (GCallback)smiley_dialog_input_cb, toolbar);
 	}
 
-	scrolled = gtk_scrolled_window_new (NULL, NULL);
-	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW (scrolled), GTK_SHADOW_NONE);
-	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled),
-			GTK_POLICY_NEVER, GTK_POLICY_NEVER);
+
+	scrolled = pidgin_make_scrollable(smiley_table, GTK_POLICY_NEVER, GTK_POLICY_NEVER, GTK_SHADOW_NONE, -1, -1);
 	gtk_box_pack_start(GTK_BOX(vbox), scrolled, TRUE, TRUE, 0);
-	gtk_widget_show(scrolled);
-
-	gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrolled), smiley_table);
 	gtk_widget_show(smiley_table);
 
 	viewport = gtk_widget_get_parent(smiley_table);
@@ -890,8 +885,10 @@
 	 * makes one or both scrollbars visible (sometimes).
 	 * I too think this hack is gross. But I couldn't find a better way -- sadrul */
 	gtk_window_set_resizable(GTK_WINDOW(dialog), TRUE);
-	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolled),
-			GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+	g_object_set(G_OBJECT(scrolled),
+		"hscrollbar-policy", GTK_POLICY_AUTOMATIC,
+		"vscrollbar-policy", GTK_POLICY_AUTOMATIC,
+		NULL);
 
 #ifdef _WIN32
 	winpidgin_ensure_onscreen(dialog);