comparison src/gtkaccount.c @ 5692:b1eb9fc30ff8

[gaim-migrate @ 6113] Hitting cancel or closing the Modify Account dialog now destroys the dialog and frees up memory. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Tue, 03 Jun 2003 06:15:15 +0000
parents 08d20eb262c7
children 0b5318235562
comparison
equal deleted inserted replaced
5691:3de0e242f9a2 5692:b1eb9fc30ff8
689 g_signal_connect(G_OBJECT(dialog->proxy_dropdown), "changed", 689 g_signal_connect(G_OBJECT(dialog->proxy_dropdown), "changed",
690 G_CALLBACK(__proxy_type_changed_cb), dialog); 690 G_CALLBACK(__proxy_type_changed_cb), dialog);
691 } 691 }
692 692
693 static void 693 static void
694 __close_account_prefs_cb(GtkWidget *w, AccountPrefsDialog *dialog)
695 {
696 gtk_widget_destroy(dialog->window);
697
698 g_free(dialog);
699 }
700
701 static void
702 __account_win_destroy_cb(GtkWidget *w, GdkEvent *event,
703 AccountPrefsDialog *dialog)
704 {
705 __close_account_prefs_cb(NULL, dialog);
706 }
707
708 static void
694 __show_account_prefs(AccountPrefsDialogType type, GaimAccount *account) 709 __show_account_prefs(AccountPrefsDialogType type, GaimAccount *account)
695 { 710 {
696 AccountPrefsDialog *dialog; 711 AccountPrefsDialog *dialog;
697 GtkWidget *win; 712 GtkWidget *win;
698 GtkWidget *main_vbox; 713 GtkWidget *main_vbox;
728 743
729 gtk_window_set_resizable(GTK_WINDOW(win), FALSE); 744 gtk_window_set_resizable(GTK_WINDOW(win), FALSE);
730 745
731 gtk_container_set_border_width(GTK_CONTAINER(win), 12); 746 gtk_container_set_border_width(GTK_CONTAINER(win), 12);
732 747
733 #if 0
734 g_signal_connect(G_OBJECT(win), "delete_event", 748 g_signal_connect(G_OBJECT(win), "delete_event",
735 G_CALLBACK(__account_win_destroy_cb), dialog); 749 G_CALLBACK(__account_win_destroy_cb), dialog);
736 #endif
737 750
738 /* Setup the vbox */ 751 /* Setup the vbox */
739 main_vbox = gtk_vbox_new(FALSE, 12); 752 main_vbox = gtk_vbox_new(FALSE, 12);
740 gtk_container_add(GTK_CONTAINER(win), main_vbox); 753 gtk_container_add(GTK_CONTAINER(win), main_vbox);
741 gtk_widget_show(main_vbox); 754 gtk_widget_show(main_vbox);
779 792
780 /* Cancel button */ 793 /* Cancel button */
781 button = gtk_button_new_from_stock(GTK_STOCK_CANCEL); 794 button = gtk_button_new_from_stock(GTK_STOCK_CANCEL);
782 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); 795 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
783 gtk_widget_show(button); 796 gtk_widget_show(button);
797
798 g_signal_connect(G_OBJECT(button), "clicked",
799 G_CALLBACK(__close_account_prefs_cb), dialog);
784 800
785 /* OK button */ 801 /* OK button */
786 button = gtk_button_new_from_stock(GTK_STOCK_OK); 802 button = gtk_button_new_from_stock(GTK_STOCK_OK);
787 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0); 803 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
788 gtk_widget_show(button); 804 gtk_widget_show(button);