2021-02-25 Fred Gleason <fredg@paravelsystems.com>

* Fixed a regression in rdlogmanager(1) that caused incorrect
	operation of the progress dialog during log generation.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2021-02-25 17:31:41 -05:00
parent 33921a3781
commit ea8bf6674a
4 changed files with 50 additions and 39 deletions

View File

@@ -21231,3 +21231,6 @@
2021-02-25 Fred Gleason <fredg@paravelsystems.com> 2021-02-25 Fred Gleason <fredg@paravelsystems.com>
* Fixed regressions in rdairplay(1), rdcastmanager(1) and * Fixed regressions in rdairplay(1), rdcastmanager(1) and
rdcatch(1) where configuration changes would not be updated properly. rdcatch(1) where configuration changes would not be updated properly.
2021-02-25 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in rdlogmanager(1) that caused incorrect
operation of the progress dialog during log generation.

View File

@@ -18,7 +18,8 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
// //
#include <qmessagebox.h> #include <QApplication>
#include <QMessageBox>
#include "rdapplication.h" #include "rdapplication.h"
#include "rdclock.h" #include "rdclock.h"
@@ -822,6 +823,7 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname,
} }
emit generationProgress(0); emit generationProgress(0);
qApp->processEvents();
// //
// Generate Log Structure // Generate Log Structure
@@ -847,6 +849,7 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname,
log->setIncludeImportMarkers(includeImportMarkers()); log->setIncludeImportMarkers(includeImportMarkers());
emit generationProgress(1); emit generationProgress(1);
qApp->processEvents();
// //
// Generate Events // Generate Events
@@ -866,6 +869,7 @@ bool RDSvc::generateLog(const QDate &date,const QString &logname,
} }
delete q; delete q;
emit generationProgress(1+i); 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); int total_links=log->linkQuantity(link_src);
emit generationProgress(0); emit generationProgress(0);
qApp->processEvents();
// //
// Load ParserStrings // Load ParserStrings
@@ -1003,6 +1008,7 @@ bool RDSvc::linkLog(RDSvc::ImportSource src,const QDate &date,
track_cart,&autofill_errors); track_cart,&autofill_errors);
delete e; delete e;
emit generationProgress(1+(24*current_link++)/total_links); emit generationProgress(1+(24*current_link++)/total_links);
qApp->processEvents();
} }
else { else {
dst_model->insert(dst_model->lineCount(),1,true); dst_model->insert(dst_model->lineCount(),1,true);
@@ -1109,6 +1115,7 @@ bool RDSvc::linkLog(RDSvc::ImportSource src,const QDate &date,
// Clean Up // Clean Up
// //
emit generationProgress(24); emit generationProgress(24);
qApp->processEvents();
delete src_model; delete src_model;
delete dst_model; delete dst_model;

View File

@@ -30,19 +30,12 @@
#include "generate_log.h" #include "generate_log.h"
#include "globals.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, GenerateLog::GenerateLog(QWidget *parent,int cmd_switch,QString *cmd_service,
QDate *cmd_date) QDate *cmd_date)
: RDDialog(parent) : RDDialog(parent)
{ {
QStringList services_list; QStringList services_list;
bool cmdservicefit=false; bool cmdservicefit=false;
cmdswitch=cmd_switch; cmdswitch=cmd_switch;
cmdservice = cmd_service; cmdservice = cmd_service;
cmddate = cmd_date; cmddate = cmd_date;
@@ -58,13 +51,6 @@ GenerateLog::GenerateLog(QWidget *parent,int cmd_switch,QString *cmd_service,
setMinimumSize(sizeHint()); setMinimumSize(sizeHint());
setMaximumSize(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 // 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); new QProgressDialog(tr("Generating Log..."),tr("Cancel"),0,24,this);
gen_progress_dialog->setWindowTitle("Progress"); gen_progress_dialog->setWindowTitle("Progress");
gen_progress_dialog->setCancelButton(NULL); gen_progress_dialog->setCancelButton(NULL);
gen_progress_dialog->setValue(24);
// //
// Service Name // Service Name
@@ -166,12 +153,14 @@ GenerateLog::GenerateLog(QWidget *parent,int cmd_switch,QString *cmd_service,
// Music Indicators // Music Indicators
// //
gen_mus_avail_label=new QLabel(this); 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->setFont(subLabelFont());
gen_mus_avail_label->setAlignment(Qt::AlignCenter); gen_mus_avail_label->setAlignment(Qt::AlignCenter);
gen_mus_merged_label=new QLabel(this); 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->setFont(subLabelFont());
gen_mus_merged_label->setAlignment(Qt::AlignCenter); gen_mus_merged_label->setAlignment(Qt::AlignCenter);
@@ -179,12 +168,14 @@ GenerateLog::GenerateLog(QWidget *parent,int cmd_switch,QString *cmd_service,
// Traffic Indicators // Traffic Indicators
// //
gen_tfc_avail_label=new QLabel(this); 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->setFont(subLabelFont());
gen_tfc_avail_label->setAlignment(Qt::AlignCenter); gen_tfc_avail_label->setAlignment(Qt::AlignCenter);
gen_tfc_merged_label=new QLabel(this); 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->setFont(subLabelFont());
gen_tfc_merged_label->setAlignment(Qt::AlignCenter); gen_tfc_merged_label->setAlignment(Qt::AlignCenter);
@@ -521,15 +512,18 @@ void GenerateLog::fileScanData()
gen_music_button->setEnabled(log->includeImportMarkers()|| gen_music_button->setEnabled(log->includeImportMarkers()||
(log->linkState(RDLog::SourceMusic)== (log->linkState(RDLog::SourceMusic)==
RDLog::LinkMissing)); RDLog::LinkMissing));
gen_mus_avail_label->setPixmap(*gen_greenball_map); gen_mus_avail_label->
setPixmap(rda->iconEngine()->listIcon(RDIconEngine::GreenBall));
} }
else { else {
gen_music_button->setDisabled(true); gen_music_button->setDisabled(true);
gen_mus_avail_label->setPixmap(*gen_redball_map); gen_mus_avail_label->
setPixmap(rda->iconEngine()->listIcon(RDIconEngine::RedBall));
} }
} }
else { else {
gen_mus_avail_label->setPixmap(*gen_whiteball_map); gen_mus_avail_label->
setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall));
} }
if(gen_traffic_enabled) { if(gen_traffic_enabled) {
if(QFile::exists(svc-> if(QFile::exists(svc->
@@ -540,15 +534,18 @@ void GenerateLog::fileScanData()
(log->includeImportMarkers()|| (log->includeImportMarkers()||
(log->linkState(RDLog::SourceTraffic)== (log->linkState(RDLog::SourceTraffic)==
RDLog::LinkMissing))); RDLog::LinkMissing)));
gen_tfc_avail_label->setPixmap(*gen_greenball_map); gen_tfc_avail_label->
setPixmap(rda->iconEngine()->listIcon(RDIconEngine::GreenBall));
} }
else { else {
gen_traffic_button->setDisabled(true); gen_traffic_button->setDisabled(true);
gen_tfc_avail_label->setPixmap(*gen_redball_map); gen_tfc_avail_label->
setPixmap(rda->iconEngine()->listIcon(RDIconEngine::RedBall));
} }
} }
else { else {
gen_tfc_avail_label->setPixmap(*gen_whiteball_map); gen_tfc_avail_label->
setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall));
} }
delete log; delete log;
delete svc; delete svc;
@@ -594,37 +591,45 @@ void GenerateLog::UpdateControls()
if(log->linkQuantity(RDLog::SourceMusic)>0) { if(log->linkQuantity(RDLog::SourceMusic)>0) {
gen_music_enabled=true; gen_music_enabled=true;
if(log->linkState(RDLog::SourceMusic)==RDLog::LinkDone) { 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 { else {
gen_mus_merged_label->setPixmap(*gen_redball_map); gen_mus_merged_label->
setPixmap(rda->iconEngine()->listIcon(RDIconEngine::RedBall));
} }
} }
else { else {
gen_music_enabled=false; gen_music_enabled=false;
gen_music_button->setDisabled(true); 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) { if(log->linkQuantity(RDLog::SourceTraffic)>0) {
gen_traffic_enabled=true; gen_traffic_enabled=true;
if(log->linkState(RDLog::SourceTraffic)==RDLog::LinkDone) { 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 { else {
gen_tfc_merged_label->setPixmap(*gen_redball_map); gen_tfc_merged_label->
setPixmap(rda->iconEngine()->listIcon(RDIconEngine::RedBall));
} }
} }
else { else {
gen_traffic_enabled=false; gen_traffic_enabled=false;
gen_traffic_button->setDisabled(true); gen_traffic_button->setDisabled(true);
gen_tfc_merged_label->setPixmap(*gen_whiteball_map); gen_tfc_merged_label->
setPixmap(rda->iconEngine()->listIcon(RDIconEngine::WhiteBall));
} }
} }
else { else {
gen_music_button->setDisabled(true); 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_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_music_enabled=false;
gen_traffic_enabled=false; gen_traffic_enabled=false;
} }

View File

@@ -72,9 +72,6 @@ class GenerateLog : public RDDialog
QLabel *gen_tfc_merged_label; QLabel *gen_tfc_merged_label;
QLabel *gen_mus_avail_label; QLabel *gen_mus_avail_label;
QLabel *gen_mus_merged_label; QLabel *gen_mus_merged_label;
QPixmap *gen_whiteball_map;
QPixmap *gen_greenball_map;
QPixmap *gen_redball_map;
bool gen_music_enabled; bool gen_music_enabled;
bool gen_traffic_enabled; bool gen_traffic_enabled;
int cmdswitch; int cmdswitch;
@@ -83,5 +80,4 @@ class GenerateLog : public RDDialog
}; };
#endif #endif // GENERATE_LOG_H