| 119 double kbps = 0.0; |
120 double kbps = 0.0; |
| 120 time_t elapsed, now; |
121 time_t elapsed, now; |
| 121 |
122 |
| 122 data = GAIM_GTKXFER(xfer); |
123 data = GAIM_GTKXFER(xfer); |
| 123 |
124 |
| 124 now = time(NULL); |
125 if (data->end_time == -1 && |
| |
126 (gaim_xfer_is_canceled(xfer) || gaim_xfer_is_completed(xfer))) |
| |
127 data->end_time = time(NULL); |
| |
128 |
| |
129 if (data->end_time != -1) |
| |
130 now = data->end_time; |
| |
131 else |
| |
132 now = time(NULL); |
| 125 |
133 |
| 126 kb_sent = gaim_xfer_get_bytes_sent(xfer) / 1024.0; |
134 kb_sent = gaim_xfer_get_bytes_sent(xfer) / 1024.0; |
| 127 kb_rem = gaim_xfer_get_bytes_remaining(xfer) / 1024.0; |
135 kb_rem = gaim_xfer_get_bytes_remaining(xfer) / 1024.0; |
| 128 elapsed = (now - data->start_time); |
136 elapsed = (now - data->start_time); |
| 129 kbps = (elapsed > 0 ? (kb_sent / elapsed) : 0); |
137 kbps = (elapsed > 0 ? (kb_sent / elapsed) : 0); |
| 152 if (gaim_xfer_get_size(xfer) == 0) { |
160 if (gaim_xfer_get_size(xfer) == 0) { |
| 153 *time_remaining = g_strdup(_("Unknown")); |
161 *time_remaining = g_strdup(_("Unknown")); |
| 154 } |
162 } |
| 155 else if (gaim_xfer_is_completed(xfer)) { |
163 else if (gaim_xfer_is_completed(xfer)) { |
| 156 *time_remaining = g_strdup(_("Finished")); |
164 *time_remaining = g_strdup(_("Finished")); |
| |
165 } |
| |
166 else if (gaim_xfer_is_canceled(xfer)) { |
| |
167 *time_remaining = g_strdup(_("Canceled")); |
| |
168 } |
| |
169 else if (kb_sent <= 0) { |
| |
170 *time_remaining = g_strdup(_("Waiting for transfer to begin")); |
| 157 } |
171 } |
| 158 else { |
172 else { |
| 159 int h, m, s; |
173 int h, m, s; |
| 160 int secs_remaining; |
174 int secs_remaining; |
| 161 |
175 |
| 803 data->in_list = TRUE; |
817 data->in_list = TRUE; |
| 804 |
818 |
| 805 gaim_gtkxfer_dialog_show(dialog); |
819 gaim_gtkxfer_dialog_show(dialog); |
| 806 |
820 |
| 807 data->start_time = time(NULL); |
821 data->start_time = time(NULL); |
| |
822 data->end_time = -1; |
| 808 |
823 |
| 809 type = gaim_xfer_get_type(xfer); |
824 type = gaim_xfer_get_type(xfer); |
| 810 |
825 |
| 811 size_str = gaim_str_size_to_units(gaim_xfer_get_size(xfer)); |
826 size_str = gaim_str_size_to_units(gaim_xfer_get_size(xfer)); |
| 812 remaining_str = gaim_str_size_to_units(gaim_xfer_get_bytes_remaining(xfer)); |
827 remaining_str = gaim_str_size_to_units(gaim_xfer_get_bytes_remaining(xfer)); |
| 898 return; |
913 return; |
| 899 } |
914 } |
| 900 |
915 |
| 901 data = GAIM_GTKXFER(xfer); |
916 data = GAIM_GTKXFER(xfer); |
| 902 |
917 |
| |
918 update_detailed_info(dialog, xfer); |
| |
919 |
| 903 pixbuf = gtk_widget_render_icon(dialog->window, |
920 pixbuf = gtk_widget_render_icon(dialog->window, |
| 904 GAIM_STOCK_FILE_CANCELED, |
921 GAIM_STOCK_FILE_CANCELED, |
| 905 GTK_ICON_SIZE_MENU, NULL); |
922 GTK_ICON_SIZE_MENU, NULL); |
| 906 |
923 |
| 907 if (gaim_xfer_get_status(xfer) == GAIM_XFER_STATUS_CANCEL_LOCAL) |
924 if (gaim_xfer_get_status(xfer) == GAIM_XFER_STATUS_CANCEL_LOCAL) |