autocookwindow.h 1.95 KB
#ifndef AUTOCOOKWINDOW_H
#define AUTOCOOKWINDOW_H

#include <QMainWindow>
#include <QLabel>
#include <QTimer>

#include "autocook.h"

namespace Ui {
class AutoCookWindow;
}

class AutoCookWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit AutoCookWindow(QWidget *parent, Cook cook);
    ~AutoCookWindow();

private:
    Ui::AutoCookWindow *ui;

    Cook cook;
    AutoCook autocook;

    QTimer checkCookTimer;

    QPixmap steamModeIcon;
    QPixmap dryModeIcon;
    QPixmap combiModeIcon;

    int selectedStepIndex;
    int lastViewStepIndex;
    bool showingDifferentStep;
    QTimer returnToCurrentStepTimer;

    bool showingCurrentHumidity;
    bool showingCurrentTemp;
    QTimer showCurrentHumidityTimer;
    QTimer showCurrentTempTimer;

    int lastViewTime;
    int lastViewCoreTemp;
    int lastViewHumidity;
    int lastViewTemp;
    Define::StepType lastViewDoorType;
    Define::StepType lastViewCookType;
    Define::Mode lastViewCookMode;

    bool processSelected;
    Define::Process selectedProcess;
    QTimer checkProcessTimer;

    QTimer updateViewTimer;

    void setupUi();

private slots:
    void updateView();
    void checkCook();
    void startProcess(int process);
    void checkProcess();

    void returnToCurrentStep();
    void showCurrentHumidity();
    void showCurrentTemp();
    void addFavorite();

    void jumpConfig();
    void jumpWash();

    void on_selectCookButton_clicked();
    void on_homeButton_clicked();
    void on_configCookButton_clicked();
    void on_humidityGaugeButton_pressed();
    void on_humidityGaugeButton_released();
    void on_heatGaugeButton_pressed();
    void on_heatGaugeButton_released();
    void on_backButton_clicked();
    void on_showPrevStepButton_clicked();
    void on_showNextStepButton_clicked();
    void on_favoritesButton_clicked();
    void on_configButton_clicked();
    void on_washButton_clicked();
    void on_helpButton_clicked();

signals:
    void back();
};

#endif // AUTOCOOKWINDOW_H