comparison pidgin/gtkft.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 a8cc50c2279f
children e2c6e4fc3c84
comparison
equal deleted inserted replaced
31815:d169a587901f 31816:917c597beb97
555 * Dialog Building Functions 555 * Dialog Building Functions
556 **************************************************************************/ 556 **************************************************************************/
557 static GtkWidget * 557 static GtkWidget *
558 setup_tree(PidginXferDialog *dialog) 558 setup_tree(PidginXferDialog *dialog)
559 { 559 {
560 GtkWidget *sw;
561 GtkWidget *tree; 560 GtkWidget *tree;
562 GtkListStore *model; 561 GtkListStore *model;
563 GtkCellRenderer *renderer; 562 GtkCellRenderer *renderer;
564 GtkTreeViewColumn *column; 563 GtkTreeViewColumn *column;
565 GtkTreeSelection *selection; 564 GtkTreeSelection *selection;
566
567 /* Create the scrolled window. */
568 sw = gtk_scrolled_window_new(0, 0);
569 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw),
570 GTK_SHADOW_IN);
571 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
572 GTK_POLICY_AUTOMATIC,
573 GTK_POLICY_AUTOMATIC);
574 gtk_widget_show(sw);
575 565
576 /* Build the tree model */ 566 /* Build the tree model */
577 /* Transfer type, Progress Bar, Filename, Size, Remaining */ 567 /* Transfer type, Progress Bar, Filename, Size, Remaining */
578 model = gtk_list_store_new(NUM_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_INT, 568 model = gtk_list_store_new(NUM_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_INT,
579 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, 569 G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
634 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE); 624 gtk_tree_view_column_set_resizable(GTK_TREE_VIEW_COLUMN(column), TRUE);
635 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column); 625 gtk_tree_view_append_column(GTK_TREE_VIEW(tree), column);
636 626
637 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(tree)); 627 gtk_tree_view_columns_autosize(GTK_TREE_VIEW(tree));
638 628
639 gtk_container_add(GTK_CONTAINER(sw), tree);
640 gtk_widget_show(tree); 629 gtk_widget_show(tree);
641 630
642 return sw; 631 return tree;
643 } 632 }
644 633
645 static GtkWidget * 634 static GtkWidget *
646 make_info_table(PidginXferDialog *dialog) 635 make_info_table(PidginXferDialog *dialog)
647 { 636 {
711 pidgin_xfer_dialog_new(void) 700 pidgin_xfer_dialog_new(void)
712 { 701 {
713 PidginXferDialog *dialog; 702 PidginXferDialog *dialog;
714 GtkWidget *window; 703 GtkWidget *window;
715 GtkWidget *vbox1, *vbox2; 704 GtkWidget *vbox1, *vbox2;
716 GtkWidget *sw;
717 GtkWidget *expander; 705 GtkWidget *expander;
718 GtkWidget *alignment; 706 GtkWidget *alignment;
719 GtkWidget *table; 707 GtkWidget *table;
720 GtkWidget *checkbox; 708 GtkWidget *checkbox;
721 GtkWidget *bbox; 709 GtkWidget *bbox;
742 vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); 730 vbox2 = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE);
743 gtk_box_pack_start(GTK_BOX(vbox1), vbox2, TRUE, TRUE, 0); 731 gtk_box_pack_start(GTK_BOX(vbox1), vbox2, TRUE, TRUE, 0);
744 gtk_widget_show(vbox2); 732 gtk_widget_show(vbox2);
745 733
746 /* Setup the listbox */ 734 /* Setup the listbox */
747 sw = setup_tree(dialog); 735 gtk_box_pack_start(GTK_BOX(vbox2),
748 gtk_box_pack_start(GTK_BOX(vbox2), sw, TRUE, TRUE, 0); 736 pidgin_make_scrollable(setup_tree(dialog), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_IN, -1, 140),
749 gtk_widget_set_size_request(sw,-1, 140); 737 TRUE, TRUE, 0);
750 738
751 /* "Close this window when all transfers finish" */ 739 /* "Close this window when all transfers finish" */
752 checkbox = gtk_check_button_new_with_mnemonic( 740 checkbox = gtk_check_button_new_with_mnemonic(
753 _("Close this window when all transfers _finish")); 741 _("Close this window when all transfers _finish"));
754 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbox), 742 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbox),