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,7 +9,7 @@ msgstr ""
9 "#-#-#-#-# lib3270.pot (PACKAGE VERSION) #-#-#-#-#\n" 9 "#-#-#-#-# lib3270.pot (PACKAGE VERSION) #-#-#-#-#\n"
10 "Project-Id-Version: PACKAGE VERSION\n" 10 "Project-Id-Version: PACKAGE VERSION\n"
11 "Report-Msgid-Bugs-To: \n" 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 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 14 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15 "Language-Team: LANGUAGE <LL@li.org>\n" 15 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -20,7 +20,7 @@ msgstr &quot;&quot; @@ -20,7 +20,7 @@ msgstr &quot;&quot;
20 "#-#-#-#-# pw3270.pot (PACKAGE VERSION) #-#-#-#-#\n" 20 "#-#-#-#-# pw3270.pot (PACKAGE VERSION) #-#-#-#-#\n"
21 "Project-Id-Version: PACKAGE VERSION\n" 21 "Project-Id-Version: PACKAGE VERSION\n"
22 "Report-Msgid-Bugs-To: \n" 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 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 24 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
25 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 25 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
26 "Language-Team: LANGUAGE <LL@li.org>\n" 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,43 +497,54 @@ void v3270ftprogress_update(GtkWidget *widget, unsigned long current, unsigned l
497 gchar * text; 497 gchar * text;
498 v3270ftprogress * dialog = GTK_V3270FTPROGRESS(widget); 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 text = g_strdup_printf("%lu",current); 537 text = g_strdup_printf("%lu",current);
531 gtk_entry_set_text(dialog->info[PROGRESS_FIELD_CURRENT],text); 538 gtk_entry_set_text(dialog->info[PROGRESS_FIELD_CURRENT],text);
532 g_free(text); 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 text = g_strdup_printf("%ld KB/s",(unsigned long) kbytes_sec); 549 text = g_strdup_printf("%ld KB/s",(unsigned long) kbytes_sec);
539 gtk_entry_set_text(dialog->info[PROGRESS_FIELD_SPEED],text); 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,6 +700,7 @@ static void ft_update(H3270 *hSession, unsigned long current, unsigned long tota
689 } 700 }
690 701
691 static void ft_running(H3270 *hSession, int is_cut, void *widget) { 702 static void ft_running(H3270 *hSession, int is_cut, void *widget) {
  703 + debug("%s",__FUNCTION__);
692 GTK_V3270FTPROGRESS(widget)->timeout = time(NULL)+10; 704 GTK_V3270FTPROGRESS(widget)->timeout = time(NULL)+10;
693 } 705 }
694 706
@@ -719,6 +731,7 @@ static gboolean do_timer(v3270ftprogress *dialog) { @@ -719,6 +731,7 @@ static gboolean do_timer(v3270ftprogress *dialog) {
719 731
720 if(time(NULL) > dialog->timeout) { 732 if(time(NULL) > dialog->timeout) {
721 733
  734 + debug("%s: Dialog timeout",__FUNCTION__);
722 v3270ftprogress_set_header(GTK_WIDGET(dialog),strerror(ETIMEDOUT)); 735 v3270ftprogress_set_header(GTK_WIDGET(dialog),strerror(ETIMEDOUT));
723 736
724 stop_pulse(dialog); 737 stop_pulse(dialog);