comparison src/ft.c @ 9933:cee849d17167

[gaim-migrate @ 10825] Another patch from Dave West. This makes the file transfer message show up when someone sends you an AIM file transfer. It also attempts to decode the message to UTF-8. The chat invitation messages also benefit from this attempted conversion. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 02 Sep 2004 03:46:53 +0000
parents 3fa121db91d0
children 426b623ffe16
comparison
equal deleted inserted replaced
9932:3fa121db91d0 9933:cee849d17167
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)