From b2adad3a3215b1ff26acf8446aa61458ed16d837 Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Sun, 15 Aug 2021 15:16:59 -0400 Subject: [PATCH] 2021-08-15 Fred Gleason * Fixed regressions in rdlogmanager(1) that caused the 'Color' setting for Events and Clocks to fail to be saved. Signed-off-by: Fred Gleason --- ChangeLog | 3 +++ rdlogmanager/clocklistmodel.cpp | 7 ++++++- rdlogmanager/edit_clock.cpp | 7 +++++-- rdlogmanager/edit_clock.h | 1 + rdlogmanager/edit_event.cpp | 12 +++++++----- rdlogmanager/edit_event.h | 1 + rdlogmanager/eventlistmodel.cpp | 7 ++++++- 7 files changed, 29 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 487ca275..d29bb64b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -22271,3 +22271,6 @@ 'RDCoreApplication::timeString()' and 'RDCoreApplication::tenthsTimeString()' to allow specification of the character used for padding. +2021-08-15 Fred Gleason + * Fixed regressions in rdlogmanager(1) that caused the 'Color' + setting for Events and Clocks to fail to be saved. diff --git a/rdlogmanager/clocklistmodel.cpp b/rdlogmanager/clocklistmodel.cpp index fbab9e73..e1c93337 100644 --- a/rdlogmanager/clocklistmodel.cpp +++ b/rdlogmanager/clocklistmodel.cpp @@ -310,7 +310,12 @@ QPixmap ClockListModel::MakeIcon(const QString &color) const QPixmap pix(QSize(15,15)); QPainter *p=new QPainter(); p->begin(&pix); - p->fillRect(0,0,15,15,QColor(color)); + if(QColor(color).isValid()) { + p->fillRect(0,0,15,15,QColor(color)); + } + else { + p->fillRect(0,0,15,15,d_palette.color(QPalette::Background)); + } p->end(); delete p; diff --git a/rdlogmanager/edit_clock.cpp b/rdlogmanager/edit_clock.cpp index 29e26c35..f4ae3d96 100644 --- a/rdlogmanager/edit_clock.cpp +++ b/rdlogmanager/edit_clock.cpp @@ -190,7 +190,8 @@ EditClock::EditClock(QString clockname,bool new_clock, edit_color_button->setFont(buttonFont()); edit_color_button->setText(tr("Color")); connect(edit_color_button,SIGNAL(clicked()),this,SLOT(colorData())); - + edit_color=palette().color(QPalette::Background); + // // Clock Display // @@ -226,6 +227,7 @@ EditClock::EditClock(QString clockname,bool new_clock, edit_clocks_model->load(); edit_shortname_edit->setText(edit_clocks_model->shortName()); if(edit_clocks_model->color().isValid()) { + edit_color=edit_clocks_model->color(); edit_color_button-> setPalette(QPalette(edit_clocks_model->color(),palette().color(QPalette::Background))); } @@ -501,6 +503,7 @@ void EditClock::colorData() QColor color= QColorDialog::getColor(edit_color_button->palette().color(QPalette::Background),this); if(color.isValid()) { + edit_color=color; edit_color_button->setPalette(QPalette(color,palette().color(QPalette::Background))); } } @@ -576,7 +579,7 @@ void EditClock::closeEvent(QCloseEvent *e) void EditClock::Save() { - edit_clocks_model->setColor(edit_color_button->palette().color(QPalette::Background)); + edit_clocks_model->setColor(edit_color); edit_clocks_model->setShortName(edit_shortname_edit->text()); edit_clocks_model->setRemarks(edit_remarks_edit->toPlainText()); edit_clocks_model->save(); diff --git a/rdlogmanager/edit_clock.h b/rdlogmanager/edit_clock.h index 1337ba27..0b1726fe 100644 --- a/rdlogmanager/edit_clock.h +++ b/rdlogmanager/edit_clock.h @@ -79,6 +79,7 @@ class EditClock : public RDDialog QPushButton *edit_edit_button; QPushButton *edit_delete_button; QPushButton *edit_color_button; + QColor edit_color; QLabel *edit_clockname_label; QLineEdit *edit_shortname_edit; QLabel *edit_clock_label; diff --git a/rdlogmanager/edit_event.cpp b/rdlogmanager/edit_event.cpp index fb6f968e..9bad11ae 100644 --- a/rdlogmanager/edit_event.cpp +++ b/rdlogmanager/edit_event.cpp @@ -715,7 +715,8 @@ EditEvent::EditEvent(QString eventname,bool new_event, event_color_button->setFont(buttonFont()); event_color_button->setText(tr("Color")); connect(event_color_button,SIGNAL(clicked()),this,SLOT(colorData())); - + event_color=palette().color(QPalette::Background); + // // OK Button // @@ -809,9 +810,9 @@ EditEvent::EditEvent(QString eventname,bool new_event, if(event_have_code2_box->findText(event_event->HaveCode2())!=-1) { event_have_code2_box->setCurrentText(event_event->HaveCode2()); } - QColor color=event_event->color(); - if(color.isValid()) { - event_color_button->setPalette(QPalette(color,palette().color(QPalette::Background))); + event_color=event_event->color(); + if(event_color.isValid()) { + event_color_button->setPalette(QPalette(event_color,palette().color(QPalette::Background))); } QString str=event_event->nestedEvent(); sql=QString("select `NAME` from `EVENTS` where ")+ @@ -1204,6 +1205,7 @@ void EditEvent::colorData() QColor color= QColorDialog::getColor(event_color_button->palette().color(QPalette::Background),this); if(color.isValid()) { + event_color=color; event_color_button->setPalette(QPalette(color,palette().color(QPalette::Background))); } } @@ -1322,7 +1324,7 @@ void EditEvent::Save() event_event-> setDefaultTransType((RDLogLine::TransType)event_defaulttrans_box-> currentIndex()); - event_event->setColor(event_color_button->palette().color(QPalette::Background)); + event_event->setColor(event_color); if(event_nestevent_box->currentIndex()==0) { event_event->setNestedEvent(""); } diff --git a/rdlogmanager/edit_event.h b/rdlogmanager/edit_event.h index bd0f6f74..dca7b76d 100644 --- a/rdlogmanager/edit_event.h +++ b/rdlogmanager/edit_event.h @@ -166,6 +166,7 @@ class EditEvent : public RDDialog RDTransportButton *event_postimport_up_button; RDTransportButton *event_postimport_down_button; QPushButton *event_color_button; + QColor event_color; bool event_saved; bool event_new_event; std::vector *event_new_events; diff --git a/rdlogmanager/eventlistmodel.cpp b/rdlogmanager/eventlistmodel.cpp index 908fb45b..d53ff9a1 100644 --- a/rdlogmanager/eventlistmodel.cpp +++ b/rdlogmanager/eventlistmodel.cpp @@ -319,7 +319,12 @@ QPixmap EventListModel::MakeIcon(const QString &color) const QPixmap pix(QSize(15,15)); QPainter *p=new QPainter(); p->begin(&pix); - p->fillRect(0,0,15,15,QColor(color)); + if(QColor(color).isValid()) { + p->fillRect(0,0,15,15,QColor(color)); + } + else { + p->fillRect(0,0,15,15,d_palette.color(QPalette::Background)); + } p->end(); delete p;