| 496 gsize thumb_size; |
496 gsize thumb_size; |
| 497 |
497 |
| 498 /* If we have already accepted the request, ask the destination file |
498 /* If we have already accepted the request, ask the destination file |
| 499 name directly */ |
499 name directly */ |
| 500 if (purple_xfer_get_status(xfer) != PURPLE_XFER_STATUS_ACCEPTED) { |
500 if (purple_xfer_get_status(xfer) != PURPLE_XFER_STATUS_ACCEPTED) { |
| |
501 PurpleRequestCommonParameters *cpar; |
| 501 PurpleBuddy *buddy = purple_find_buddy(xfer->account, xfer->who); |
502 PurpleBuddy *buddy = purple_find_buddy(xfer->account, xfer->who); |
| 502 |
503 |
| 503 if (purple_xfer_get_filename(xfer) != NULL) |
504 if (purple_xfer_get_filename(xfer) != NULL) |
| 504 { |
505 { |
| 505 size = purple_xfer_get_size(xfer); |
506 size = purple_xfer_get_size(xfer); |
| 517 |
518 |
| 518 if (xfer->message != NULL) |
519 if (xfer->message != NULL) |
| 519 serv_got_im(purple_account_get_connection(xfer->account), |
520 serv_got_im(purple_account_get_connection(xfer->account), |
| 520 xfer->who, xfer->message, 0, time(NULL)); |
521 xfer->who, xfer->message, 0, time(NULL)); |
| 521 |
522 |
| |
523 cpar = purple_request_cpar_from_account(xfer->account); |
| 522 if ((thumb = purple_xfer_get_thumbnail(xfer, &thumb_size))) { |
524 if ((thumb = purple_xfer_get_thumbnail(xfer, &thumb_size))) { |
| 523 purple_request_accept_cancel_with_icon(xfer, NULL, buf, NULL, |
525 purple_request_cpar_set_custom_icon(cpar, thumb, |
| 524 PURPLE_DEFAULT_ACTION_NONE, xfer->account, xfer->who, NULL, |
526 thumb_size); |
| 525 thumb, thumb_size, xfer, |
527 } |
| 526 G_CALLBACK(purple_xfer_choose_file), |
528 |
| 527 G_CALLBACK(cancel_recv_cb)); |
529 purple_request_accept_cancel(xfer, NULL, buf, NULL, |
| 528 } else { |
530 PURPLE_DEFAULT_ACTION_NONE, cpar, xfer, |
| 529 purple_request_accept_cancel(xfer, NULL, buf, NULL, |
531 G_CALLBACK(purple_xfer_choose_file), |
| 530 PURPLE_DEFAULT_ACTION_NONE, xfer->account, xfer->who, NULL, |
532 G_CALLBACK(cancel_recv_cb)); |
| 531 xfer, G_CALLBACK(purple_xfer_choose_file), |
|
| 532 G_CALLBACK(cancel_recv_cb)); |
|
| 533 } |
|
| 534 |
533 |
| 535 g_free(buf); |
534 g_free(buf); |
| 536 } else |
535 } else |
| 537 purple_xfer_choose_file(xfer); |
536 purple_xfer_choose_file(xfer); |
| 538 } |
537 } |
| 567 buf2 = g_strdup_printf(_("A file is available for download from:\n" |
566 buf2 = g_strdup_printf(_("A file is available for download from:\n" |
| 568 "Remote host: %s\nRemote port: %d"), |
567 "Remote host: %s\nRemote port: %d"), |
| 569 purple_xfer_get_remote_ip(xfer), |
568 purple_xfer_get_remote_ip(xfer), |
| 570 purple_xfer_get_remote_port(xfer)); |
569 purple_xfer_get_remote_port(xfer)); |
| 571 purple_request_accept_cancel(xfer, NULL, buf, buf2, |
570 purple_request_accept_cancel(xfer, NULL, buf, buf2, |
| 572 PURPLE_DEFAULT_ACTION_NONE, |
571 PURPLE_DEFAULT_ACTION_NONE, |
| 573 xfer->account, xfer->who, NULL, |
572 purple_request_cpar_from_account(xfer->account), xfer, |
| 574 xfer, |
573 G_CALLBACK(ask_accept_ok), G_CALLBACK(ask_accept_cancel)); |
| 575 G_CALLBACK(ask_accept_ok), |
|
| 576 G_CALLBACK(ask_accept_cancel)); |
|
| 577 g_free(buf); |
574 g_free(buf); |
| 578 g_free(buf2); |
575 g_free(buf2); |
| 579 } |
576 } |
| 580 |
577 |
| 581 void |
578 void |