| 48 xfer->ref = 1; |
48 xfer->ref = 1; |
| 49 xfer->type = type; |
49 xfer->type = type; |
| 50 xfer->account = account; |
50 xfer->account = account; |
| 51 xfer->who = g_strdup(who); |
51 xfer->who = g_strdup(who); |
| 52 xfer->ui_ops = gaim_xfers_get_ui_ops(); |
52 xfer->ui_ops = gaim_xfers_get_ui_ops(); |
| |
53 xfer->message = NULL; |
| 53 |
54 |
| 54 ui_ops = gaim_xfer_get_ui_ops(xfer); |
55 ui_ops = gaim_xfer_get_ui_ops(xfer); |
| 55 |
56 |
| 56 if (ui_ops != NULL && ui_ops->new_xfer != NULL) |
57 if (ui_ops != NULL && ui_ops->new_xfer != NULL) |
| 57 ui_ops->new_xfer(xfer); |
58 ui_ops->new_xfer(xfer); |
| 257 buf = g_strdup_printf(_("%s wants to send you %s (%s)"), |
258 buf = g_strdup_printf(_("%s wants to send you %s (%s)"), |
| 258 xfer->who, gaim_xfer_get_filename(xfer), |
259 xfer->who, gaim_xfer_get_filename(xfer), |
| 259 size_buf); |
260 size_buf); |
| 260 g_free(size_buf); |
261 g_free(size_buf); |
| 261 |
262 |
| |
263 if (xfer->message != NULL) |
| |
264 serv_got_im(gaim_account_get_connection(xfer->account), |
| |
265 xfer->who, xfer->message, 0, time(NULL)); |
| |
266 |
| 262 gaim_request_accept_cancel(xfer, NULL, buf, NULL, 0, xfer, |
267 gaim_request_accept_cancel(xfer, NULL, buf, NULL, 0, xfer, |
| 263 G_CALLBACK(gaim_xfer_choose_file), |
268 G_CALLBACK(gaim_xfer_choose_file), |
| 264 G_CALLBACK(cancel_recv_cb)); |
269 G_CALLBACK(cancel_recv_cb)); |
| |
270 |
| 265 g_free(buf); |
271 g_free(buf); |
| 266 } else |
272 } else |
| 267 gaim_xfer_choose_file(xfer); |
273 gaim_xfer_choose_file(xfer); |
| 268 } |
274 } |
| 269 |
275 |
| 522 if (ui_ops != NULL && ui_ops->update_progress != NULL) |
528 if (ui_ops != NULL && ui_ops->update_progress != NULL) |
| 523 ui_ops->update_progress(xfer, gaim_xfer_get_progress(xfer)); |
529 ui_ops->update_progress(xfer, gaim_xfer_get_progress(xfer)); |
| 524 } |
530 } |
| 525 |
531 |
| 526 void |
532 void |
| |
533 gaim_xfer_set_message(GaimXfer *xfer, const char *message) |
| |
534 { |
| |
535 g_return_if_fail(xfer != NULL); |
| |
536 |
| |
537 g_free(xfer->message); |
| |
538 |
| |
539 if (message != NULL) |
| |
540 xfer->message = g_strdup(message); |
| |
541 else |
| |
542 xfer->message = NULL; |
| |
543 } |
| |
544 |
| |
545 void |
| 527 gaim_xfer_set_filename(GaimXfer *xfer, const char *filename) |
546 gaim_xfer_set_filename(GaimXfer *xfer, const char *filename) |
| 528 { |
547 { |
| 529 g_return_if_fail(xfer != NULL); |
548 g_return_if_fail(xfer != NULL); |
| 530 |
549 |
| 531 if (xfer->filename != NULL) |
550 if (xfer->filename != NULL) |