diff --git a/ChangeLog b/ChangeLog index 2260dc36..5a95ba5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21231,3 +21231,6 @@ 2021-02-25 Fred Gleason * Fixed regressions in rdairplay(1), rdcastmanager(1) and rdcatch(1) where configuration changes would not be updated properly. +2021-02-25 Fred Gleason + * Fixed a regression in rdlogmanager(1) that caused incorrect + operation of the progress dialog during log generation. diff --git a/lib/rdsvc.cpp b/lib/rdsvc.cpp index 8bb17c8b..f641963a 100644 --- a/lib/rdsvc.cpp +++ b/lib/rdsvc.cpp @@ -18,7 +18,8 @@ // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -#include +#include +#include #include "rdapplication.h" #include "rdclock.h" @@ -822,6 +823,7 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname, } emit generationProgress(0); + qApp->processEvents(); // // Generate Log Structure @@ -847,6 +849,7 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname, log->setIncludeImportMarkers(includeImportMarkers()); emit generationProgress(1); + qApp->processEvents(); // // Generate Events @@ -866,6 +869,7 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname, } delete q; emit generationProgress(1+i); + qApp->processEvents(); } // @@ -956,6 +960,7 @@ bool RDSvc::linkLog(RDSvc::ImportSource src,const QDate &date, int total_links=log->linkQuantity(link_src); emit generationProgress(0); + qApp->processEvents(); // // Load ParserStrings @@ -1003,6 +1008,7 @@ bool RDSvc::linkLog(RDSvc::ImportSource src,const QDate &date, track_cart,&autofill_errors); delete e; emit generationProgress(1+(24*current_link++)/total_links); + qApp->processEvents(); } else { dst_model->insert(dst_model->lineCount(),1,true); @@ -1109,6 +1115,7 @@ bool RDSvc::linkLog(RDSvc::ImportSource src,const QDate &date, // Clean Up // emit generationProgress(24); + qApp->processEvents(); delete src_model; delete dst_model; diff --git a/rdlogmanager/generate_log.cpp b/rdlogmanager/generate_log.cpp index 1b06ae6e..cdaf203e 100644 --- a/rdlogmanager/generate_log.cpp +++ b/rdlogmanager/generate_log.cpp @@ -30,19 +30,12 @@ #include "generate_log.h" #include "globals.h" -// -// Icons -// -#include "../icons/whiteball.xpm" -#include "../icons/greenball.xpm" -#include "../icons/redball.xpm" - GenerateLog::GenerateLog(QWidget *parent,int cmd_switch,QString *cmd_service, QDate *cmd_date) : RDDialog(parent) { QStringList services_list; - bool cmdservicefit=false; + bool cmdservicefit=false; cmdswitch=cmd_switch; cmdservice = cmd_service; cmddate = cmd_date; @@ -58,13 +51,6 @@ GenerateLog::GenerateLog(QWidget *parent,int cmd_switch,QString *cmd_service, setMinimumSize(sizeHint()); setMaximumSize(sizeHint()); - // - // Create Icons - // - gen_whiteball_map=new QPixmap(whiteball_xpm); - gen_greenball_map=new QPixmap(greenball_xpm); - gen_redball_map=new QPixmap(redball_xpm); - // // Progress Dialog // @@ -72,6 +58,7 @@ GenerateLog::GenerateLog(QWidget *parent,int cmd_switch,QString *cmd_service, new QProgressDialog(tr("Generating Log..."),tr("Cancel"),0,24,this); gen_progress_dialog->setWindowTitle("Progress"); gen_progress_dialog->setCancelButton(NULL); + gen_progress_dialog->setValue(24); // // Service Name @@ -166,12 +153,14 @@ GenerateLog::GenerateLog(QWidget *parent,int cmd_switch,QString *cmd_service, // Music Indicators // gen_mus_avail_label=new QLabel(this); - gen_mus_avail_label->setPixmap(*gen_whiteball_map); + gen_mus_avail_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall)); gen_mus_avail_label->setFont(subLabelFont()); gen_mus_avail_label->setAlignment(Qt::AlignCenter); gen_mus_merged_label=new QLabel(this); - gen_mus_merged_label->setPixmap(*gen_whiteball_map); + gen_mus_merged_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall)); gen_mus_merged_label->setFont(subLabelFont()); gen_mus_merged_label->setAlignment(Qt::AlignCenter); @@ -179,12 +168,14 @@ GenerateLog::GenerateLog(QWidget *parent,int cmd_switch,QString *cmd_service, // Traffic Indicators // gen_tfc_avail_label=new QLabel(this); - gen_tfc_avail_label->setPixmap(*gen_whiteball_map); + gen_tfc_avail_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall)); gen_tfc_avail_label->setFont(subLabelFont()); gen_tfc_avail_label->setAlignment(Qt::AlignCenter); gen_tfc_merged_label=new QLabel(this); - gen_tfc_merged_label->setPixmap(*gen_whiteball_map); + gen_tfc_merged_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall)); gen_tfc_merged_label->setFont(subLabelFont()); gen_tfc_merged_label->setAlignment(Qt::AlignCenter); @@ -521,15 +512,18 @@ void GenerateLog::fileScanData() gen_music_button->setEnabled(log->includeImportMarkers()|| (log->linkState(RDLog::SourceMusic)== RDLog::LinkMissing)); - gen_mus_avail_label->setPixmap(*gen_greenball_map); + gen_mus_avail_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::GreenBall)); } else { gen_music_button->setDisabled(true); - gen_mus_avail_label->setPixmap(*gen_redball_map); + gen_mus_avail_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::RedBall)); } } else { - gen_mus_avail_label->setPixmap(*gen_whiteball_map); + gen_mus_avail_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall)); } if(gen_traffic_enabled) { if(QFile::exists(svc-> @@ -540,15 +534,18 @@ void GenerateLog::fileScanData() (log->includeImportMarkers()|| (log->linkState(RDLog::SourceTraffic)== RDLog::LinkMissing))); - gen_tfc_avail_label->setPixmap(*gen_greenball_map); + gen_tfc_avail_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::GreenBall)); } else { gen_traffic_button->setDisabled(true); - gen_tfc_avail_label->setPixmap(*gen_redball_map); + gen_tfc_avail_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::RedBall)); } } else { - gen_tfc_avail_label->setPixmap(*gen_whiteball_map); + gen_tfc_avail_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall)); } delete log; delete svc; @@ -594,37 +591,45 @@ void GenerateLog::UpdateControls() if(log->linkQuantity(RDLog::SourceMusic)>0) { gen_music_enabled=true; if(log->linkState(RDLog::SourceMusic)==RDLog::LinkDone) { - gen_mus_merged_label->setPixmap(*gen_greenball_map); + gen_mus_merged_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::GreenBall)); } else { - gen_mus_merged_label->setPixmap(*gen_redball_map); + gen_mus_merged_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::RedBall)); } } else { gen_music_enabled=false; gen_music_button->setDisabled(true); - gen_mus_merged_label->setPixmap(*gen_whiteball_map); + gen_mus_merged_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall)); } if(log->linkQuantity(RDLog::SourceTraffic)>0) { gen_traffic_enabled=true; if(log->linkState(RDLog::SourceTraffic)==RDLog::LinkDone) { - gen_tfc_merged_label->setPixmap(*gen_greenball_map); + gen_tfc_merged_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::GreenBall)); } else { - gen_tfc_merged_label->setPixmap(*gen_redball_map); + gen_tfc_merged_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::RedBall)); } } else { gen_traffic_enabled=false; gen_traffic_button->setDisabled(true); - gen_tfc_merged_label->setPixmap(*gen_whiteball_map); + gen_tfc_merged_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall)); } } else { gen_music_button->setDisabled(true); - gen_mus_merged_label->setPixmap(*gen_whiteball_map); + gen_mus_merged_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall)); gen_traffic_button->setDisabled(true); - gen_tfc_merged_label->setPixmap(*gen_whiteball_map); + gen_tfc_merged_label-> + setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall)); gen_music_enabled=false; gen_traffic_enabled=false; } diff --git a/rdlogmanager/generate_log.h b/rdlogmanager/generate_log.h index 866431d8..30673e12 100644 --- a/rdlogmanager/generate_log.h +++ b/rdlogmanager/generate_log.h @@ -72,9 +72,6 @@ class GenerateLog : public RDDialog QLabel *gen_tfc_merged_label; QLabel *gen_mus_avail_label; QLabel *gen_mus_merged_label; - QPixmap *gen_whiteball_map; - QPixmap *gen_greenball_map; - QPixmap *gen_redball_map; bool gen_music_enabled; bool gen_traffic_enabled; int cmdswitch; @@ -83,5 +80,4 @@ class GenerateLog : public RDDialog }; -#endif - +#endif // GENERATE_LOG_H