Mercurial > pidgin
diff pidgin/gtknotify.c @ 31367: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 | 70d8e2e71552 |
children | d72d728226dc |
line wrap: on
line diff
--- a/pidgin/gtknotify.c Sat Jan 08 03:28:41 2011 +0000 +++ b/pidgin/gtknotify.c Sat Jan 08 03:45:42 2011 +0000 @@ -956,7 +956,6 @@ GtkWidget *vbox; GtkWidget *label; - GtkWidget *sw; PidginNotifySearchResultsData *data; char *label_text; char *primary_esc, *secondary_esc; @@ -1012,15 +1011,6 @@ model = gtk_list_store_newv(col_num, col_types); g_free(col_types); - /* Setup the scrolled window containing the treeview */ - sw = gtk_scrolled_window_new(NULL, NULL); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), - GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); - gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), - GTK_SHADOW_IN); - gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); - gtk_widget_show(sw); - /* Setup the treeview */ treeview = gtk_tree_view_new_with_model(GTK_TREE_MODEL(model)); g_object_unref(G_OBJECT(model)); @@ -1029,7 +1019,9 @@ gtk_tree_selection_set_mode(gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)), GTK_SELECTION_SINGLE); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(treeview), TRUE); - gtk_container_add(GTK_CONTAINER(sw), treeview); + gtk_box_pack_start(GTK_BOX(vbox), + pidgin_make_scrollable(treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1), + TRUE, TRUE, 0); gtk_widget_show(treeview); renderer = gtk_cell_renderer_pixbuf_new(); @@ -1488,7 +1480,6 @@ GtkTreeStore *model = NULL; GtkWidget *dialog = NULL; GtkWidget *label = NULL; - GtkWidget *sw; GtkCellRenderer *rend; GtkTreeViewColumn *column; GtkWidget *button = NULL; @@ -1526,10 +1517,6 @@ /* Golden ratio it up! */ gtk_widget_set_size_request(dialog, 550, 400); - sw = gtk_scrolled_window_new(NULL, NULL); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); - spec_dialog = g_new0(PidginNotifyDialog, 1); spec_dialog->dialog = dialog; @@ -1538,7 +1525,6 @@ g_object_unref(G_OBJECT(model)); gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(spec_dialog->treeview), TRUE); - gtk_container_add(GTK_CONTAINER(sw), spec_dialog->treeview); if (type == PIDGIN_NOTIFY_MAIL) { gtk_window_set_title(GTK_WINDOW(dialog), _("New Mail")); @@ -1653,7 +1639,9 @@ gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 2); + gtk_box_pack_start(GTK_BOX(vbox), + pidgin_make_scrollable(spec_dialog->treeview, GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS, GTK_SHADOW_IN, -1, -1), + TRUE, TRUE, 2); return spec_dialog; }