2023-07-10 Fred Gleason <fredg@paravelsystems.com>

* Fixed a regression in rdlogmanager(1) to caused the pie chart to
	fail to be drawn correctly upon first displaying the 'Edit Clock'
	dialog.

Signed-off-by: Fred Gleason <fredg@paravelsystems.com>
This commit is contained in:
Fred Gleason
2023-07-10 15:41:38 -04:00
parent 16fab21457
commit 2f0b8fd7b6
2 changed files with 40 additions and 46 deletions

View File

@@ -24285,3 +24285,7 @@
2023-07-07 Fred Gleason <fredg@paravelsystems.com> 2023-07-07 Fred Gleason <fredg@paravelsystems.com>
* Tweaked 'AUTHORS' to maintain the correct entry sorting * Tweaked 'AUTHORS' to maintain the correct entry sorting
(alphabetical by surname). (alphabetical by surname).
2023-07-10 Fred Gleason <fredg@paravelsystems.com>
* Fixed a regression in rdlogmanager(1) to caused the pie chart to
fail to be drawn correctly upon first displaying the 'Edit Clock'
dialog.

View File

@@ -599,59 +599,49 @@ void EditClock::UpdateClock(int line)
p->setBrush(Qt::black); p->setBrush(Qt::black);
p->setFont(*edit_title_font); p->setFont(*edit_title_font);
if(line<0) { //
// // Title
// Pie Circle //
// p->drawText((edit_clock_label->size().width()-
p->translate(map->width()/2,map->height()/2); edit_title_metrics->width(edit_clocks_model->clockName()))/2,
p->rotate(-90.0); 50,edit_clocks_model->clockName());
int size_x=map->width()-2*PIE_X_MARGIN;
int size_y=map->height()-2*PIE_X_MARGIN;
p->drawArc(-size_x/2,-size_y/2,size_x,size_y,0,5760);
}
else {
//
// Title
//
p->drawText((edit_clock_label->size().width()-
edit_title_metrics->width(edit_clocks_model->clockName()))/2,
50,edit_clocks_model->clockName());
// //
// Pie Circle // Pie Circle
// //
p->translate(edit_clock_label->size().width()/2, p->translate(map->width()/2,map->height()/2);
edit_clock_label->size().height()/2); p->rotate(-90.0);
p->rotate(-90.0); int size_x=map->width()-2*PIE_X_MARGIN;
int size_x=edit_clock_label->size().width()-2*PIE_X_MARGIN; int size_y=map->height()-2*PIE_X_MARGIN;
int size_y=edit_clock_label->size().width()-2*PIE_X_MARGIN; p->drawArc(-size_x/2,-size_y/2,size_x,size_y,0,5760);
p->drawArc(-size_x/2,-size_y/2,size_x,size_y,0,5760);
// //
// Segments // Segments
// //
for(int i=0;i<edit_clocks_model->size();i++) { for(int i=0;i<edit_clocks_model->size();i++) {
if(i==line) { if(i==line) {
p->setBrush(edit_clocks_view->palette(). p->setBrush(edit_clocks_view->palette().
color(QPalette::Active,QPalette::Highlight)); color(QPalette::Active,QPalette::Highlight));
p->drawPie(-size_x/2,-size_y/2,size_x,size_y, p->drawPie(-size_x/2,-size_y/2,size_x,size_y,
-QTime(0,0,0).secsTo(edit_clocks_model->eventLine(line)->startTime())*5760/3600, -QTime(0,0,0).secsTo(edit_clocks_model->eventLine(line)->
-(edit_clocks_model->eventLine(line)->length()/1000)*5760/3600); startTime())*5760/3600,
-(edit_clocks_model->eventLine(line)->
length()/1000)*5760/3600);
}
else {
if(edit_clocks_model->eventLine(i)->color().isValid()) {
p->setBrush(edit_clocks_model->eventLine(i)->color());
} }
else { else {
if(edit_clocks_model->eventLine(i)->color().isValid()) { p->setBrush(palette().color(QPalette::Active,QPalette::Base));
p->setBrush(edit_clocks_model->eventLine(i)->color());
}
else {
p->setBrush(palette().color(QPalette::Active,QPalette::Base));
}
p->drawPie(-size_x/2,-size_y/2,size_x,size_y,
-QTime(0,0,0).secsTo(edit_clocks_model->eventLine(i)->startTime())*5760/3600,
-(edit_clocks_model->eventLine(i)->length()/1000)*5760/3600);
} }
p->drawPie(-size_x/2,-size_y/2,size_x,size_y,
-QTime(0,0,0).secsTo(edit_clocks_model->eventLine(i)->
startTime())*5760/3600,
-(edit_clocks_model->eventLine(i)->length()/1000)*5760/3600);
} }
p->end();
} }
p->end();
delete p; delete p;
edit_clock_label->setPixmap(*map); edit_clock_label->setPixmap(*map);
delete map; delete map;