Commit b6fec63006df1157a7e55acdc39d39b3684a156f

Authored by Perry Werneck
1 parent d033acda

Corrigindo timeout invalido durante a transferência de arquivos VM/CMS.

locale/pw3270.pot
... ... @@ -9,7 +9,7 @@ msgstr ""
9 9 "#-#-#-#-# lib3270.pot (PACKAGE VERSION) #-#-#-#-#\n"
10 10 "Project-Id-Version: PACKAGE VERSION\n"
11 11 "Report-Msgid-Bugs-To: \n"
12   -"POT-Creation-Date: 2018-01-15 14:26-0200\n"
  12 +"POT-Creation-Date: 2018-02-14 15:16-0200\n"
13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 14 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15 15 "Language-Team: LANGUAGE <LL@li.org>\n"
... ... @@ -20,7 +20,7 @@ msgstr &quot;&quot;
20 20 "#-#-#-#-# pw3270.pot (PACKAGE VERSION) #-#-#-#-#\n"
21 21 "Project-Id-Version: PACKAGE VERSION\n"
22 22 "Report-Msgid-Bugs-To: \n"
23   -"POT-Creation-Date: 2018-01-15 14:26-0200\n"
  23 +"POT-Creation-Date: 2018-02-14 15:16-0200\n"
24 24 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
25 25 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
26 26 "Language-Team: LANGUAGE <LL@li.org>\n"
... ...
src/pw3270/v3270ft/v3270ftprogress.c
... ... @@ -497,43 +497,54 @@ void v3270ftprogress_update(GtkWidget *widget, unsigned long current, unsigned l
497 497 gchar * text;
498 498 v3270ftprogress * dialog = GTK_V3270FTPROGRESS(widget);
499 499  
500   - if(current && total) {
  500 + if(current) {
501 501  
502   - if(dialog->pulse) {
503   - g_source_destroy(dialog->pulse);
504   - dialog->pulse = NULL;
505   - }
  502 + // Tem dados, atualiza
  503 + dialog->timeout = time(NULL) + 10;
506 504  
507   - double remaining = ((double) (total - current))/1024.0;
  505 + if(total) {
508 506  
509   - if(remaining > 0 && kbytes_sec > 0) {
  507 + if(dialog->pulse) {
  508 + g_source_destroy(dialog->pulse);
  509 + dialog->pulse = NULL;
  510 + }
510 511  
511   - char buffer[40];
512   - double seconds = ((double) remaining) / kbytes_sec;
513   - time_t eta = time(0) + ((time_t) seconds);
514   - strftime(buffer, 39, "%H:%M:%S", localtime(&eta));
  512 + double remaining = ((double) (total - current))/1024.0;
515 513  
516   - gtk_entry_set_text(dialog->info[PROGRESS_FIELD_ETA],buffer);
  514 + if(remaining > 0 && kbytes_sec > 0) {
517 515  
518   - } else {
  516 + char buffer[40];
  517 + double seconds = ((double) remaining) / kbytes_sec;
  518 + time_t eta = time(0) + ((time_t) seconds);
  519 + strftime(buffer, 39, "%H:%M:%S", localtime(&eta));
519 520  
520   - gtk_entry_set_text(dialog->info[PROGRESS_FIELD_ETA],"-");
  521 + gtk_entry_set_text(dialog->info[PROGRESS_FIELD_ETA],buffer);
521 522  
522   - }
  523 + } else {
  524 +
  525 + gtk_entry_set_text(dialog->info[PROGRESS_FIELD_ETA],"-");
  526 +
  527 + }
523 528  
524   - gtk_progress_bar_set_fraction(dialog->progress, ((gdouble) current) / ((gdouble) total));
  529 + gtk_progress_bar_set_fraction(dialog->progress, ((gdouble) current) / ((gdouble) total));
  530 +
  531 + }
525 532  
526 533 }
527 534  
528   - debug("%s(%lu/%lu)",__FUNCTION__,current,total);
  535 + debug("%s(current=%lu total=%lu kbytes/sec=%u)",__FUNCTION__,current,total,(unsigned int) kbytes_sec);
529 536  
530 537 text = g_strdup_printf("%lu",current);
531 538 gtk_entry_set_text(dialog->info[PROGRESS_FIELD_CURRENT],text);
532 539 g_free(text);
533 540  
534   - text = g_strdup_printf("%lu",total);
535   - gtk_entry_set_text(dialog->info[PROGRESS_FIELD_TOTAL],text);
536   - g_free(text);
  541 + if(total) {
  542 + text = g_strdup_printf("%lu",total);
  543 + gtk_entry_set_text(dialog->info[PROGRESS_FIELD_TOTAL],text);
  544 + g_free(text);
  545 + } else {
  546 + gtk_entry_set_text(dialog->info[PROGRESS_FIELD_TOTAL],_("N/A"));
  547 + }
537 548  
538 549 text = g_strdup_printf("%ld KB/s",(unsigned long) kbytes_sec);
539 550 gtk_entry_set_text(dialog->info[PROGRESS_FIELD_SPEED],text);
... ... @@ -689,6 +700,7 @@ static void ft_update(H3270 *hSession, unsigned long current, unsigned long tota
689 700 }
690 701  
691 702 static void ft_running(H3270 *hSession, int is_cut, void *widget) {
  703 + debug("%s",__FUNCTION__);
692 704 GTK_V3270FTPROGRESS(widget)->timeout = time(NULL)+10;
693 705 }
694 706  
... ... @@ -719,6 +731,7 @@ static gboolean do_timer(v3270ftprogress *dialog) {
719 731  
720 732 if(time(NULL) > dialog->timeout) {
721 733  
  734 + debug("%s: Dialog timeout",__FUNCTION__);
722 735 v3270ftprogress_set_header(GTK_WIDGET(dialog),strerror(ETIMEDOUT));
723 736  
724 737 stop_pulse(dialog);
... ...