Mercurial > pidgin
comparison src/dialogs.c @ 1151:428372cc1e39
[gaim-migrate @ 1161]
Thanks to Moses Lei for this patch. it's something that should have been added long ago.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Tue, 28 Nov 2000 00:53:27 +0000 |
| parents | b1454d019277 |
| children | f4d4a14752ee |
comparison
equal
deleted
inserted
replaced
| 1150:aa3dda7fc352 | 1151:428372cc1e39 |
|---|---|
| 98 | 98 |
| 99 struct addbuddy { | 99 struct addbuddy { |
| 100 GtkWidget *window; | 100 GtkWidget *window; |
| 101 GtkWidget *combo; | 101 GtkWidget *combo; |
| 102 GtkWidget *entry; | 102 GtkWidget *entry; |
| 103 GtkWidget *entry_for_alias; | |
| 103 struct gaim_connection *gc; | 104 struct gaim_connection *gc; |
| 104 }; | 105 }; |
| 105 | 106 |
| 106 struct addperm { | 107 struct addperm { |
| 107 GtkWidget *window; | 108 GtkWidget *window; |
| 784 | 785 |
| 785 extern void add_callback(GtkWidget *, struct conversation *); | 786 extern void add_callback(GtkWidget *, struct conversation *); |
| 786 | 787 |
| 787 void do_add_buddy(GtkWidget *w, struct addbuddy *a) | 788 void do_add_buddy(GtkWidget *w, struct addbuddy *a) |
| 788 { | 789 { |
| 789 char *grp, *who; | 790 char *grp, *who, *whoalias; |
| 790 struct conversation *c; | 791 struct conversation *c; |
| 791 GSList *n = connections; | 792 GSList *n = connections; |
| 792 struct gaim_connection *g; | 793 struct gaim_connection *g; |
| 793 | 794 |
| 794 who = gtk_entry_get_text(GTK_ENTRY(a->entry)); | 795 who = gtk_entry_get_text(GTK_ENTRY(a->entry)); |
| 795 grp = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry)); | 796 grp = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry)); |
| 797 whoalias = gtk_entry_get_text(GTK_ENTRY(a->entry_for_alias)); | |
| 796 | 798 |
| 797 c = find_conversation(who); | 799 c = find_conversation(who); |
| 798 | 800 |
| 799 if (a->gc) add_buddy(a->gc, grp, who, NULL); | 801 if (a->gc) add_buddy(a->gc, grp, who, whoalias); |
| 800 else if (connections) add_buddy(connections->data, grp, who, NULL); | 802 else if (connections) add_buddy(connections->data, grp, who, whoalias); |
| 801 | 803 |
| 802 if (c != NULL) { | 804 if (c != NULL) { |
| 803 update_convo_add_button(c); | 805 update_convo_add_button(c); |
| 804 } | 806 } |
| 805 | 807 |
| 941 GtkWidget *add; | 943 GtkWidget *add; |
| 942 GtkWidget *label; | 944 GtkWidget *label; |
| 943 GtkWidget *bbox; | 945 GtkWidget *bbox; |
| 944 GtkWidget *vbox; | 946 GtkWidget *vbox; |
| 945 GtkWidget *topbox; | 947 GtkWidget *topbox; |
| 948 GtkWidget *topbox1; | |
| 949 GtkWidget *topbox2; | |
| 946 GtkWidget *frame; | 950 GtkWidget *frame; |
| 947 | 951 |
| 948 struct addbuddy *a = g_new0(struct addbuddy, 1); | 952 struct addbuddy *a = g_new0(struct addbuddy, 1); |
| 949 a->gc = gc; | 953 a->gc = gc; |
| 950 | 954 |
| 951 a->window = gtk_window_new(GTK_WINDOW_DIALOG); | 955 a->window = gtk_window_new(GTK_WINDOW_DIALOG); |
| 952 gtk_window_set_wmclass(GTK_WINDOW(a->window), "add_buddy", "Gaim"); | 956 gtk_window_set_wmclass(GTK_WINDOW(a->window), "add_buddy", "Gaim"); |
| 953 gtk_widget_set_usize(a->window, 480, 105); | |
| 954 gtk_window_set_policy(GTK_WINDOW(a->window), FALSE, FALSE, TRUE); | 957 gtk_window_set_policy(GTK_WINDOW(a->window), FALSE, FALSE, TRUE); |
| 958 gtk_window_set_title(GTK_WINDOW(a->window), _("Gaim - Add Buddy")); | |
| 959 gtk_container_set_border_width(GTK_CONTAINER(a->window), 5); | |
| 955 gtk_widget_realize(a->window); | 960 gtk_widget_realize(a->window); |
| 956 dialogwindows = g_list_prepend(dialogwindows, a->window); | 961 aol_icon(a->window->window); |
| 957 | |
| 958 bbox = gtk_hbox_new(TRUE, 10); | |
| 959 topbox = gtk_hbox_new(FALSE, 5); | |
| 960 vbox = gtk_vbox_new(FALSE, 5); | |
| 961 | |
| 962 a->entry = gtk_entry_new(); | |
| 963 a->combo = gtk_combo_new(); | |
| 964 /* Fix the combo box */ | |
| 965 gtk_combo_set_popdown_strings(GTK_COMBO(a->combo), groups_tree(gc ? gc : connections->data)); | |
| 966 /* Put the buttons in the box */ | |
| 967 | |
| 968 add = picture_button(a->window, _("Add"), add_xpm); | |
| 969 cancel = picture_button(a->window, _("Cancel"), cancel_xpm); | |
| 970 | |
| 971 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); | |
| 972 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); | |
| 973 | |
| 974 frame = gtk_frame_new(NULL); | |
| 975 gtk_frame_set_label(GTK_FRAME(frame), _("Add Buddy")); | |
| 976 | |
| 977 label = gtk_label_new(_("Buddy")); | |
| 978 gtk_widget_show(label); | |
| 979 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); | |
| 980 gtk_box_pack_start(GTK_BOX(topbox), a->entry, FALSE, FALSE, 5); | |
| 981 if (buddy != NULL) | |
| 982 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy); | |
| 983 | |
| 984 label = gtk_label_new(_("Group")); | |
| 985 gtk_widget_show(label); | |
| 986 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); | |
| 987 gtk_box_pack_start(GTK_BOX(topbox), a->combo, FALSE, FALSE, 5); | |
| 988 | |
| 989 if (group != NULL) | |
| 990 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group); | |
| 991 | |
| 992 /* And the boxes in the box */ | |
| 993 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); | |
| 994 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); | |
| 995 | |
| 996 /* Handle closes right */ | |
| 997 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", | 962 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", |
| 998 GTK_SIGNAL_FUNC(destroy_dialog), a->window); | 963 GTK_SIGNAL_FUNC(destroy_dialog), a->window); |
| 999 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", | 964 gtk_signal_connect(GTK_OBJECT(a->window), "destroy", |
| 1000 GTK_SIGNAL_FUNC(free_dialog), a); | 965 GTK_SIGNAL_FUNC(free_dialog), a); |
| 966 dialogwindows = g_list_prepend(dialogwindows, a->window); | |
| 967 | |
| 968 frame = gtk_frame_new(_("Add Buddy")); | |
| 969 gtk_container_add(GTK_CONTAINER(a->window), frame); | |
| 970 gtk_widget_show(frame); | |
| 971 | |
| 972 vbox = gtk_vbox_new(FALSE, 5); | |
| 973 gtk_container_add(GTK_CONTAINER(frame), vbox); | |
| 974 gtk_widget_show(vbox); | |
| 975 | |
| 976 topbox = gtk_hbox_new(FALSE, 5); | |
| 977 gtk_box_pack_start(GTK_BOX(vbox), topbox, TRUE, TRUE, 5); | |
| 978 gtk_widget_show(topbox); | |
| 979 | |
| 980 label = gtk_label_new(_("Buddy")); | |
| 981 gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 5); | |
| 982 gtk_widget_show(label); | |
| 983 | |
| 984 a->entry = gtk_entry_new(); | |
| 985 gtk_box_pack_end(GTK_BOX(topbox), a->entry, FALSE, FALSE, 5); | |
| 986 gtk_window_set_focus(GTK_WINDOW(a->window), a->entry); | |
| 987 if (buddy != NULL) | |
| 988 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy); | |
| 989 gtk_signal_connect(GTK_OBJECT(a->entry), "activate", | |
| 990 GTK_SIGNAL_FUNC(do_add_buddy), a); | |
| 991 gtk_widget_show(a->entry); | |
| 992 | |
| 993 topbox1 = gtk_hbox_new(FALSE, 5); | |
| 994 gtk_box_pack_start(GTK_BOX(vbox), topbox1, TRUE, TRUE, 5); | |
| 995 gtk_widget_show(topbox1); | |
| 996 | |
| 997 label = gtk_label_new(_("Alias")); | |
| 998 gtk_box_pack_start(GTK_BOX(topbox1), label, FALSE, FALSE, 5); | |
| 999 gtk_widget_show(label); | |
| 1000 | |
| 1001 a->entry_for_alias = gtk_entry_new(); | |
| 1002 gtk_box_pack_end(GTK_BOX(topbox1), a->entry_for_alias, FALSE, FALSE, 5); | |
| 1003 gtk_widget_show(a->entry_for_alias); | |
| 1004 | |
| 1005 topbox2 = gtk_hbox_new(FALSE, 5); | |
| 1006 gtk_box_pack_start(GTK_BOX(vbox), topbox2, TRUE, TRUE, 5); | |
| 1007 gtk_widget_show(topbox2); | |
| 1008 | |
| 1009 label = gtk_label_new(_("Group")); | |
| 1010 gtk_box_pack_start(GTK_BOX(topbox2), label, FALSE, FALSE, 5); | |
| 1011 gtk_widget_show(label); | |
| 1012 | |
| 1013 a->combo = gtk_combo_new(); | |
| 1014 gtk_combo_set_popdown_strings(GTK_COMBO(a->combo), groups_tree(gc ? gc : connections->data)); | |
| 1015 if (group != NULL) | |
| 1016 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group); | |
| 1017 gtk_box_pack_end(GTK_BOX(topbox2), a->combo, FALSE, FALSE, 5); | |
| 1018 gtk_widget_show(a->combo); | |
| 1019 | |
| 1020 bbox = gtk_hbox_new(TRUE, 10); | |
| 1021 gtk_box_pack_start(GTK_BOX(vbox), bbox, TRUE, TRUE, 5); | |
| 1022 gtk_widget_show(bbox); | |
| 1023 | |
| 1024 add = picture_button(a->window, _("Add"), add_xpm); | |
| 1025 gtk_box_pack_start(GTK_BOX(bbox), add, FALSE, FALSE, 5); | |
| 1026 gtk_signal_connect(GTK_OBJECT(add), "clicked", | |
| 1027 GTK_SIGNAL_FUNC(do_add_buddy), a); | |
| 1028 gtk_widget_show(add); | |
| 1029 | |
| 1030 cancel = picture_button(a->window, _("Cancel"), cancel_xpm); | |
| 1031 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 5); | |
| 1001 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", | 1032 gtk_signal_connect(GTK_OBJECT(cancel), "clicked", |
| 1002 GTK_SIGNAL_FUNC(destroy_dialog), a->window); | 1033 GTK_SIGNAL_FUNC(destroy_dialog), a->window); |
| 1003 gtk_signal_connect(GTK_OBJECT(add), "clicked", | |
| 1004 GTK_SIGNAL_FUNC(do_add_buddy), a); | |
| 1005 gtk_signal_connect(GTK_OBJECT(a->entry), "activate", | |
| 1006 GTK_SIGNAL_FUNC(do_add_buddy), a); | |
| 1007 /* Finish up */ | |
| 1008 gtk_widget_show(add); | |
| 1009 gtk_widget_show(cancel); | 1034 gtk_widget_show(cancel); |
| 1010 gtk_widget_show(a->combo); | 1035 |
| 1011 gtk_widget_show(a->entry); | |
| 1012 gtk_widget_show(topbox); | |
| 1013 gtk_widget_show(bbox); | |
| 1014 gtk_widget_show(vbox); | |
| 1015 gtk_widget_show(frame); | |
| 1016 gtk_window_set_title(GTK_WINDOW(a->window), _("Gaim - Add Buddy")); | |
| 1017 gtk_window_set_focus(GTK_WINDOW(a->window), a->entry); | |
| 1018 gtk_container_add(GTK_CONTAINER(frame), vbox); | |
| 1019 gtk_container_add(GTK_CONTAINER(a->window), frame); | |
| 1020 gtk_container_set_border_width(GTK_CONTAINER(a->window), 5); | |
| 1021 gtk_widget_realize(a->window); | |
| 1022 aol_icon(a->window->window); | |
| 1023 | |
| 1024 gtk_widget_show(a->window); | 1036 gtk_widget_show(a->window); |
| 1025 } | 1037 } |
| 1026 | 1038 |
| 1027 | 1039 |
| 1028 /*------------------------------------------------------------------------*/ | 1040 /*------------------------------------------------------------------------*/ |
