Mercurial > pidgin
changeset 9017:8db7732df1fd
[gaim-migrate @ 9793]
(15:53:18) SimGuy: it makes the elapsed time stop counting after the transfer ends, makes the transfer update when it is canceled so the detail view reflects that, and prevents gaim from showing odd negative times remaining if the transfer hasn't started yet
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sat, 22 May 2004 19:55:39 +0000 |
parents | 53c1e635f11d |
children | bb168141eb5f |
files | src/gtkft.c |
diffstat | 1 files changed, 18 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/gtkft.c Sat May 22 18:07:23 2004 +0000 +++ b/src/gtkft.c Sat May 22 19:55:39 2004 +0000 @@ -82,6 +82,7 @@ GtkWidget *filesel; GtkTreeIter iter; time_t start_time; + time_t end_time; gboolean in_list; char *name; @@ -121,7 +122,14 @@ data = GAIM_GTKXFER(xfer); - now = time(NULL); + if (data->end_time == -1 && + (gaim_xfer_is_canceled(xfer) || gaim_xfer_is_completed(xfer))) + data->end_time = time(NULL); + + if (data->end_time != -1) + now = data->end_time; + else + now = time(NULL); kb_sent = gaim_xfer_get_bytes_sent(xfer) / 1024.0; kb_rem = gaim_xfer_get_bytes_remaining(xfer) / 1024.0; @@ -155,6 +163,12 @@ else if (gaim_xfer_is_completed(xfer)) { *time_remaining = g_strdup(_("Finished")); } + else if (gaim_xfer_is_canceled(xfer)) { + *time_remaining = g_strdup(_("Canceled")); + } + else if (kb_sent <= 0) { + *time_remaining = g_strdup(_("Waiting for transfer to begin")); + } else { int h, m, s; int secs_remaining; @@ -805,6 +819,7 @@ gaim_gtkxfer_dialog_show(dialog); data->start_time = time(NULL); + data->end_time = -1; type = gaim_xfer_get_type(xfer); @@ -900,6 +915,8 @@ data = GAIM_GTKXFER(xfer); + update_detailed_info(dialog, xfer); + pixbuf = gtk_widget_render_icon(dialog->window, GAIM_STOCK_FILE_CANCELED, GTK_ICON_SIZE_MENU, NULL);