Mercurial > pidgin
diff src/prpl.c @ 2232:14e8978f86bb
[gaim-migrate @ 2242]
heh.
committer: Tailor Script <tailor@pidgin.im>
| author | Eric Warmenhoven <eric@warmenhoven.org> |
|---|---|
| date | Fri, 07 Sep 2001 08:58:24 +0000 |
| parents | 5014b802eb41 |
| children | 08387976d367 |
line wrap: on
line diff
--- a/src/prpl.c Fri Sep 07 08:09:22 2001 +0000 +++ b/src/prpl.c Fri Sep 07 08:58:24 2001 +0000 @@ -30,10 +30,6 @@ GSList *protocols = NULL; -static GtkWidget *regdialog = NULL; -static GtkWidget *regbox = NULL; -static struct prpl *regprpl = NULL; - GtkWidget *protomenu = NULL; struct _prompt { @@ -82,8 +78,6 @@ if ((old = find_prpl(p->protocol)) == NULL) unload_protocol(old); protocols = g_slist_insert_sorted(protocols, p, (GCompareFunc)proto_compare); - if (regdialog) - gtk_widget_destroy(regdialog); regenerate_user_list(); } @@ -235,134 +229,6 @@ gtk_widget_show_all(window); } -static void delete_reg(gpointer a, gpointer b) -{ - GtkWidget *tmp = regdialog; - if (regdialog) { - regdialog = NULL; - gtk_widget_destroy(tmp); - } -} - -void prepare_regbox_for_next() -{ - while (GTK_BOX(regbox)->children) - gtk_container_remove(GTK_CONTAINER(regbox), - ((GtkBoxChild *)GTK_BOX(regbox)->children->data)->widget); -} - -static void reg_prpl(gpointer a, struct prpl *p) -{ - prepare_regbox_for_next(); - regprpl = p; - (*regprpl->draw_new_user)(regbox); -} - -static void do_reg(gpointer a, gpointer b) -{ - if (regprpl->do_new_user) - (*regprpl->do_new_user)(); -} - -void register_user(gpointer a, gpointer b) -{ - GSList *pr = protocols; - struct prpl *p = NULL, *q; - GtkWidget *box; - GtkWidget *frame; - GtkWidget *vbox; - GtkWidget *hbox; - GtkWidget *label; - GtkWidget *optmenu; - GtkWidget *menu; - GtkWidget *opt; - GtkWidget *button; - - if (regdialog) - return; - - while (pr) { - p = pr->data; - if (p->draw_new_user) - break; - pr = pr->next; - p = NULL; - } - if (p == NULL) - /* this should never happen because I said so. Hi mom. */ - return; - pr = protocols; - - regdialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); - gtk_window_set_wmclass(GTK_WINDOW(regdialog), "registration", "Gaim"); - gtk_container_set_border_width(GTK_CONTAINER(regdialog), 5); - gtk_window_set_title(GTK_WINDOW(regdialog), _("Gaim - New User Registration")); - gtk_signal_connect(GTK_OBJECT(regdialog), "destroy", GTK_SIGNAL_FUNC(delete_reg), NULL); - gtk_widget_realize(regdialog); - aol_icon(regdialog->window); - - box = gtk_vbox_new(FALSE, 5); - gtk_container_add(GTK_CONTAINER(regdialog), box); - gtk_widget_show(box); - - frame = gtk_frame_new(_("New User Registration")); - gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 5); - gtk_widget_show(frame); - - vbox = gtk_vbox_new(FALSE, 5); - gtk_container_add(GTK_CONTAINER(frame), vbox); - gtk_widget_show(vbox); - - hbox = gtk_hbox_new(FALSE, 5); - gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 5); - gtk_widget_show(hbox); - - label = gtk_label_new(_("Register new user for")); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 5); - gtk_widget_show(label); - - optmenu = gtk_option_menu_new(); - gtk_box_pack_start(GTK_BOX(hbox), optmenu, FALSE, FALSE, 5); - gtk_widget_show(optmenu); - - menu = gtk_menu_new(); - - while (pr) { - q = pr->data; - if (q->draw_new_user) { - opt = gtk_menu_item_new_with_label((*q->name)()); - gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(reg_prpl), q); - gtk_menu_append(GTK_MENU(menu), opt); - gtk_widget_show(opt); - } - pr = pr->next; - } - - gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); - gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), 0); - regprpl = p; - - regbox = gtk_vbox_new(FALSE, 5); - gtk_box_pack_start(GTK_BOX(vbox), regbox, FALSE, FALSE, 5); - gtk_widget_show(regbox); - - (*regprpl->draw_new_user)(regbox); - - hbox = gtk_hbox_new(FALSE, 5); - gtk_box_pack_end(GTK_BOX(box), hbox, FALSE, FALSE, 5); - gtk_widget_show(hbox); - - button = picture_button(regdialog, _("Close"), cancel_xpm); - gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); - gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(delete_reg), NULL); - - button = picture_button(regdialog, _("Register"), register_xpm); - gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 5); - gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(do_reg), NULL); - - gtk_widget_show(regdialog); -} - static void proto_act(GtkObject *obj, struct gaim_connection *gc) { char *act = gtk_object_get_user_data(obj);
