Mercurial > pidgin
diff src/dialogs.c @ 3753:764ecb5f984b
[gaim-migrate @ 3892]
I never committed this last night.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 19 Oct 2002 22:11:10 +0000 |
parents | ddc4bfd2c825 |
children | 262ce45f5ae8 |
line wrap: on
line diff
--- a/src/dialogs.c Sat Oct 19 05:22:30 2002 +0000 +++ b/src/dialogs.c Sat Oct 19 22:11:10 2002 +0000 @@ -463,7 +463,7 @@ gtk_widget_show(w->window); } -void do_remove_buddy(GtkWidget *w, struct buddy *b) +void do_remove_buddy(struct buddy *b) { struct group *g = find_group_by_buddy(b->gc, b->name); struct gaim_connection *gc = b->gc; @@ -486,84 +486,14 @@ void show_confirm_del(struct gaim_connection *gc, gchar *name) { - struct confirm_del *b = g_new0(struct confirm_del, 1); - struct buddy *bd; - GtkWidget *hbox; - GtkWidget *vbox; - GtkWidget *fbox; - GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); - gchar tmp[2048]; - char labeltext[1024 * 2]; - char *filename; - GtkWidget *image; - - GAIM_DIALOG(b->window); - dialogwindows = g_list_prepend(dialogwindows, b->window); - - g_snprintf(tmp, sizeof(tmp), _("Gaim - Remove %s?"), name); - gtk_container_set_border_width(GTK_CONTAINER(b->window), 6); - gtk_window_set_title(GTK_WINDOW(b->window), tmp); - gtk_window_set_wmclass(GTK_WINDOW(b->window), "confirm_del", "Gaim"); - gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, FALSE, TRUE); - gtk_signal_connect(GTK_OBJECT(b->window), "delete_event", - GTK_SIGNAL_FUNC(destroy_dialog), b->window); - - gtk_widget_realize(b->window); - - vbox = gtk_vbox_new(FALSE, 0); - gtk_box_set_spacing(GTK_BOX(vbox), 12); - gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); - gtk_container_add(GTK_CONTAINER(b->window), vbox); - gtk_widget_show(vbox); - - fbox = gtk_hbox_new(FALSE, 0); - gtk_box_set_spacing(GTK_BOX(fbox), 6); - gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); - gtk_widget_show(fbox); - - filename = g_build_filename (DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); - debug_printf("Loading: %s\n", filename); - image = gtk_image_new_from_file(filename); - gtk_misc_set_alignment(GTK_MISC(image), 0, 0); - gtk_box_pack_start(GTK_BOX(fbox), image, FALSE, FALSE, 0); - gtk_widget_show(image); - g_free(filename); - - g_snprintf(labeltext, sizeof(labeltext), "<span weight=\"bold\" size=\"larger\">Remove Buddy</span>\n\nYou are about to remove '%s' from\nyour buddylist. Do you want to continue?", name); - b->label = gtk_label_new(NULL); - gtk_label_set_markup(GTK_LABEL(b->label), labeltext); - gtk_label_set_line_wrap(GTK_LABEL(b->label), TRUE); - gtk_label_set_justify(GTK_LABEL(b->label), GTK_JUSTIFY_LEFT); - gtk_misc_set_alignment(GTK_MISC(b->label), 0, 0); - gtk_box_pack_start(GTK_BOX(fbox), b->label, FALSE, FALSE, 0); - gtk_widget_show(b->label); - gtk_box_pack_start(GTK_BOX(vbox), fbox, TRUE, FALSE, 0); - - hbox = gtk_hbox_new(FALSE, 0); - gtk_box_set_spacing(GTK_BOX(hbox), 6); - gtk_container_set_border_width(GTK_CONTAINER(hbox), 0); - gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, FALSE, 0); - gtk_widget_show(hbox); - - b->ok = gtk_button_new_with_label("Remove Buddy"); - gtk_widget_show(b->ok); - gtk_size_group_add_widget(sg, b->ok); - gtk_box_pack_end(GTK_BOX(hbox), b->ok, FALSE, FALSE, 5); - - bd = find_buddy(gc, name); - - if (bd) - gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(do_remove_buddy), bd); - - gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); - - b->cancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL); - gtk_widget_show(b->cancel); - gtk_size_group_add_widget(sg, b->cancel); - gtk_box_pack_end(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 5); - gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); - - gtk_widget_show(b->window); + struct buddy *bd = find_buddy(gc, name); + char *text; + if (!bd) + return; + + text = g_strdup_printf("You are about to remove %s from your buddy list. Do you want to continue?", name); + do_ask_dialog("Remove Buddy", text, bd, "Remove Buddy", do_remove_buddy, "Cancel", NULL); + g_free(text); }