// SPDX-License-Identifier: GPL-3.0-or-later /* * Qt mutizone MQTT thermostat * * Copyright (C) 2019 Richard Genoud * */ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include "mqttclient.h" #include "zoneitem.h" #include "boost_dlg.h" #include "settings.h" class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = NULL); ~MainWindow(); private: MQTTClient *m_mqtt; QPushButton m_state_btn; QVector m_zones; QTimer *m_timer; void update_state_btn(enum power_states st); double get_target_temperature(int room_idx); bool get_heater_order(int room_idx); void apply_automatic_state(void); private slots: void temperature_slot(int idx, double val); void hygro_slot(int idx, double val); void availability_slot(int idx, bool ok); void change_state(void); void apply_order_to_heaters(void); void show_boost(void); void show_menu(void); void boost_slot(int idx, struct boost_data &data); signals: void setAllHeatersOn(bool on); }; #endif // MAINWINDOW_H /* vim: set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab: */