| 484 |
484 |
| 485 } |
485 } |
| 486 |
486 |
| 487 void show_confirm_del(struct gaim_connection *gc, gchar *name) |
487 void show_confirm_del(struct gaim_connection *gc, gchar *name) |
| 488 { |
488 { |
| 489 struct confirm_del *b = g_new0(struct confirm_del, 1); |
489 struct buddy *bd = find_buddy(gc, name); |
| 490 struct buddy *bd; |
490 char *text; |
| 491 GtkWidget *hbox; |
491 if (!bd) |
| 492 GtkWidget *vbox; |
492 return; |
| 493 GtkWidget *fbox; |
493 |
| 494 GtkSizeGroup *sg = gtk_size_group_new(GTK_SIZE_GROUP_BOTH); |
494 text = g_strdup_printf("You are about to remove %s from your buddy list. Do you want to continue?", name); |
| 495 gchar tmp[2048]; |
495 do_ask_dialog("Remove Buddy", text, bd, "Remove Buddy", do_remove_buddy, "Cancel", NULL); |
| 496 char labeltext[1024 * 2]; |
496 g_free(text); |
| 497 char *filename; |
|
| 498 GtkWidget *image; |
|
| 499 |
|
| 500 GAIM_DIALOG(b->window); |
|
| 501 dialogwindows = g_list_prepend(dialogwindows, b->window); |
|
| 502 |
|
| 503 g_snprintf(tmp, sizeof(tmp), _("Gaim - Remove %s?"), name); |
|
| 504 gtk_container_set_border_width(GTK_CONTAINER(b->window), 6); |
|
| 505 gtk_window_set_title(GTK_WINDOW(b->window), tmp); |
|
| 506 gtk_window_set_wmclass(GTK_WINDOW(b->window), "confirm_del", "Gaim"); |
|
| 507 gtk_window_set_policy(GTK_WINDOW(b->window), FALSE, FALSE, TRUE); |
|
| 508 gtk_signal_connect(GTK_OBJECT(b->window), "delete_event", |
|
| 509 GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
| 510 |
|
| 511 gtk_widget_realize(b->window); |
|
| 512 |
|
| 513 vbox = gtk_vbox_new(FALSE, 0); |
|
| 514 gtk_box_set_spacing(GTK_BOX(vbox), 12); |
|
| 515 gtk_container_set_border_width(GTK_CONTAINER(vbox), 6); |
|
| 516 gtk_container_add(GTK_CONTAINER(b->window), vbox); |
|
| 517 gtk_widget_show(vbox); |
|
| 518 |
|
| 519 fbox = gtk_hbox_new(FALSE, 0); |
|
| 520 gtk_box_set_spacing(GTK_BOX(fbox), 6); |
|
| 521 gtk_container_set_border_width(GTK_CONTAINER(fbox), 5); |
|
| 522 gtk_widget_show(fbox); |
|
| 523 |
|
| 524 filename = g_build_filename (DATADIR, "pixmaps", "gaim", "dialogs", "gaim_question.png", NULL); |
|
| 525 debug_printf("Loading: %s\n", filename); |
|
| 526 image = gtk_image_new_from_file(filename); |
|
| 527 gtk_misc_set_alignment(GTK_MISC(image), 0, 0); |
|
| 528 gtk_box_pack_start(GTK_BOX(fbox), image, FALSE, FALSE, 0); |
|
| 529 gtk_widget_show(image); |
|
| 530 g_free(filename); |
|
| 531 |
|
| 532 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); |
|
| 533 b->label = gtk_label_new(NULL); |
|
| 534 gtk_label_set_markup(GTK_LABEL(b->label), labeltext); |
|
| 535 gtk_label_set_line_wrap(GTK_LABEL(b->label), TRUE); |
|
| 536 gtk_label_set_justify(GTK_LABEL(b->label), GTK_JUSTIFY_LEFT); |
|
| 537 gtk_misc_set_alignment(GTK_MISC(b->label), 0, 0); |
|
| 538 gtk_box_pack_start(GTK_BOX(fbox), b->label, FALSE, FALSE, 0); |
|
| 539 gtk_widget_show(b->label); |
|
| 540 gtk_box_pack_start(GTK_BOX(vbox), fbox, TRUE, FALSE, 0); |
|
| 541 |
|
| 542 hbox = gtk_hbox_new(FALSE, 0); |
|
| 543 gtk_box_set_spacing(GTK_BOX(hbox), 6); |
|
| 544 gtk_container_set_border_width(GTK_CONTAINER(hbox), 0); |
|
| 545 gtk_box_pack_start(GTK_BOX(vbox), hbox, TRUE, FALSE, 0); |
|
| 546 gtk_widget_show(hbox); |
|
| 547 |
|
| 548 b->ok = gtk_button_new_with_label("Remove Buddy"); |
|
| 549 gtk_widget_show(b->ok); |
|
| 550 gtk_size_group_add_widget(sg, b->ok); |
|
| 551 gtk_box_pack_end(GTK_BOX(hbox), b->ok, FALSE, FALSE, 5); |
|
| 552 |
|
| 553 bd = find_buddy(gc, name); |
|
| 554 |
|
| 555 if (bd) |
|
| 556 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(do_remove_buddy), bd); |
|
| 557 |
|
| 558 gtk_signal_connect(GTK_OBJECT(b->ok), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
| 559 |
|
| 560 b->cancel = gtk_button_new_from_stock (GTK_STOCK_CANCEL); |
|
| 561 gtk_widget_show(b->cancel); |
|
| 562 gtk_size_group_add_widget(sg, b->cancel); |
|
| 563 gtk_box_pack_end(GTK_BOX(hbox), b->cancel, FALSE, FALSE, 5); |
|
| 564 gtk_signal_connect(GTK_OBJECT(b->cancel), "clicked", GTK_SIGNAL_FUNC(destroy_dialog), b->window); |
|
| 565 |
|
| 566 gtk_widget_show(b->window); |
|
| 567 } |
497 } |
| 568 |
498 |
| 569 |
499 |
| 570 |
500 |
| 571 /*------------------------------------------------------------------------*/ |
501 /*------------------------------------------------------------------------*/ |