Mercurial > pidgin.yaz
diff src/dialogs.c @ 1499:de0b946e86a4
[gaim-migrate @ 1509]
woohoo, i'm back.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Fri, 23 Feb 2001 23:58:35 +0000 |
parents | 55246babdeb3 |
children | 1e2cc8c8bf3c |
line wrap: on
line diff
--- a/src/dialogs.c Thu Feb 22 23:07:34 2001 +0000 +++ b/src/dialogs.c Fri Feb 23 23:58:35 2001 +0000 @@ -171,6 +171,7 @@ }; struct set_dir_dlg { + struct gaim_connection *gc; GtkWidget *window; GtkWidget *first; GtkWidget *middle; @@ -1286,16 +1287,13 @@ char *state = gtk_entry_get_text(GTK_ENTRY(b->state)); char *country = gtk_entry_get_text(GTK_ENTRY(b->country)); - - /* FIXME : set dir. not important */ - if (connections) - serv_set_dir(connections->data, first, middle, last, maiden, city, state, country, web); + serv_set_dir(b->gc, first, middle, last, maiden, city, state, country, web); destroy_dialog(NULL, b->window); g_free(b); } -void show_set_dir() +void show_set_dir(struct gaim_connection *gc) { GtkWidget *label; GtkWidget *bot; @@ -1303,35 +1301,41 @@ GtkWidget *hbox; GtkWidget *frame; GtkWidget *fbox; + char buf[256]; struct set_dir_dlg *b = g_new0(struct set_dir_dlg, 1); + if (!g_slist_find(connections, gc)) + gc = connections->data; + b->gc = gc; b->window = gtk_window_new(GTK_WINDOW_DIALOG); - //gtk_widget_set_usize(b->window, 300, 300); + dialogwindows = g_list_prepend(dialogwindows, b->window); gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_dir", "Gaim"); gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); - gtk_widget_show(b->window); - - dialogwindows = g_list_prepend(dialogwindows, b->window); + gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set Dir Info")); + gtk_signal_connect(GTK_OBJECT(b->window), "destroy", + GTK_SIGNAL_FUNC(destroy_dialog), b->window); + gtk_widget_realize(b->window); + aol_icon(b->window->window); + + fbox = gtk_vbox_new(FALSE, 5); + gtk_container_add(GTK_CONTAINER(b->window), fbox); + gtk_widget_show(fbox); + + frame = gtk_frame_new(_("Directory Info")); + gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); + gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); + gtk_widget_show(frame); vbox = gtk_vbox_new(FALSE, 5); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); - - frame = gtk_frame_new(_("Directory Info")); - fbox = gtk_vbox_new(FALSE, 5); - gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); - - /* Build Save Button */ - - b->save = picture_button(b->window, _("Save"), save_xpm); - b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); - - bot = gtk_hbox_new(FALSE, 5); - - gtk_box_pack_end(GTK_BOX(bot), b->cancel, FALSE, FALSE, 0); - gtk_box_pack_end(GTK_BOX(bot), b->save, FALSE, FALSE, 0); - - gtk_widget_show(bot); + gtk_container_add(GTK_CONTAINER(frame), vbox); + gtk_widget_show(vbox); + + g_snprintf(buf, sizeof(buf), "Setting Dir Info for %s:", gc->username); + label = gtk_label_new(buf); + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); + gtk_widget_show(label); b->first = gtk_entry_new(); b->middle = gtk_entry_new(); @@ -1427,16 +1431,6 @@ gtk_widget_show(hbox); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); - /* And add the buttons */ - gtk_container_add(GTK_CONTAINER(frame), vbox); - gtk_box_pack_start(GTK_BOX(fbox), frame, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(fbox), bot, FALSE, FALSE, 0); - - - gtk_widget_show(vbox); - gtk_widget_show(fbox); - - gtk_widget_show(frame); gtk_widget_show(b->first); gtk_widget_show(b->middle); gtk_widget_show(b->last); @@ -1446,18 +1440,22 @@ gtk_widget_show(b->country); gtk_widget_show(b->web); - gtk_signal_connect(GTK_OBJECT(b->window), "destroy", - GTK_SIGNAL_FUNC(destroy_dialog), b->window); + /* And add the buttons */ + + bot = gtk_hbox_new(FALSE, 5); + gtk_box_pack_start(GTK_BOX(fbox), bot, FALSE, FALSE, 0); + gtk_widget_show(bot); + + b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); + gtk_box_pack_end(GTK_BOX(bot), b->cancel, FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); + + b->save = picture_button(b->window, _("Save"), save_xpm); + gtk_box_pack_end(GTK_BOX(bot), b->save, FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(b->save), "clicked", GTK_SIGNAL_FUNC(do_set_dir), b); - gtk_container_add(GTK_CONTAINER(b->window), fbox); - - gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set Dir Info")); gtk_window_set_focus(GTK_WINDOW(b->window), b->first); - gtk_widget_realize(b->window); - aol_icon(b->window->window); gtk_widget_show(b->window); } @@ -1486,60 +1484,19 @@ g_free(b); } -static void pwd_choose(GtkObject *obj, struct passwddlg *pwd) -{ - pwd->gc = (struct gaim_connection *)gtk_object_get_user_data(obj); -} - -static void passwd_multi_menu(GtkWidget *box, struct passwddlg *pwd) -{ - GtkWidget *hbox; - GtkWidget *label; - GtkWidget *optmenu; - GtkWidget *menu; - GtkWidget *opt; - GSList *c = connections; - struct gaim_connection *g; - - hbox = gtk_hbox_new(FALSE, 5); - gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); - gtk_widget_show(hbox); - - label = gtk_label_new(_("Change password for:")); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); - gtk_widget_show(label); - - optmenu = gtk_option_menu_new(); - gtk_box_pack_end(GTK_BOX(hbox), optmenu, FALSE, FALSE, 0); - gtk_widget_show(optmenu); - - menu = gtk_menu_new(); - - while (c) { - g = (struct gaim_connection *)c->data; - opt = gtk_menu_item_new_with_label(g->username); - gtk_object_set_user_data(GTK_OBJECT(opt), g); - gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(pwd_choose), pwd); - gtk_menu_append(GTK_MENU(menu), opt); - gtk_widget_show(opt); - c = c->next; - } - - gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); - gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), 0); - - pwd->gc = (struct gaim_connection *)connections->data; -} - -void show_change_passwd() +void show_change_passwd(struct gaim_connection *gc) { GtkWidget *hbox; GtkWidget *label; GtkWidget *vbox; GtkWidget *fbox; GtkWidget *frame; + char buf[256]; struct passwddlg *b = g_new0(struct passwddlg, 1); + if (!g_slist_find(connections, gc)) + gc = connections->data; + b->gc = gc; b->window = gtk_window_new(GTK_WINDOW_DIALOG); gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); @@ -1565,11 +1522,10 @@ gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); -#ifndef NO_MULTI - passwd_multi_menu(vbox, b); -#else - b->gc = connections->data; -#endif + g_snprintf(buf, sizeof(buf), "Changing password for %s:", gc->username); + label = gtk_label_new(buf); + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); + gtk_widget_show(label); /* First Line */ hbox = gtk_hbox_new(FALSE, 5); @@ -1632,126 +1588,67 @@ gtk_widget_show(b->window); } -static void info_choose(GtkWidget *opt, struct set_info_dlg *b) -{ - int text_len = gtk_text_get_length(GTK_TEXT(b->text)); - struct aim_user *u = gtk_object_get_user_data(GTK_OBJECT(opt)); - gchar *buf = g_malloc(strlen(u->user_info)+1); - b->user = u; - - strncpy_nohtml(buf, u->user_info, strlen(u->user_info)+1); - - gtk_text_set_point(GTK_TEXT(b->text), 0); - gtk_text_forward_delete(GTK_TEXT(b->text), text_len); - gtk_text_insert(GTK_TEXT(b->text), NULL, NULL, NULL, buf, -1); - - g_free(buf); -} - -static void info_user_menu(struct set_info_dlg *b, GtkWidget *box) -{ - GtkWidget *hbox; - GtkWidget *label; - GtkWidget *optmenu; - GtkWidget *menu; - GtkWidget *opt; - GList *u = aim_users; - struct aim_user *a; - - hbox = gtk_hbox_new(FALSE, 5); - gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0); - gtk_widget_show(hbox); - - label = gtk_label_new(_("Set info for:")); - gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); - gtk_widget_show(label); - - optmenu = gtk_option_menu_new(); - gtk_box_pack_start(GTK_BOX(hbox), optmenu, FALSE, FALSE, 0); - gtk_widget_show(optmenu); - - menu = gtk_menu_new(); - - while (u) { - a = (struct aim_user *)u->data; - opt = gtk_menu_item_new_with_label(a->username); - gtk_object_set_user_data(GTK_OBJECT(opt), a); - gtk_signal_connect(GTK_OBJECT(opt), "activate", GTK_SIGNAL_FUNC(info_choose), b); - gtk_menu_append(GTK_MENU(menu), opt); - gtk_widget_show(opt); - u = u->next; - } - - gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu), menu); - gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu), - g_list_index(aim_users, ((struct gaim_connection *)connections->data)->user)); - - b->menu = optmenu; -} - -void show_set_info() +void show_set_info(struct gaim_connection *gc) { GtkWidget *buttons; + GtkWidget *label; GtkWidget *vbox; gchar *buf; struct aim_user *tmp; struct set_info_dlg *b = g_new0(struct set_info_dlg, 1); + if (!g_slist_find(connections, gc)) + gc = connections->data; + tmp = gc->user; + b->user = tmp; b->window = gtk_window_new(GTK_WINDOW_DIALOG); gtk_window_set_wmclass(GTK_WINDOW(b->window), "set_info", "Gaim"); dialogwindows = g_list_prepend(dialogwindows, b->window); + gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Info")); + gtk_signal_connect(GTK_OBJECT(b->window), "destroy", + GTK_SIGNAL_FUNC(destroy_dialog), b->window); gtk_widget_realize(b->window); - - buttons = gtk_hbox_new(FALSE, 5); + aol_icon(b->window->window); + vbox = gtk_vbox_new(FALSE, 5); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); - - /* Build OK Button */ - - b->save = picture_button(b->window, _("Save"), save_xpm); - b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); - - gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0); - gtk_box_pack_end(GTK_BOX(buttons), b->save, FALSE, FALSE, 0); - - gtk_signal_connect(GTK_OBJECT(b->window), "destroy", - GTK_SIGNAL_FUNC(destroy_dialog), b->window); - gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", - GTK_SIGNAL_FUNC(destroy_dialog), b->window); - gtk_signal_connect(GTK_OBJECT(b->save), "clicked", - GTK_SIGNAL_FUNC(do_save_info), b); - - info_user_menu(b, vbox); - - gtk_widget_show(buttons); - + gtk_container_add(GTK_CONTAINER(b->window), vbox); + gtk_widget_show(vbox); + + buf = g_malloc(256); + g_snprintf(buf, 256, "Changing info for %s:", tmp->username); + label = gtk_label_new(buf); + g_free(buf); + gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 5); + gtk_widget_show(label); + b->text = gtk_text_new(NULL, NULL); gtk_text_set_word_wrap(GTK_TEXT(b->text), TRUE); gtk_text_set_editable(GTK_TEXT(b->text), TRUE); gtk_widget_set_usize(b->text, 300, 200); - if (aim_users) { - tmp = ((struct gaim_connection *)connections->data)->user; - buf = g_malloc(strlen(tmp->user_info)+1); - strncpy_nohtml(buf, tmp->user_info, strlen(tmp->user_info)+1); - gtk_text_insert(GTK_TEXT(b->text), NULL, NULL, NULL, buf, -1); - b->user = tmp; - g_free(buf); - } - + buf = g_malloc(strlen(tmp->user_info)+1); + strncpy_nohtml(buf, tmp->user_info, strlen(tmp->user_info)+1); + gtk_text_insert(GTK_TEXT(b->text), NULL, NULL, NULL, buf, -1); + g_free(buf); + gtk_box_pack_start(GTK_BOX(vbox), b->text, TRUE, TRUE, 0); gtk_widget_show(b->text); - - gtk_box_pack_start(GTK_BOX(vbox), b->text, TRUE, TRUE, 0); - gtk_widget_show(vbox); - + gtk_window_set_focus(GTK_WINDOW(b->window), b->text); + + buttons = gtk_hbox_new(FALSE, 5); gtk_box_pack_start(GTK_BOX(vbox), buttons, FALSE, FALSE, 0); - - gtk_container_add(GTK_CONTAINER(b->window), vbox); - gtk_widget_realize(b->window); - aol_icon(b->window->window); - - gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Set User Info")); - gtk_window_set_focus(GTK_WINDOW(b->window), b->text); + gtk_widget_show(buttons); + + b->cancel = picture_button(b->window, _("Cancel"), cancel_xpm); + gtk_box_pack_end(GTK_BOX(buttons), b->cancel, FALSE, FALSE, 0); + gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", + GTK_SIGNAL_FUNC(destroy_dialog), b->window); + + b->save = picture_button(b->window, _("Save"), save_xpm); + gtk_box_pack_end(GTK_BOX(buttons), b->save, FALSE, FALSE, 0); + gtk_signal_connect(GTK_OBJECT(b->save), "clicked", + GTK_SIGNAL_FUNC(do_save_info), b); + gtk_widget_show(b->window); } @@ -2292,20 +2189,34 @@ gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, TRUE, TRUE); gtk_window_set_wmclass(GTK_WINDOW(b->window), "find_email", "Gaim"); gtk_widget_realize(b->window); + aol_icon(b->window->window); dialogwindows = g_list_prepend(dialogwindows, b->window); + gtk_signal_connect(GTK_OBJECT(b->window), "destroy", + GTK_SIGNAL_FUNC(destroy_dialog), b->window); + gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Email")); vbox = gtk_vbox_new(FALSE, 5); gtk_container_set_border_width(GTK_CONTAINER(vbox), 5); + gtk_container_add(GTK_CONTAINER(b->window), vbox); frame = gtk_frame_new(_("Search for Buddy")); + gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); + topbox = gtk_hbox_new(FALSE, 5); + gtk_container_add(GTK_CONTAINER(frame), topbox); gtk_container_set_border_width(GTK_CONTAINER(topbox), 5); + label = gtk_label_new(_("Email")); + gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 0); + + b->emailentry = gtk_entry_new(); + gtk_box_pack_start(GTK_BOX(topbox), b->emailentry, TRUE, TRUE, 0); + gtk_signal_connect(GTK_OBJECT(b->emailentry), "activate", + GTK_SIGNAL_FUNC(do_find_email), b); + gtk_window_set_focus(GTK_WINDOW(b->window), b->emailentry); + bbox = gtk_hbox_new(FALSE, 5); - - b->emailentry = gtk_entry_new(); - - /* Build OK Button */ + gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); button = picture_button(b->window, _("Cancel"), cancel_xpm); gtk_signal_connect(GTK_OBJECT(button), "clicked", @@ -2317,24 +2228,6 @@ GTK_SIGNAL_FUNC(do_find_email), b); gtk_box_pack_end(GTK_BOX(bbox), button, FALSE, FALSE, 0); - label = gtk_label_new(_("Email")); - gtk_box_pack_start(GTK_BOX(topbox), label, FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(topbox), b->emailentry, TRUE, TRUE, 0); - - gtk_container_add(GTK_CONTAINER(frame), topbox); - gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); - gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0); - - gtk_signal_connect(GTK_OBJECT(b->window), "destroy", - GTK_SIGNAL_FUNC(destroy_dialog), b->window); - gtk_signal_connect(GTK_OBJECT(b->emailentry), "activate", - GTK_SIGNAL_FUNC(do_find_email), b); - - gtk_window_set_title(GTK_WINDOW(b->window), _("Gaim - Find Buddy By Email")); - gtk_window_set_focus(GTK_WINDOW(b->window), b->emailentry); - gtk_container_add(GTK_CONTAINER(b->window), vbox); - aol_icon(b->window->window); - gtk_widget_show_all(b->window); }