diff --git a/app/gui/oven_control/main.cpp b/app/gui/oven_control/main.cpp
index 8553b37..b7d50fb 100644
--- a/app/gui/oven_control/main.cpp
+++ b/app/gui/oven_control/main.cpp
@@ -7,7 +7,7 @@
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
-
+ a.primaryScreen().
MainWindow w;
w.showFullScreen();
diff --git a/app/gui/oven_control/mainwindow.cpp b/app/gui/oven_control/mainwindow.cpp
index 9bda649..0ddddc6 100644
--- a/app/gui/oven_control/mainwindow.cpp
+++ b/app/gui/oven_control/mainwindow.cpp
@@ -26,6 +26,7 @@ MainWindow::MainWindow(QWidget *parent) :
interface->setUdpHandler(udp);
ManualCookWindow *window = new ManualCookWindow(this, oven, udp);
+ window->setWindowModality(Qt::WindowModal);
window->hide();
connect(ui->steamButton, SIGNAL(clicked()), this, SIGNAL(modeButtonClicked()));
@@ -43,8 +44,6 @@ MainWindow::MainWindow(QWidget *parent) :
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()
@@ -54,7 +53,6 @@ MainWindow::~MainWindow()
void MainWindow::onModeButtonClicked(int mode)
{
-// oven->setMode((Oven::Mode) mode);
oven->setDefault((Oven::Mode) mode);
}
@@ -65,5 +63,6 @@ void MainWindow::on_configButton_clicked()
// w->showFullScreen();
FunctionTestWindow *w = new FunctionTestWindow(this, udp);
+ w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
}
diff --git a/app/gui/oven_control/manualcookwindow.cpp b/app/gui/oven_control/manualcookwindow.cpp
index 2155bd1..3204207 100644
--- a/app/gui/oven_control/manualcookwindow.cpp
+++ b/app/gui/oven_control/manualcookwindow.cpp
@@ -156,7 +156,12 @@ void ManualCookWindow::updateLabels()
else
time = oven->time();
- ui->timeLabel->setText(buf.sprintf("%02d:%02d H/M", time / 3600, (time % 3600) / 60));
+ if (time >= 3600)
+ ui->timeLabel->setText(buf.sprintf("%d시간 %02d분", time / 3600, (time % 3600) / 60));
+ else if (time >= 60)
+ ui->timeLabel->setText(buf.sprintf("%d분 %02d초", time / 60, time % 60));
+ else
+ ui->timeLabel->setText(buf.sprintf("%d초", time));
if (oven->interTempEnabled())
{
@@ -268,7 +273,40 @@ QPushButton#interTempButton:pressed {\
ui->innerInterTempSlider->setValue(oven->interTemp());
ui->innerInterTempSlider->blockSignals(old);
- ui->runStopButton->setChecked(oven->cooking());
+ if (oven->cooking())
+ ui->runStopButton->setStyleSheet(
+ "border-image: url(:/images/images/manual/012_play_btn_ov_stop.png)");
+ else
+ ui->runStopButton->setStyleSheet(
+ "border-image: url(:/images/images/manual/012_play_btn.png)");
+
+ if (oven->preheating())
+ ui->preheatButton->setStyleSheet(
+ "border-image: url(:/images/images/manual/013_sys_icon_01_ov.png)");
+ else
+ ui->preheatButton->setStyleSheet(
+ "border-image: url(:/images/images/manual/013_sys_icon_01.png)");
+
+ if (oven->damper())
+ ui->damperButton->setStyleSheet(
+ "border-image: url(:/images/images/manual/013_sys_icon_02_ov.png)");
+ else
+ ui->damperButton->setStyleSheet(
+ "border-image: url(:/images/images/manual/013_sys_icon_02.png)");
+
+ if (oven->humidification())
+ ui->humidificationButton->setStyleSheet(
+ "border-image: url(:/images/images/manual/013_sys_icon_03_ov.png)");
+ else
+ ui->humidificationButton->setStyleSheet(
+ "border-image: url(:/images/images/manual/013_sys_icon_03.png)");
+
+ if (oven->cooldown())
+ ui->cooldownButton->setStyleSheet(
+ "border-image: url(:/images/images/manual/013_sys_icon_05_ov.png)");
+ else
+ ui->cooldownButton->setStyleSheet(
+ "border-image: url(:/images/images/manual/013_sys_icon_05.png)");
switch (oven->fan())
{
@@ -301,15 +339,15 @@ QPushButton#interTempButton:pressed {\
updateLabels();
}
-void ManualCookWindow::on_runStopButton_toggled(bool checked)
+void ManualCookWindow::on_runStopButton_clicked()
{
- if (checked)
- oven->startCooking();
- else
+ if (oven->cooking())
{
oven->stopCooking();
emit cookStopRequested();
}
+ else
+ oven->startCooking();
}
void ManualCookWindow::on_fanButton_clicked()
@@ -331,10 +369,7 @@ void ManualCookWindow::on_applyButton_clicked()
ui->bodyStack->setCurrentIndex(0);
oven->setInterTemp(ui->innerInterTempSlider->value());
-// bool old = oven->blockSignals(true);
oven->setInterTempEnabled(true);
-// oven->blockSignals(old);
-
}
void ManualCookWindow::on_interTempButton_clicked()
@@ -347,84 +382,47 @@ void ManualCookWindow::on_interTempButton_clicked()
void ManualCookWindow::on_preheatButton_clicked()
{
- static bool sw = false;
- udp->turnOn(TG_MANUAL_RELAY);
- if (sw)
- udp->turnOn(TG_DV);
+ if (oven->preheating())
+ oven->stopPreheating();
else
- udp->turnOff(TG_DV);
-
- sw = !sw;
+ oven->startPreheating();
}
void ManualCookWindow::on_damperButton_clicked()
{
- static bool sw = false;
- udp->turnOn(TG_MANUAL_RELAY);
- if (sw)
- udp->turnOn(TG_UNP);
+ if (oven->damper())
+ oven->closeDamper();
else
- udp->turnOff(TG_UNP);
-
- sw = !sw;
+ oven->openDamper();
}
void ManualCookWindow::on_humidificationButton_clicked()
{
- static bool sw = false;
- udp->turnOn(TG_MANUAL_RELAY);
- if (sw)
- udp->turnOn(TG_HDM);
+ if (oven->humidification())
+ oven->stopHumidification();
else
- udp->turnOff(TG_HDM);
-
- sw = !sw;
+ oven->startHumidification();
}
void ManualCookWindow::on_repeatButton_clicked()
{
- static bool sw = false;
- udp->turnOn(TG_MANUAL_RELAY);
- if (sw)
- udp->turnOn(TG_SSV);
- else
- udp->turnOff(TG_SSV);
- sw = !sw;
}
void ManualCookWindow::on_cooldownButton_clicked()
{
- static bool sw = false;
- udp->turnOn(TG_MANUAL_RELAY);
- if (sw)
- udp->turnOn(TG_SNV);
+ if (oven->cooldown())
+ oven->stopCooldown();
else
- udp->turnOff(TG_SNV);
-
- sw = !sw;
+ oven->startCooldown();
}
void ManualCookWindow::on_reserveButton_clicked()
{
- static bool sw = false;
- udp->turnOn(TG_MANUAL_RELAY);
- if (sw)
- udp->turnOn(TG_HL);
- else
- udp->turnOff(TG_HL);
- sw = !sw;
}
void ManualCookWindow::on_favoritesButton_clicked()
{
- static bool sw = false;
- udp->turnOn(TG_MANUAL_RELAY);
- if (sw)
- udp->turnOn(TG_DP);
- else
- udp->turnOff(TG_DP);
- sw = !sw;
}
diff --git a/app/gui/oven_control/manualcookwindow.h b/app/gui/oven_control/manualcookwindow.h
index be52767..02f1824 100644
--- a/app/gui/oven_control/manualcookwindow.h
+++ b/app/gui/oven_control/manualcookwindow.h
@@ -34,7 +34,7 @@ private slots:
void showCurrentTemp();
void hideCurrentTemp();
- void on_runStopButton_toggled(bool checked);
+ void on_runStopButton_clicked();
void on_fanButton_clicked();
void on_goOuterButton_clicked();
void on_applyButton_clicked();
diff --git a/app/gui/oven_control/manualcookwindow.ui b/app/gui/oven_control/manualcookwindow.ui
index d496c51..878c9c5 100644
--- a/app/gui/oven_control/manualcookwindow.ui
+++ b/app/gui/oven_control/manualcookwindow.ui
@@ -469,18 +469,11 @@ background-image: url(:/images/images/manual/010_gauge_bar_set.png);
QPushButton {
border-image: url(:/images/images/manual/012_play_btn.png);
-}
-
-QPushButton:checked {
- border-image: url(:/images/images/manual/012_play_btn_ov_stop.png);
}
-
- true
-
diff --git a/app/gui/oven_control/oven.cpp b/app/gui/oven_control/oven.cpp
index cdfc720..514dda4 100644
--- a/app/gui/oven_control/oven.cpp
+++ b/app/gui/oven_control/oven.cpp
@@ -10,6 +10,9 @@ Oven::Oven(QObject *parent) : QObject(parent)
cookingTimer.setSingleShot(true);
connect(&cookingTimer, SIGNAL(timeout()), this, SLOT(stopCooking()));
+ damperTimer.setSingleShot(true);
+ connect(&damperTimer, SIGNAL(timeout()), this, SLOT(closeDamper()));
+
humidificationTimer.setSingleShot(true);
connect(&humidificationTimer, SIGNAL(timeout()), this, SLOT(stopHumidification()));
}
@@ -72,6 +75,7 @@ void Oven::setDefault(Mode mode)
setTime(0);
setInterTempEnabled_(false);
+ setInterTemp_(minInterTemp());
setFan_(4);
cooking_ = false;
@@ -202,7 +206,7 @@ bool Oven::setFan_(int speed)
if (speed == fan_)
return false;
- int rpm;
+ int rpm = 0;
switch (speed)
{
case 1:
@@ -230,7 +234,7 @@ bool Oven::setFan_(int speed)
bool Oven::cookingStartable()
{
- if (/*door() || */cooking())
+ if (/*door() || */cooking() || time() <= 0)
return false;
return true;
@@ -267,6 +271,9 @@ void Oven::stop()
if (preheating())
stopPreheating();
+ if (damper())
+ closeDamper();
+
if (cooldown())
stopCooldown();
@@ -405,12 +412,28 @@ void Oven::stopWashing()
void Oven::openDamper()
{
+ if (!damper())
+ {
+ damper_ = true;
+ damperTimer.start(5 * 60 * 1000);
+ interface->openDamper();
+ emit changed(this);
+ }
}
void Oven::closeDamper()
{
+ if (damper())
+ {
+ damper_ = false;
+ if (damperTimer.isActive())
+ damperTimer.stop();
+
+ interface->closeDamper();
+ emit changed(this);
+ }
}
diff --git a/app/gui/oven_control/oven.h b/app/gui/oven_control/oven.h
index 49fef3d..9b0d7ff 100644
--- a/app/gui/oven_control/oven.h
+++ b/app/gui/oven_control/oven.h
@@ -9,6 +9,7 @@ class OvenInterface : public QObject
Q_OBJECT
public:
+ OvenInterface(QObject *parent = 0) : QObject(parent) {}
virtual ~OvenInterface(){}
virtual int currentTemp() = 0;
virtual int currentHumidity() = 0;
@@ -16,8 +17,8 @@ public:
virtual bool door() = 0;
signals:
- virtual void doorOpened() = 0;
- virtual void doorClosed() = 0;
+ void doorOpened();
+ void doorClosed();
public slots:
// virtual void setMode(Oven::Mode mode) = 0;
@@ -70,6 +71,7 @@ private:
bool paused_;
QTimer cookingTimer;
+ QTimer damperTimer;
QTimer humidificationTimer;
QTimer interTempTimer;
diff --git a/app/gui/oven_control/oven_control.pro b/app/gui/oven_control/oven_control.pro
index c1a70ee..adb35c5 100644
--- a/app/gui/oven_control/oven_control.pro
+++ b/app/gui/oven_control/oven_control.pro
@@ -65,3 +65,6 @@ FORMS += mainwindow.ui \
RESOURCES += \
resources.qrc
+
+target.path = /root
+INSTALLS += target
diff --git a/app/gui/oven_control/ovencontroller.cpp b/app/gui/oven_control/ovencontroller.cpp
index b5c490c..68b97e2 100644
--- a/app/gui/oven_control/ovencontroller.cpp
+++ b/app/gui/oven_control/ovencontroller.cpp
@@ -1,6 +1,6 @@
#include "ovencontroller.h"
-OvenController::OvenController()
+OvenController::OvenController(QObject *parent) : OvenInterface(parent)
{
}
diff --git a/app/gui/oven_control/ovencontroller.h b/app/gui/oven_control/ovencontroller.h
index d944531..7e8ce0f 100644
--- a/app/gui/oven_control/ovencontroller.h
+++ b/app/gui/oven_control/ovencontroller.h
@@ -14,7 +14,7 @@ class OvenController : public OvenInterface
oven_state_t state;
public:
- OvenController();
+ OvenController(QObject *parent = 0);
void setUdpHandler(UdpHandler *udp);
int currentTemp();