Mercurial > pidgin
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(); |