From a205c9cfb079389bfbb155783adc350e82039baf Mon Sep 17 00:00:00 2001 From: Richard Genoud Date: Sat, 5 Sep 2020 12:01:42 +0200 Subject: [PATCH] thermostat: edit_dlg: save default room temperature --- soft/thermostat/inc/edit_dlg.h | 3 ++- soft/thermostat/src/edit_dlg.cpp | 10 ++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/soft/thermostat/inc/edit_dlg.h b/soft/thermostat/inc/edit_dlg.h index 305fbb2..a1d39b4 100644 --- a/soft/thermostat/inc/edit_dlg.h +++ b/soft/thermostat/inc/edit_dlg.h @@ -23,12 +23,13 @@ public: EditDlg(int idx, QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags()); ~EditDlg(); - int m_idx; // room index private: void set_font(QWidget *widget); QDoubleSpinBox m_default_temperature; + QVector m_progs; + int m_idx; // room index private slots: void save(void); diff --git a/soft/thermostat/src/edit_dlg.cpp b/soft/thermostat/src/edit_dlg.cpp index 443dc1e..8fe166a 100644 --- a/soft/thermostat/src/edit_dlg.cpp +++ b/soft/thermostat/src/edit_dlg.cpp @@ -38,6 +38,7 @@ EditDlg::EditDlg(int idx, QWidget *parent, Qt::WindowFlags f) : QWidget(parent, set_font(room_name); m_idx = idx; + m_progs = r.progs; m_default_temperature.setDecimals(1); m_default_temperature.setValue(r.default_temperature); m_default_temperature.setSingleStep(0.1); @@ -89,9 +90,9 @@ EditDlg::EditDlg(int idx, QWidget *parent, Qt::WindowFlags f) : QWidget(parent, topLayout->addLayout(upperLayout); QGridLayout *progLayout = new QGridLayout; - for (int i = 0; i < r.progs.count(); i++) { + for (int i = 0; i < m_progs.count(); i++) { - p = &(r.progs.at(i)); + p = &(m_progs.at(i)); text = QString(""); if (p->temperature == FORCE_OFF) { @@ -186,6 +187,11 @@ void EditDlg::set_font(QWidget *widget) void EditDlg::save(void) { + Settings *s = Settings::getInstance(); + + s->setRoomDefaultTemperature(m_idx, m_default_temperature.value()); + s->setRoomPrograms(m_idx, m_progs); + emit close_edit_dlg(); }