#include "mainwindow.h" #include "ui_mainwindow.h" #include #include #include "abstractoveninterface.h" #include "manualcookwindow.h" #include "ovencontroller.h" #include "configwindow.h" #include "functiontestwindow.h" #include "autocookselectionwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); oven = new Oven(this); OvenController *interface = new OvenController; oven->setInterface(interface); udp = new UdpHandler(this); qDebug() << udp->init(); interface->setUdpHandler(udp); ManualCookWindow *window = new ManualCookWindow(this, oven, udp); window->setWindowModality(Qt::WindowModal); window->hide(); connect(ui->steamButton, SIGNAL(clicked()), this, SIGNAL(modeButtonClicked())); connect(ui->combiButton, SIGNAL(clicked()), this, SIGNAL(modeButtonClicked())); connect(ui->dryheatButton, SIGNAL(clicked()), this, SIGNAL(modeButtonClicked())); connect(this, SIGNAL(modeButtonClicked()), window, SLOT(showFullScreen())); connect(this, SIGNAL(modeButtonClicked()), window, SLOT(raise())); QSignalMapper *sm = new QSignalMapper(this); sm->setMapping(ui->steamButton, (int) Oven::SteamMode); sm->setMapping(ui->combiButton, (int) Oven::CombinationMode); sm->setMapping(ui->dryheatButton, (int) Oven::HeatMode); connect(ui->steamButton, SIGNAL(clicked()), sm, SLOT(map())); connect(ui->combiButton, SIGNAL(clicked()), sm, SLOT(map())); connect(ui->dryheatButton, SIGNAL(clicked()), sm, SLOT(map())); connect(sm, SIGNAL(mapped(int)), this, SLOT(onModeButtonClicked(int))); } MainWindow::~MainWindow() { delete ui; } void MainWindow::onModeButtonClicked(int mode) { oven->setDefault((Oven::Mode) mode); } void MainWindow::on_configButton_clicked() { // ConfigWindow *w = new ConfigWindow(this, udp); // w->setAttribute(Qt::WA_DeleteOnClose); // w->showFullScreen(); FunctionTestWindow *w = new FunctionTestWindow(this, udp); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); } void MainWindow::on_poultryButton_clicked() { AutoCookSelectionWindow *w = new AutoCookSelectionWindow(this, oven, Cook::Poultry); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); } void MainWindow::on_meatButton_clicked() { AutoCookSelectionWindow *w = new AutoCookSelectionWindow(this, oven, Cook::Meat); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); } void MainWindow::on_breadButton_clicked() { AutoCookSelectionWindow *w = new AutoCookSelectionWindow(this, oven, Cook::Bread); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); }