comparison finch/gntft.c @ 22049:3f7e58ae1305

Don't print 'file transfer complete' message more than once for the same xfer.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Wed, 09 Jan 2008 14:41:29 +0000
parents 6704629dc478
children b99d6d21cd79
comparison
equal deleted inserted replaced
22048:6704629dc478 22049:3f7e58ae1305
63 { 63 {
64 time_t last_updated_time; 64 time_t last_updated_time;
65 gboolean in_list; 65 gboolean in_list;
66 66
67 char *name; 67 char *name;
68 gboolean notified; /* Has the completion of the transfer been notified? */
68 69
69 } PurpleGntXferUiData; 70 } PurpleGntXferUiData;
70 71
71 enum 72 enum
72 { 73 {
410 g_return_if_fail(xfer != NULL); 411 g_return_if_fail(xfer != NULL);
411 412
412 if ((data = FINCHXFER(xfer)) == NULL) 413 if ((data = FINCHXFER(xfer)) == NULL)
413 return; 414 return;
414 415
415 if (data->in_list == FALSE) 416 if (data->in_list == FALSE || data->notified)
416 return; 417 return;
417 418
418 current_time = time(NULL); 419 current_time = time(NULL);
419 if (((current_time - data->last_updated_time) == 0) && 420 if (((current_time - data->last_updated_time) == 0) &&
420 (!purple_xfer_is_completed(xfer))) { 421 (!purple_xfer_is_completed(xfer))) {
439 char *msg = g_strdup_printf(_("The file was saved as %s."), purple_xfer_get_local_filename(xfer)); 440 char *msg = g_strdup_printf(_("The file was saved as %s."), purple_xfer_get_local_filename(xfer));
440 gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_STATUS, _("Finished")); 441 gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_STATUS, _("Finished"));
441 gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_REMAINING, _("Finished")); 442 gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_REMAINING, _("Finished"));
442 purple_xfer_conversation_write(xfer, msg, FALSE); 443 purple_xfer_conversation_write(xfer, msg, FALSE);
443 g_free(msg); 444 g_free(msg);
445 data->notified = TRUE;
444 } else { 446 } else {
445 gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_STATUS, _("Transferring")); 447 gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_STATUS, _("Transferring"));
446 } 448 }
447 449
448 update_title_progress(); 450 update_title_progress();