#include "engineermenuwindow.h" #include "ui_engineermenuwindow.h" #include "servicehistorymain.h" #include "operationtimemain.h" #include "realtimemain.h" #include "functiontestwindow.h" #include "ovenstatics.h" #include "adjustmentwindow.h" #include "modelsettingwindow.h" #include "soundplayer.h" #include "fileprocessor.h" #include "fileprocessdlg.h" #include "usbcheckpopupdlg.h" #include "haccp.h" #include EngineerMenuWindow::EngineerMenuWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::EngineerMenuWindow) { ui->setupUi(this); this->setFocus(); ui->clockContainer->setParent(ui->upperStack); setAttribute(Qt::WA_DeleteOnClose); child = Q_NULLPTR; connect(ui->backButton, SIGNAL(clicked()), this, SLOT(close())); foreach (QPushButton *button, findChildren()) connect(button, &QPushButton::pressed, SoundPlayer::playClick); HACCP::engineeringStart(); } EngineerMenuWindow::~EngineerMenuWindow() { HACCP::done(); delete ui; } void EngineerMenuWindow::killChild() { if (child) child->deleteLater(); } void EngineerMenuWindow::keyPressEvent(QKeyEvent *event) { switch (event->key()) { case 0x01000032: // Turn left onEncoderLeft(); break; case 0x01000031: // Push pushed = focusWidget(); break; case 0x01000030: // Turn right onEncoderRight(); break; } } void EngineerMenuWindow::keyReleaseEvent(QKeyEvent *event) { switch (event->key()) { case 0x01000032: // Turn left onEncoderLeft(); break; case 0x01000031: // Push if (focusWidget() == pushed) onEncoderClicked(pushed); pushed = NULL; break; case 0x01000030: // Turn right onEncoderRight(); break; } } void EngineerMenuWindow::onChildDestroyed(QObject *destroyed) { if (destroyed == child) child = NULL; } void EngineerMenuWindow::on_serviceHistoryButton_clicked() { ServiceHistoryMain *w = new ServiceHistoryMain(this); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); newChild(w); } void EngineerMenuWindow::on_operationTimeButton_clicked() { OperationTimeMain *w = new OperationTimeMain(this); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); newChild(w); } void EngineerMenuWindow::on_realDataButton_clicked() { RealtimeMain* w = new RealtimeMain(this); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); newChild(w); } void EngineerMenuWindow::on_functionTestButton_clicked() { FunctionTestWindow *w = new FunctionTestWindow(this); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); w->raise(); newChild(w); } void EngineerMenuWindow::on_engAdjustButton_clicked() { AdjustmentWindow *w = new AdjustmentWindow(this); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); w->raise(); newChild(w); } void EngineerMenuWindow::on_stdConfigButton_clicked() { QDialog* dlg; QString usbPath=""; if(FileProcessor::detectUSB(usbPath)) dlg = new FileProcessDlg(this, Define::config_standard_info_upload, false); else dlg = new UsbCheckPopupDlg(this); dlg->showFullScreen(); dlg->raise(); newChild(dlg); } void EngineerMenuWindow::on_modelTypeConfigButton_clicked() { ModelSettingWindow *w = new ModelSettingWindow(this); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); w->raise(); newChild(w); } void EngineerMenuWindow::newChild(QWidget *w) { child = w; connect(w, SIGNAL(destroyed(QObject*)), SLOT(onChildDestroyed(QObject*))); } void EngineerMenuWindow::onEncoderLeft() { focusPreviousChild(); } void EngineerMenuWindow::onEncoderRight() { focusNextChild(); } void EngineerMenuWindow::onEncoderClicked(QWidget *clicked) { QPushButton *b = qobject_cast(clicked); if (b) b->click(); }