keepwarmpopup.cpp 1.65 KB
#include "keepwarmpopup.h"
#include "ui_keepwarmpopup.h"

#include <QKeyEvent>

#include "haccp.h"

KeepWarmPopup::KeepWarmPopup(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::KeepWarmPopup)
{
    ui->setupUi(this);

    setAttribute(Qt::WA_DeleteOnClose);

    connect(&updateViewTimer, SIGNAL(timeout()), SLOT(updateView()));
    updateViewTimer.start(100);

    startTime.start();
}

KeepWarmPopup::~KeepWarmPopup()
{
    HACCP::done();

    delete ui;
}

void KeepWarmPopup::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 KeepWarmPopup::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 KeepWarmPopup::onEncoderLeft()
{

}

void KeepWarmPopup::onEncoderRight()
{

}

void KeepWarmPopup::onEncoderClicked(QWidget */*clicked*/)
{
    close();
}

void KeepWarmPopup::updateView()
{
    int elapsed = startTime.elapsed() / 1000;
    ui->timeLabel->setText(QString("%1:%2")
                           .arg(elapsed / 60, 2, 10, QLatin1Char('0'))
                           .arg(elapsed % 60, 2, 10, QLatin1Char('0')));
}

void KeepWarmPopup::on_stopButton_clicked()
{
    close();
}