Mercurial > pidgin.yaz
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), |