alarmwidget: fix issue where repeat settings where set to daily when dialog opens

This commit is contained in:
2023-03-12 22:41:28 +01:00
parent a00c8a52f8
commit 146c33673a
2 changed files with 22 additions and 14 deletions

View File

@ -61,7 +61,7 @@ QString AlarmTime::getName() const
void AlarmTime::setRepeat(const uint8_t repeat)
{
repeat_=repeat;
repeat_ = repeat;
exausted = false;
}

View File

@ -7,11 +7,6 @@ AlarmWidget::AlarmWidget(std::shared_ptr<AlarmTime> alarm, QWidget *parent) :
ui(new Ui::AlarmWidget)
{
ui->setupUi(this);
connect(ui->checkBox, &QCheckBox::stateChanged, this, &AlarmWidget::toggleRepeating);
connect(ui->radioButton, &QRadioButton::clicked, this, &AlarmWidget::setRepeatingType);
connect(ui->radioButton_2, &QRadioButton::clicked, this, &AlarmWidget::setRepeatingType);
connect(ui->radioButton_3, &QRadioButton::clicked, this, &AlarmWidget::setRepeatingType);
connect(ui->radioButton_4, &QRadioButton::clicked, this, &AlarmWidget::setRepeatingType);
ui->dateTimeEdit->setDateTime(alarm->getDateTime());
@ -31,11 +26,20 @@ AlarmWidget::AlarmWidget(std::shared_ptr<AlarmTime> alarm, QWidget *parent) :
ui->radioButton_4->setEnabled(true);
}
if(alarm_->getRepeat() == AlarmTime::REPEAT_DAILY) ui->radioButton->setChecked(true);
else if(alarm_->getRepeat() == AlarmTime::REPEAT_WEEKLY) ui->radioButton_2->setChecked(true);
else if(alarm_->getRepeat() == AlarmTime::REPEAT_MONTHLY)ui->radioButton_3->setChecked(true);
else if(alarm_->getRepeat() == AlarmTime::REPEAT_YEARLY) ui->radioButton_4->setChecked(true);
if(alarm_->getRepeat() == AlarmTime::REPEAT_DAILY)
ui->radioButton->setChecked(true);
else if(alarm_->getRepeat() == AlarmTime::REPEAT_WEEKLY)
ui->radioButton_2->setChecked(true);
else if(alarm_->getRepeat() == AlarmTime::REPEAT_MONTHLY)
ui->radioButton_3->setChecked(true);
else if(alarm_->getRepeat() == AlarmTime::REPEAT_YEARLY)
ui->radioButton_4->setChecked(true);
connect(ui->checkBox, &QCheckBox::stateChanged, this, &AlarmWidget::toggleRepeating);
connect(ui->radioButton, &QRadioButton::clicked, this, &AlarmWidget::setRepeatingType);
connect(ui->radioButton_2, &QRadioButton::clicked, this, &AlarmWidget::setRepeatingType);
connect(ui->radioButton_3, &QRadioButton::clicked, this, &AlarmWidget::setRepeatingType);
connect(ui->radioButton_4, &QRadioButton::clicked, this, &AlarmWidget::setRepeatingType);
connect(ui->dateTimeEdit, &QDateTimeEdit::dateTimeChanged, alarm.get(), &AlarmTime::changeTime);
}
@ -46,10 +50,14 @@ AlarmWidget::~AlarmWidget()
void AlarmWidget::setRepeatingType()
{
if(ui->radioButton->isChecked())alarm_->setRepeat(AlarmTime::REPEAT_DAILY);
if(ui->radioButton_2->isChecked())alarm_->setRepeat(AlarmTime::REPEAT_WEEKLY);
if(ui->radioButton_3->isChecked())alarm_->setRepeat(AlarmTime::REPEAT_MONTHLY);
if(ui->radioButton_4->isChecked())alarm_->setRepeat(AlarmTime::REPEAT_YEARLY);
if(ui->radioButton->isChecked())
alarm_->setRepeat(AlarmTime::REPEAT_DAILY);
if(ui->radioButton_2->isChecked())
alarm_->setRepeat(AlarmTime::REPEAT_WEEKLY);
if(ui->radioButton_3->isChecked())
alarm_->setRepeat(AlarmTime::REPEAT_MONTHLY);
if(ui->radioButton_4->isChecked())
alarm_->setRepeat(AlarmTime::REPEAT_YEARLY);
}
void AlarmWidget::toggleRepeating(int state)