Mercurial > pidgin.yaz
comparison src/gtkft.c @ 4517:a2b2cce63fb8
[gaim-migrate @ 4795]
Some changes to handle unknown file sizes better.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Tue, 04 Feb 2003 17:56:17 +0000 |
parents | 7521e29658bc |
children | 599d350fce4e |
comparison
equal
deleted
inserted
replaced
4516:2ad2f5caeb81 | 4517:a2b2cce63fb8 |
---|---|
514 time_t elapsed; | 514 time_t elapsed; |
515 int secs_remaining; | 515 int secs_remaining; |
516 | 516 |
517 data = (struct gaim_gtkxfer_ui_data *)xfer->ui_data; | 517 data = (struct gaim_gtkxfer_ui_data *)xfer->ui_data; |
518 | 518 |
519 now = time(NULL); | 519 if (gaim_xfer_get_size(xfer) == 0) { |
520 kb_rem = gaim_xfer_get_bytes_remaining(xfer) / 1024.0; | |
521 kb_sent = gaim_xfer_get_bytes_sent(xfer) / 1024.0; | |
522 elapsed = (now - data->start_time); | |
523 kbps = (elapsed > 0 ? (kb_sent / elapsed) : 0); | |
524 | |
525 secs_remaining = (int)(kb_rem / kbps); | |
526 | |
527 if (secs_remaining <= 0) { | |
528 GdkPixbuf *pixbuf = NULL; | |
529 | |
530 *speed_buf = '\0'; | 520 *speed_buf = '\0'; |
531 strncpy(estimate_buf, _("Done."), sizeof(estimate_buf)); | 521 strncpy(estimate_buf, _("Unknown"), sizeof(estimate_buf)); |
532 | |
533 pixbuf = gtk_widget_render_icon(xfer_dialog->window, | |
534 GAIM_STOCK_FILE_DONE, | |
535 GTK_ICON_SIZE_MENU, NULL); | |
536 | |
537 gtk_list_store_set(xfer_dialog->model, &data->iter, | |
538 COLUMN_STATUS, pixbuf, | |
539 -1); | |
540 | |
541 g_object_unref(pixbuf); | |
542 } | 522 } |
543 else { | 523 else { |
544 int h = secs_remaining / 3600; | 524 now = time(NULL); |
545 int m = (secs_remaining % 3600) / 60; | 525 kb_rem = gaim_xfer_get_bytes_remaining(xfer) / 1024.0; |
546 int s = secs_remaining % 60; | 526 kb_sent = gaim_xfer_get_bytes_sent(xfer) / 1024.0; |
547 | 527 elapsed = (now - data->start_time); |
548 g_snprintf(estimate_buf, sizeof(estimate_buf), | 528 kbps = (elapsed > 0 ? (kb_sent / elapsed) : 0); |
549 _("%d:%02d:%02d"), h, m, s); | 529 |
550 g_snprintf(speed_buf, sizeof(speed_buf), | 530 secs_remaining = (int)(kb_rem / kbps); |
551 _("%.2f KB/s"), kbps); | 531 |
532 if (secs_remaining <= 0) { | |
533 GdkPixbuf *pixbuf = NULL; | |
534 | |
535 *speed_buf = '\0'; | |
536 strncpy(estimate_buf, _("Done."), sizeof(estimate_buf)); | |
537 | |
538 pixbuf = gtk_widget_render_icon(xfer_dialog->window, | |
539 GAIM_STOCK_FILE_DONE, | |
540 GTK_ICON_SIZE_MENU, NULL); | |
541 | |
542 gtk_list_store_set(xfer_dialog->model, &data->iter, | |
543 COLUMN_STATUS, pixbuf, | |
544 -1); | |
545 | |
546 g_object_unref(pixbuf); | |
547 } | |
548 else { | |
549 int h = secs_remaining / 3600; | |
550 int m = (secs_remaining % 3600) / 60; | |
551 int s = secs_remaining % 60; | |
552 | |
553 g_snprintf(estimate_buf, sizeof(estimate_buf), | |
554 _("%d:%02d:%02d"), h, m, s); | |
555 g_snprintf(speed_buf, sizeof(speed_buf), | |
556 _("%.2f KB/s"), kbps); | |
557 } | |
552 } | 558 } |
553 | 559 |
554 gtk_list_store_set(xfer_dialog->model, &data->iter, | 560 gtk_list_store_set(xfer_dialog->model, &data->iter, |
555 COLUMN_REMAINING, gaim_xfer_get_bytes_remaining(xfer), | 561 COLUMN_REMAINING, gaim_xfer_get_bytes_remaining(xfer), |
556 COLUMN_PROGRESS, percent, | 562 COLUMN_PROGRESS, percent, |