#ifndef MANUALCOOKWINDOW_H #define MANUALCOOKWINDOW_H #include #include #include "oven.h" #include "udphandler.h" #include "cookhistory.h" namespace Ui { class ManualCookWindow; } class ManualCookWindow : public QMainWindow { Q_OBJECT public: explicit ManualCookWindow(QWidget *parent, Define::Mode mode); explicit ManualCookWindow(QWidget *parent, ManualCookSetting setting); ~ManualCookWindow(); protected: void keyPressEvent(QKeyEvent *event); void keyReleaseEvent(QKeyEvent *event); signals: void cookStopRequested(); void done(); public slots: private slots: void setupAnimation(); void setOvenDefault(Define::Mode mode); void start(); void stop(); void updateView(); void showCurrentHumidity(); void hideCurrentHumidity(); void showCurrentTemp(); void hideCurrentTemp(); void onOvenUpdated(Oven *oven); void addFavorite(); void jumpConfig(); void jumpFavorites(); void jumpWash(); void onMonitor1Timeout(); void onMonitor2Timeout(); void onMonitor3Timeout(); void onEncoderLeft(); void onEncoderRight(); void onEncoderClicked(QWidget *clicked); void focusHumidityButton(); void focusTempButton(); void focusTimeButton(); void focusInterTempButton(); void focusAgain(); void on_steamButton_clicked(); void on_combiButton_clicked(); void on_dryheatButton_clicked(); void on_humidityButton_pressed(); void on_humidityButton_released(); void on_tempButton_pressed(); void on_tempButton_released(); void on_humidityButton_clicked(); void on_tempButton_clicked(); void on_timeButton_clicked(); void on_interTempButton_clicked(); void on_runStopButton_clicked(); void on_fanButton_clicked(); void on_preheatButton_clicked(); void on_damperButton_clicked(); void on_humidificationButton_clicked(); void on_repeatButton_clicked(); void on_cooldownButton_clicked(); void on_reserveButton_clicked(); void on_favoriteButton_clicked(); void on_goFrontStackButton_clicked(); void on_backButton_clicked(); void on_configButton_clicked(); void on_favoritesButton_clicked(); void on_washButton_clicked(); void on_helpButton_clicked(); void on_timeSlider_valueChanged(); private: Ui::ManualCookWindow *ui; Oven *oven; QTimer startCookingTimer; QTimer updateViewTimer; QTimer showCurrentHumidityTimer; QTimer showCurrentTempTimer; int humidity; int temp; int time; int interTemp; bool lastCheckedCooking = false; bool showCurrentHumidity_ = false; bool showCurrentTemp_ = false; int lastViewHumidity; int lastViewTemp; int lastViewTime; int lastViewInterTemp; bool lastViewInterTempEnabled; bool lastViewCooking; bool lastViewDamper; bool lastViewHumidification; int lastViewFan; bool showFrontButtons = true; int monitorLevel; QTimer monitor1; QTimer monitor2; QTimer monitor3; bool monitorTriggered; bool cookDone; ManualCookSetting repeatSetting; bool repeat; int sliderToTime(int value); int timeToSlider(int secs); QWidget *pushed = NULL; QWidget *focused = NULL; QTimer focusHumidityButtonTimer; QTimer focusTempButtonTimer; QTimer focusTimeButtonTimer; QTimer focusInterTempButtonTimer; }; #endif // MANUALCOOKWINDOW_H