Mercurial > pidgin.yaz
comparison pidgin/gtkft.c @ 21652:eb2d5ba2a50d
Add a utility function pidgin_dialog_add_button to add buttons to a dialog
created by pidgin_create_dialog. This removes a lot of code duplication.
Anyone using this branch should keep an eye on the buttons on the dialogs to
make sure they are enabled/disabled/displayed/hidden/marinated correctly.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Tue, 27 Nov 2007 00:15:49 +0000 |
parents | 2a2496044eef |
children | c2c66ffcdfa7 |
comparison
equal
deleted
inserted
replaced
21651:9107bb853c49 | 21652:eb2d5ba2a50d |
---|---|
743 pidgin_xfer_dialog_new(void) | 743 pidgin_xfer_dialog_new(void) |
744 { | 744 { |
745 PidginXferDialog *dialog; | 745 PidginXferDialog *dialog; |
746 GtkWidget *window; | 746 GtkWidget *window; |
747 GtkWidget *vbox1, *vbox2; | 747 GtkWidget *vbox1, *vbox2; |
748 GtkWidget *bbox; | |
749 GtkWidget *sw; | 748 GtkWidget *sw; |
750 GtkWidget *button; | 749 GtkWidget *button; |
751 GtkWidget *expander; | 750 GtkWidget *expander; |
752 GtkWidget *table; | 751 GtkWidget *table; |
753 GtkWidget *checkbox; | 752 GtkWidget *checkbox; |
808 /* The table of information. */ | 807 /* The table of information. */ |
809 table = make_info_table(dialog); | 808 table = make_info_table(dialog); |
810 gtk_container_add(GTK_CONTAINER(expander), table); | 809 gtk_container_add(GTK_CONTAINER(expander), table); |
811 gtk_widget_show(table); | 810 gtk_widget_show(table); |
812 | 811 |
813 /* Now the button box for the buttons */ | |
814 bbox = pidgin_dialog_get_action_area(GTK_DIALOG(window)); | |
815 gtk_box_set_spacing(GTK_BOX(bbox), PIDGIN_HIG_BOX_SPACE); | |
816 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); | |
817 | |
818 /* Open button */ | 812 /* Open button */ |
819 button = gtk_button_new_from_stock(GTK_STOCK_OPEN); | 813 button = pidgin_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_OPEN, G_CALLBACK(open_button_cb), dialog); |
820 gtk_widget_set_sensitive(button, FALSE); | 814 gtk_widget_set_sensitive(button, FALSE); |
821 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
822 gtk_widget_show(button); | |
823 dialog->open_button = button; | 815 dialog->open_button = button; |
824 | 816 |
825 g_signal_connect(G_OBJECT(button), "clicked", | |
826 G_CALLBACK(open_button_cb), dialog); | |
827 | |
828 /* Pause button */ | 817 /* Pause button */ |
829 button = gtk_button_new_with_mnemonic(_("_Pause")); | 818 button = pidgin_dialog_add_button(GTK_DIALOG(window), _("_Pause"), G_CALLBACK(pause_button_cb), dialog); |
830 gtk_widget_set_sensitive(button, FALSE); | 819 gtk_widget_set_sensitive(button, FALSE); |
831 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
832 gtk_widget_show(button); | |
833 dialog->pause_button = button; | 820 dialog->pause_button = button; |
834 | 821 |
835 g_signal_connect(G_OBJECT(button), "clicked", | |
836 G_CALLBACK(pause_button_cb), dialog); | |
837 | |
838 /* Resume button */ | 822 /* Resume button */ |
839 button = gtk_button_new_with_mnemonic(_("_Resume")); | 823 button = pidgin_dialog_add_button(GTK_DIALOG(window), _("_Resume"), G_CALLBACK(resume_button_cb), dialog); |
840 gtk_widget_set_sensitive(button, FALSE); | 824 gtk_widget_set_sensitive(button, FALSE); |
841 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
842 gtk_widget_show(button); | |
843 dialog->resume_button = button; | 825 dialog->resume_button = button; |
844 | 826 |
845 g_signal_connect(G_OBJECT(button), "clicked", | |
846 G_CALLBACK(resume_button_cb), dialog); | |
847 | |
848 /* Remove button */ | 827 /* Remove button */ |
849 button = gtk_button_new_from_stock(GTK_STOCK_REMOVE); | 828 button = pidgin_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_REMOVE, G_CALLBACK(remove_button_cb), dialog); |
850 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
851 gtk_widget_hide(button); | 829 gtk_widget_hide(button); |
852 dialog->remove_button = button; | 830 dialog->remove_button = button; |
853 | 831 |
854 g_signal_connect(G_OBJECT(button), "clicked", | |
855 G_CALLBACK(remove_button_cb), dialog); | |
856 | |
857 /* Stop button */ | 832 /* Stop button */ |
858 button = gtk_button_new_from_stock(GTK_STOCK_STOP); | 833 button = pidgin_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_STOP, G_CALLBACK(stop_button_cb), dialog); |
859 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
860 gtk_widget_show(button); | |
861 gtk_widget_set_sensitive(button, FALSE); | 834 gtk_widget_set_sensitive(button, FALSE); |
862 dialog->stop_button = button; | 835 dialog->stop_button = button; |
863 | 836 |
864 g_signal_connect(G_OBJECT(button), "clicked", | |
865 G_CALLBACK(stop_button_cb), dialog); | |
866 | |
867 /* Close button */ | 837 /* Close button */ |
868 button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); | 838 button = pidgin_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_CLOSE, G_CALLBACK(close_button_cb), dialog); |
869 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); | |
870 gtk_widget_show(button); | |
871 dialog->close_button = button; | 839 dialog->close_button = button; |
872 | |
873 g_signal_connect(G_OBJECT(button), "clicked", | |
874 G_CALLBACK(close_button_cb), dialog); | |
875 | 840 |
876 #ifdef _WIN32 | 841 #ifdef _WIN32 |
877 g_signal_connect(G_OBJECT(dialog->window), "show", | 842 g_signal_connect(G_OBJECT(dialog->window), "show", |
878 G_CALLBACK(winpidgin_ensure_onscreen), dialog->window); | 843 G_CALLBACK(winpidgin_ensure_onscreen), dialog->window); |
879 #endif | 844 #endif |