Mercurial > pidgin
comparison src/dialogs.c @ 4180:3ed4fab5d7bf
[gaim-migrate @ 4411]
More gtk2ification
committer: Tailor Script <tailor@pidgin.im>
author | Rob Flynn <gaim@robflynn.com> |
---|---|
date | Fri, 03 Jan 2003 06:58:56 +0000 |
parents | 67f45f27ed3c |
children | 05a456d5f799 |
comparison
equal
deleted
inserted
replaced
4179:67f45f27ed3c | 4180:3ed4fab5d7bf |
---|---|
870 /* The dialog for adding buddies */ | 870 /* The dialog for adding buddies */ |
871 /*------------------------------------------------------------------------*/ | 871 /*------------------------------------------------------------------------*/ |
872 | 872 |
873 extern void add_callback(GtkWidget *, struct conversation *); | 873 extern void add_callback(GtkWidget *, struct conversation *); |
874 | 874 |
875 void do_add_buddy(GtkWidget *w, struct addbuddy *a) | 875 void do_add_buddy(GtkWidget *w, int resp, struct addbuddy *a) |
876 { | 876 { |
877 const char *grp, *who, *whoalias; | 877 const char *grp, *who, *whoalias; |
878 struct conversation *c; | 878 struct conversation *c; |
879 | 879 |
880 who = gtk_entry_get_text(GTK_ENTRY(a->entry)); | 880 if (resp == GTK_RESPONSE_OK) { |
881 grp = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry)); | 881 |
882 whoalias = gtk_entry_get_text(GTK_ENTRY(a->entry_for_alias)); | 882 who = gtk_entry_get_text(GTK_ENTRY(a->entry)); |
883 | 883 grp = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry)); |
884 c = find_conversation(who); | 884 whoalias = gtk_entry_get_text(GTK_ENTRY(a->entry_for_alias)); |
885 | 885 |
886 add_buddy(a->gc, grp, who, whoalias); | 886 c = find_conversation(who); |
887 serv_add_buddy(a->gc, who); | 887 |
888 | 888 add_buddy(a->gc, grp, who, whoalias); |
889 if (c != NULL) { | 889 serv_add_buddy(a->gc, who); |
890 update_buttons_by_protocol(c); | 890 |
891 } | 891 if (c != NULL) { |
892 | 892 update_buttons_by_protocol(c); |
893 do_export(a->gc); | 893 } |
894 | |
895 do_export(a->gc); | |
896 } | |
894 | 897 |
895 destroy_dialog(NULL, a->window); | 898 destroy_dialog(NULL, a->window); |
896 } | 899 } |
897 | 900 |
898 void do_add_group(GtkWidget *w, int resp, struct addbuddy *a) | 901 void do_add_group(GtkWidget *w, int resp, struct addbuddy *a) |
1056 GtkWidget *table; | 1059 GtkWidget *table; |
1057 GtkWidget *bbox; | 1060 GtkWidget *bbox; |
1058 GtkWidget *cancel; | 1061 GtkWidget *cancel; |
1059 GtkWidget *add; | 1062 GtkWidget *add; |
1060 GtkWidget *label; | 1063 GtkWidget *label; |
1064 GtkWidget *hbox; | |
1065 GtkWidget *vbox; | |
1066 | |
1067 char *filename = g_build_filename(DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); | |
1068 GtkWidget *img = gtk_image_new_from_file(filename); | |
1061 | 1069 |
1062 struct addbuddy *a = g_new0(struct addbuddy, 1); | 1070 struct addbuddy *a = g_new0(struct addbuddy, 1); |
1063 a->gc = gc ? gc : connections->data; | 1071 a->gc = gc ? gc : connections->data; |
1064 | 1072 |
1073 g_free(filename); | |
1074 | |
1065 GAIM_DIALOG(a->window); | 1075 GAIM_DIALOG(a->window); |
1076 a->window = gtk_dialog_new_with_buttons(_("Gaim - Add Buddy"), blist ? GTK_WINDOW(blist) : NULL, GTK_DIALOG_MODAL, | |
1077 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_ADD, GTK_RESPONSE_OK, NULL); | |
1078 | |
1079 gtk_dialog_set_default_response(GTK_DIALOG(a->window), GTK_RESPONSE_OK); | |
1080 gtk_container_set_border_width(GTK_CONTAINER(a->window), 6); | |
1081 gtk_window_set_resizable(GTK_WINDOW(a->window), FALSE); | |
1082 gtk_dialog_set_has_separator(GTK_DIALOG(a->window), FALSE); | |
1083 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(a->window)->vbox), 12); | |
1084 gtk_container_set_border_width(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), 6); | |
1066 gtk_window_set_role(GTK_WINDOW(a->window), "add_buddy"); | 1085 gtk_window_set_role(GTK_WINDOW(a->window), "add_buddy"); |
1067 gtk_window_set_policy(GTK_WINDOW(a->window), FALSE, FALSE, TRUE); | 1086 |
1068 gtk_window_set_title(GTK_WINDOW(a->window), _("Gaim - Add Buddy")); | 1087 hbox = gtk_hbox_new(FALSE, 12); |
1069 | 1088 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(a->window)->vbox), hbox); |
1070 gtk_widget_realize(a->window); | 1089 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0); |
1090 gtk_misc_set_alignment(GTK_MISC(img), 0, 0); | |
1091 | |
1092 vbox = gtk_vbox_new(FALSE, 0); | |
1093 gtk_container_add(GTK_CONTAINER(hbox), vbox); | |
1094 | |
1095 label = gtk_label_new(_("Please enter the screen name of the person you would like to add to your buddylist. You may optionally enter an alias, or nickname, for the buddy. The alias will be displayed in place of the screen name whenever possible.\n")); | |
1096 gtk_widget_set_size_request(GTK_WIDGET(label), 400, -1); | |
1097 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); | |
1098 gtk_misc_set_alignment(GTK_MISC(label), 0, 0); | |
1099 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); | |
1100 | |
1101 hbox = gtk_hbox_new(FALSE, 6); | |
1102 gtk_container_add(GTK_CONTAINER(vbox), hbox); | |
1103 | |
1071 g_signal_connect(GTK_OBJECT(a->window), "destroy", G_CALLBACK(destroy_dialog), a->window); | 1104 g_signal_connect(GTK_OBJECT(a->window), "destroy", G_CALLBACK(destroy_dialog), a->window); |
1072 g_signal_connect(GTK_OBJECT(a->window), "destroy", G_CALLBACK(free_dialog), a); | 1105 g_signal_connect(GTK_OBJECT(a->window), "destroy", G_CALLBACK(free_dialog), a); |
1073 dialogwindows = g_list_prepend(dialogwindows, a->window); | 1106 dialogwindows = g_list_prepend(dialogwindows, a->window); |
1074 | 1107 |
1075 mainbox = gtk_vbox_new(FALSE, 5); | |
1076 gtk_container_set_border_width(GTK_CONTAINER(mainbox), 5); | |
1077 gtk_container_add(GTK_CONTAINER(a->window), mainbox); | |
1078 | |
1079 frame = gtk_frame_new(_("Add Buddy")); | |
1080 gtk_box_pack_start(GTK_BOX(mainbox), frame, TRUE, TRUE, 0); | |
1081 gtk_widget_show(frame); | |
1082 | |
1083 table = gtk_table_new(4, 2, FALSE); | 1108 table = gtk_table_new(4, 2, FALSE); |
1084 gtk_table_set_row_spacings(GTK_TABLE(table), 5); | 1109 gtk_table_set_row_spacings(GTK_TABLE(table), 5); |
1085 gtk_table_set_col_spacings(GTK_TABLE(table), 5); | 1110 gtk_table_set_col_spacings(GTK_TABLE(table), 5); |
1086 gtk_container_set_border_width(GTK_CONTAINER(table), 5); | 1111 gtk_container_set_border_width(GTK_CONTAINER(table), 0); |
1087 gtk_container_add(GTK_CONTAINER(frame), table); | 1112 gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); |
1088 | 1113 |
1089 label = gtk_label_new(_("Contact")); | 1114 label = gtk_label_new(_("Screen Name")); |
1115 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1090 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); | 1116 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 0, 1); |
1091 | 1117 |
1092 a->entry = gtk_entry_new(); | 1118 a->entry = gtk_entry_new(); |
1093 gtk_table_attach_defaults(GTK_TABLE(table), a->entry, 1, 2, 0, 1); | 1119 gtk_table_attach_defaults(GTK_TABLE(table), a->entry, 1, 2, 0, 1); |
1094 gtk_widget_grab_focus(a->entry); | 1120 gtk_widget_grab_focus(a->entry); |
1095 if (buddy != NULL) | 1121 if (buddy != NULL) |
1096 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy); | 1122 gtk_entry_set_text(GTK_ENTRY(a->entry), buddy); |
1097 g_signal_connect(GTK_OBJECT(a->entry), "activate", G_CALLBACK(do_add_buddy), a); | 1123 g_signal_connect(GTK_OBJECT(a->entry), "activate", G_CALLBACK(do_add_buddy), a); |
1098 | 1124 |
1099 label = gtk_label_new(_("Alias")); | 1125 label = gtk_label_new(_("Alias")); |
1126 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1100 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); | 1127 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 1, 2); |
1101 | 1128 |
1102 a->entry_for_alias = gtk_entry_new(); | 1129 a->entry_for_alias = gtk_entry_new(); |
1103 gtk_table_attach_defaults(GTK_TABLE(table), a->entry_for_alias, 1, 2, 1, 2); | 1130 gtk_table_attach_defaults(GTK_TABLE(table), a->entry_for_alias, 1, 2, 1, 2); |
1104 if (alias != NULL) | 1131 if (alias != NULL) |
1105 gtk_entry_set_text(GTK_ENTRY(a->entry_for_alias), alias); | 1132 gtk_entry_set_text(GTK_ENTRY(a->entry_for_alias), alias); |
1106 | 1133 |
1107 label = gtk_label_new(_("Group")); | 1134 label = gtk_label_new(_("Group")); |
1135 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1108 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 2, 3); | 1136 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 2, 3); |
1109 | 1137 |
1110 a->combo = gtk_combo_new(); | 1138 a->combo = gtk_combo_new(); |
1111 gtk_combo_set_popdown_strings(GTK_COMBO(a->combo), groups_tree(a->gc)); | 1139 gtk_combo_set_popdown_strings(GTK_COMBO(a->combo), groups_tree(a->gc)); |
1112 gtk_table_attach_defaults(GTK_TABLE(table), a->combo, 1, 2, 2, 3); | 1140 gtk_table_attach_defaults(GTK_TABLE(table), a->combo, 1, 2, 2, 3); |
1113 | 1141 |
1114 /* Set up stuff for the account box */ | 1142 /* Set up stuff for the account box */ |
1115 label = gtk_label_new(_("Add To")); | 1143 label = gtk_label_new(_("Add To")); |
1144 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | |
1116 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 3, 4); | 1145 gtk_table_attach_defaults(GTK_TABLE(table), label, 0, 1, 3, 4); |
1117 | 1146 |
1118 a->account = gtk_option_menu_new(); | 1147 a->account = gtk_option_menu_new(); |
1119 gtk_table_attach_defaults(GTK_TABLE(table), a->account, 1, 2, 3, 4); | 1148 gtk_table_attach_defaults(GTK_TABLE(table), a->account, 1, 2, 3, 4); |
1120 | 1149 |
1121 create_online_user_names(a); | 1150 create_online_user_names(a); |
1122 | 1151 |
1123 /* End of account box */ | 1152 /* End of account box */ |
1124 | 1153 |
1125 bbox = gtk_hbox_new(FALSE, 5); | 1154 g_signal_connect(G_OBJECT(a->window), "response", G_CALLBACK(do_add_buddy), a); |
1126 gtk_box_pack_start(GTK_BOX(mainbox), bbox, TRUE, TRUE, 0); | |
1127 | |
1128 add = picture_button(a->window, _("Add"), add_xpm); | |
1129 gtk_box_pack_end(GTK_BOX(bbox), add, FALSE, FALSE, 0); | |
1130 g_signal_connect(GTK_OBJECT(add), "clicked", G_CALLBACK(do_add_buddy), a); | |
1131 | |
1132 cancel = picture_button(a->window, _("Cancel"), cancel_xpm); | |
1133 gtk_box_pack_end(GTK_BOX(bbox), cancel, FALSE, FALSE, 0); | |
1134 g_signal_connect(GTK_OBJECT(cancel), "clicked", G_CALLBACK(destroy_dialog), a->window); | |
1135 | 1155 |
1136 gtk_widget_show_all(a->window); | 1156 gtk_widget_show_all(a->window); |
1157 | |
1137 if (group != NULL) | 1158 if (group != NULL) |
1138 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group); | 1159 gtk_entry_set_text(GTK_ENTRY(GTK_COMBO(a->combo)->entry), group); |
1139 } | 1160 } |
1140 | 1161 |
1141 | 1162 |