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 /*------------------------------------------------------------------------*/