8c2952457
김태훈
응용 프로그램 추가
|
1
2
3
4
5
6
|
#include "manualcookwindow.h"
#include "ui_manualcookwindow.h"
#include <QSignalMapper>
#include <QTimer>
#include <QtDebug>
|
05f2a7552
김태훈
image 관리 구조 변경
|
7
|
#include "preheatpopup.h"
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
8
|
#include "cooldownpopup.h"
|
f588aa273
김태훈
부가 기능 로직 추가
|
9
10
11
|
#include "cookhistory.h"
#include "favoritenamepopup.h"
#include "confirmpopup.h"
|
05f2a7552
김태훈
image 관리 구조 변경
|
12
|
|
bb26a0523
김태훈
소스 코드 정리
|
13
|
#include <QTime>
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
14
|
ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) :
|
8c2952457
김태훈
응용 프로그램 추가
|
15
|
QMainWindow(parent),
|
3f52600cc
김태훈
소스 코드 구조 개선
|
16
|
ui(new Ui::ManualCookWindow)
|
8c2952457
김태훈
응용 프로그램 추가
|
17
18
|
{
ui->setupUi(this);
|
6f96c947a
김태훈
GUI 0.1.4
|
19
|
ui->clockContainer->setParent(ui->upperStack);
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
20
|
ui->closeDoorWidget->setParent(ui->upperStack);
|
05f2a7552
김태훈
image 관리 구조 변경
|
21
22
|
ui->outerStack->setParent(ui->bodyStack);
ui->innerStack->setParent(ui->bodyStack);
|
6f96c947a
김태훈
GUI 0.1.4
|
23
|
setAttribute(Qt::WA_DeleteOnClose);
|
3f52600cc
김태훈
소스 코드 구조 개선
|
24
|
oven = Oven::getInstance();
|
8c2952457
김태훈
응용 프로그램 추가
|
25
|
connect(oven, SIGNAL(changed(Oven*)), this, SLOT(onOvenUpdated(Oven*)));
|
8c2952457
김태훈
응용 프로그램 추가
|
26
27
28
|
connect(ui->humiditySlider, SIGNAL(valueChanged(int)), oven, SLOT(setHumidity(int)));
connect(ui->tempSlider, SIGNAL(valueChanged(int)), oven, SLOT(setTemp(int)));
connect(ui->timeSlider, SIGNAL(valueChanged(int)), oven, SLOT(setTime(int)));
|
bb26a0523
김태훈
소스 코드 정리
|
29
30
|
connect(ui->timeSlider, SIGNAL(valueChanged(int)), &startCookingTimer, SLOT(start()));
connect(ui->timeSlider, SIGNAL(valueChanged(int)), this, SLOT(updateLabels()));
|
8c2952457
김태훈
응용 프로그램 추가
|
31
32
33
34
35
36
37
|
connect(ui->interTempSlider, SIGNAL(valueChanged(int)), oven, SLOT(setInterTemp(int)));
connect(ui->humiditySlider, SIGNAL(sliderMoved(int)), this, SLOT(updateLabels()));
connect(ui->tempSlider, SIGNAL(sliderMoved(int)), this, SLOT(updateLabels()));
connect(ui->timeSlider, SIGNAL(sliderMoved(int)), this, SLOT(updateLabels()));
connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), this, SLOT(updateLabels()));
connect(ui->innerInterTempSlider, SIGNAL(sliderMoved(int)), this, SLOT(updateLabels()));
|
ae1095876
김태훈
중심 온도 설정 창에서 중심 온...
|
38
|
connect(ui->innerInterTempSlider, SIGNAL(valueChanged(int)), this, SLOT(updateLabels()));
|
8c2952457
김태훈
응용 프로그램 추가
|
39
|
|
bb26a0523
김태훈
소스 코드 정리
|
40
41
|
checkTimeTimer.setInterval(100);
connect(&checkTimeTimer, SIGNAL(timeout()), SLOT(checkTime()));
|
8c2952457
김태훈
응용 프로그램 추가
|
42
|
|
bb26a0523
김태훈
소스 코드 정리
|
43
44
45
46
47
48
49
50
51
52
53
|
startCookingTimer.setSingleShot(true);
startCookingTimer.setInterval(3000);
connect(&startCookingTimer, SIGNAL(timeout()), SLOT(start()));
showCurrentHumidityTimer.setSingleShot(true);
showCurrentHumidityTimer.setInterval(3000);
connect(&showCurrentHumidityTimer, SIGNAL(timeout()), SLOT(showCurrentHumidity()));
showCurrentTempTimer.setSingleShot(true);
showCurrentTempTimer.setInterval(3000);
connect(&showCurrentTempTimer, SIGNAL(timeout()), SLOT(showCurrentTemp()));
|
8c2952457
김태훈
응용 프로그램 추가
|
54
55
|
ui->bodyStack->setCurrentIndex(0);
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
56
|
|
bb26a0523
김태훈
소스 코드 정리
|
57
58
59
60
61
62
63
64
|
QTimer *setupAnimationTimer = new QTimer(this);
setupAnimationTimer->setSingleShot(true);
connect(setupAnimationTimer, SIGNAL(timeout()), SLOT(setupAnimation()));
oven->setDefault(mode);
setupAnimationTimer->start(0);
}
|
f588aa273
김태훈
부가 기능 로직 추가
|
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
ManualCookWindow::ManualCookWindow(QWidget *parent, ManualCookSetting setting)
: ManualCookWindow(parent, setting.mode)
{
oven->setHumidity(setting.humidity);
oven->setTemp(setting.temp);
oven->setTime(setting.time);
oven->setFan(setting.fan);
oven->setInterTempEnabled(setting.coreTempEnabled);
oven->setInterTemp(setting.coreTemp);
startCookingTimer.start();
onOvenUpdated(oven);
}
|
bb26a0523
김태훈
소스 코드 정리
|
79
80
81
82
83
84
85
|
ManualCookWindow::~ManualCookWindow()
{
delete ui;
}
void ManualCookWindow::setupAnimation()
{
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
86
87
88
89
90
91
92
93
94
95
|
ui->openDoorAnimation->load(":/images/animation/door_big_09.png");
ui->openDoorAnimation->load(":/images/animation/door_big_08.png");
ui->openDoorAnimation->load(":/images/animation/door_big_07.png");
ui->openDoorAnimation->load(":/images/animation/door_big_06.png");
ui->openDoorAnimation->load(":/images/animation/door_big_05.png");
ui->openDoorAnimation->load(":/images/animation/door_big_04.png");
ui->openDoorAnimation->load(":/images/animation/door_big_03.png");
ui->openDoorAnimation->load(":/images/animation/door_big_02.png");
ui->openDoorAnimation->load(":/images/animation/door_big_01.png");
ui->openDoorAnimation->start(300);
|
8c2952457
김태훈
응용 프로그램 추가
|
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
|
}
void ManualCookWindow::checkTime()
{
if (oven->cooking() && !ui->timeSlider->isSliderDown())
{
bool old = ui->timeSlider->blockSignals(true);
ui->timeSlider->setSliderPosition(oven->time());
ui->timeSlider->blockSignals(old);
updateLabels();
}
}
void ManualCookWindow::showCurrentHumidity()
{
showCurrentHumidity_ = true;
updateLabels();
}
void ManualCookWindow::hideCurrentHumidity()
{
showCurrentHumidity_ = false;
updateLabels();
}
void ManualCookWindow::showCurrentTemp()
{
showCurrentTemp_ = true;
updateLabels();
}
void ManualCookWindow::hideCurrentTemp()
{
showCurrentTemp_ = false;
updateLabels();
}
void ManualCookWindow::updateLabels()
{
QString buf;
int humidity;
if (showCurrentHumidity_)
humidity = oven->currentHumidity();
else if (ui->humiditySlider->isSliderDown())
humidity = ui->humiditySlider->sliderPosition();
else
humidity = oven->humidity();
ui->humidityLabel->setText(buf.sprintf("%d%%", humidity));
int temp;
if (showCurrentTemp_)
temp = oven->currentTemp();
else if (ui->tempSlider->isSliderDown())
temp = ui->tempSlider->sliderPosition();
else
temp = oven->temp();
|
6f96c947a
김태훈
GUI 0.1.4
|
155
|
ui->tempLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">℃</span>", temp));
|
8c2952457
김태훈
응용 프로그램 추가
|
156
157
158
159
160
161
|
int time;
if (ui->timeSlider->isSliderDown())
time = ui->timeSlider->sliderPosition();
else
time = oven->time();
|
c598b01b2
김태훈
GUI 업데이트
|
162
|
if (time >= 3600)
|
6f96c947a
김태훈
GUI 0.1.4
|
163
|
ui->timeLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">시간</span> %02d<span style=\"font-size:11pt;\">분</span>", time / 3600, (time % 3600) / 60));
|
c598b01b2
김태훈
GUI 업데이트
|
164
|
else if (time >= 60)
|
6f96c947a
김태훈
GUI 0.1.4
|
165
|
ui->timeLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">분</span> %02d<span style=\"font-size:11pt;\">초</span>", time / 60, time % 60));
|
c598b01b2
김태훈
GUI 업데이트
|
166
|
else
|
6f96c947a
김태훈
GUI 0.1.4
|
167
|
ui->timeLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">초</span>", time));
|
8c2952457
김태훈
응용 프로그램 추가
|
168
169
170
171
172
173
174
175
|
if (oven->interTempEnabled())
{
int interTemp;
if (ui->interTempSlider->isSliderDown())
interTemp = ui->interTempSlider->sliderPosition();
else
interTemp = oven->interTemp();
|
6f96c947a
김태훈
GUI 0.1.4
|
176
|
ui->interTempLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">℃</span>", interTemp));
|
8c2952457
김태훈
응용 프로그램 추가
|
177
178
|
}
else
|
6f96c947a
김태훈
GUI 0.1.4
|
179
|
ui->interTempLabel->setText("<span style=\"font-size:11pt;\">℃</span>");
|
8c2952457
김태훈
응용 프로그램 추가
|
180
|
|
ae1095876
김태훈
중심 온도 설정 창에서 중심 온...
|
181
182
183
184
185
|
int innerInterTemp = ui->innerInterTempSlider->sliderPosition();
// if (ui->innerInterTempSlider->isSliderDown())
// innerInterTemp = ui->innerInterTempSlider->sliderPosition();
// else
// innerInterTemp = oven->interTemp();
|
8c2952457
김태훈
응용 프로그램 추가
|
186
|
|
6f96c947a
김태훈
GUI 0.1.4
|
187
|
ui->innerInterTempLabel->setText(buf.sprintf("%d<span style=\"font-size:11pt;\">℃</span>", innerInterTemp));
|
8c2952457
김태훈
응용 프로그램 추가
|
188
189
190
191
192
193
|
ui->curHumidityLabel->setText(buf.sprintf("%d", oven->currentHumidity()));
ui->targetHumidityLabel->setText(buf.sprintf("%d", oven->humidity()));
ui->curTempLabel->setText(buf.sprintf("%d", oven->currentTemp()));
ui->curInterTempLabel->setText(buf.sprintf("%d", oven->currentInterTemp()));
}
|
8c2952457
김태훈
응용 프로그램 추가
|
194
195
|
void ManualCookWindow::onOvenUpdated(Oven *oven)
{
|
8c2952457
김태훈
응용 프로그램 추가
|
196
197
|
switch (oven->mode())
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
198
|
case Define::DryMode:
|
8c2952457
김태훈
응용 프로그램 추가
|
199
|
ui->dryheatButton->setChecked(true);
|
8c2952457
김태훈
응용 프로그램 추가
|
200
|
break;
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
201
|
case Define::SteamMode:
|
8c2952457
김태훈
응용 프로그램 추가
|
202
|
ui->steamButton->setChecked(true);
|
8c2952457
김태훈
응용 프로그램 추가
|
203
|
break;
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
204
|
case Define::CombiMode:
|
8c2952457
김태훈
응용 프로그램 추가
|
205
|
ui->combiButton->setChecked(true);
|
8c2952457
김태훈
응용 프로그램 추가
|
206
207
208
209
210
211
212
213
|
break;
default:
break;
}
bool old;
old = ui->humiditySlider->blockSignals(true);
ui->humiditySlider->setValue(oven->humidity());
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
214
|
ui->humiditySlider->setEnabled(oven->mode() == Define::CombiMode);
|
8c2952457
김태훈
응용 프로그램 추가
|
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
|
ui->humiditySlider->blockSignals(old);
old = ui->tempSlider->blockSignals(true);
ui->tempSlider->setRange(oven->minTemp(), oven->maxTemp());
ui->tempSlider->setValue(oven->temp());
ui->tempSlider->blockSignals(old);
if (!ui->timeSlider->isSliderDown())
{
old = ui->timeSlider->blockSignals(true);
ui->timeSlider->setValue(oven->time());
ui->timeSlider->blockSignals(old);
}
// ui->interTempButton->setChecked(oven->interTempEnabled());
if (oven->interTempEnabled())
ui->interTempButton->setStyleSheet("\
|
6f96c947a
김태훈
GUI 0.1.4
|
232
|
QPushButton {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
233
|
image: url(:/images/slider_icon/core_temp_enabled.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
234
|
}\
|
6f96c947a
김태훈
GUI 0.1.4
|
235
|
QPushButton:pressed {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
236
|
image: url(:/images/slider_icon/core_temp_ov.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
237
238
239
|
}");
else
ui->interTempButton->setStyleSheet("\
|
6f96c947a
김태훈
GUI 0.1.4
|
240
|
QPushButton {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
241
|
image: url(:/images/slider_icon/core_temp.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
242
|
}\
|
6f96c947a
김태훈
GUI 0.1.4
|
243
|
QPushButton:pressed {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
244
|
image: url(:/images/slider_icon/core_temp_ov.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
245
246
247
248
249
250
251
252
253
254
255
256
|
}");
old = ui->interTempSlider->blockSignals(true);
ui->interTempSlider->setEnabled(oven->interTempEnabled());
ui->interTempSlider->setRange(oven->minInterTemp(), oven->maxInterTemp());
ui->interTempSlider->setValue(oven->interTemp());
ui->interTempSlider->blockSignals(old);
old = ui->innerInterTempSlider->blockSignals(true);
ui->innerInterTempSlider->setRange(oven->minInterTemp(), oven->maxInterTemp());
ui->innerInterTempSlider->setValue(oven->interTemp());
ui->innerInterTempSlider->blockSignals(old);
|
c598b01b2
김태훈
GUI 업데이트
|
257
258
|
if (oven->cooking())
ui->runStopButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
259
|
"border-image: url(:/images/manual_button/stop.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
260
261
|
else
ui->runStopButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
262
|
"border-image: url(:/images/manual_button/run.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
263
264
265
|
if (oven->damper())
ui->damperButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
266
|
"background-image: url(:/images/manual_button/damper_open.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
267
268
|
else
ui->damperButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
269
|
"background-image: url(:/images/manual_button/damper_close.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
270
271
272
|
if (oven->humidification())
ui->humidificationButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
273
|
"background-image: url(:/images/manual_button/side_nozzle_open.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
274
275
|
else
ui->humidificationButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
276
|
"background-image: url(:/images/manual_button/side_nozzle_close.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
277
278
279
280
281
|
switch (oven->fan())
{
case 1:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
282
|
"background-image: url(:/images/manual_button/fan_1.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
283
284
285
|
break;
case 2:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
286
|
"background-image: url(:/images/manual_button/fan_2.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
287
288
289
|
break;
case 3:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
290
|
"background-image: url(:/images/manual_button/fan_3.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
291
292
293
|
break;
case 4:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
294
|
"background-image: url(:/images/manual_button/fan_4.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
295
296
297
|
break;
case 5:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
298
|
"background-image: url(:/images/manual_button/fan_5.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
299
300
301
|
break;
default:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
302
|
"background-image: url(:/images/manual_button/fan_1.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
303
304
|
break;
}
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
305
306
307
308
|
if (oven->paused() && !oven->cooldown() && oven->door())
ui->upperStack->setCurrentIndex(1);
else
ui->upperStack->setCurrentIndex(0);
|
8c2952457
김태훈
응용 프로그램 추가
|
309
310
|
updateLabels();
}
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
311
|
void ManualCookWindow::setOvenDefault(Define::Mode mode)
|
8c2952457
김태훈
응용 프로그램 추가
|
312
|
{
|
bb26a0523
김태훈
소스 코드 정리
|
313
314
315
316
317
318
319
320
|
stop();
oven->setDefault(mode);
ui->bodyStack->setCurrentIndex(0);
}
void ManualCookWindow::start()
{
|
f588aa273
김태훈
부가 기능 로직 추가
|
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
|
if (oven->time() > 0)
{
if (startCookingTimer.isActive())
startCookingTimer.stop();
oven->startCooking();
checkTimeTimer.start();
ManualCookSetting s;
s.mode = oven->mode();
s.humidity = oven->humidity();
s.temp = oven->temp();
s.time = oven->time();
s.fan = oven->fan();
s.coreTempEnabled = oven->interTempEnabled();
s.coreTemp = oven->interTemp();
CookHistory::record(s);
}
|
bb26a0523
김태훈
소스 코드 정리
|
340
341
342
343
344
345
346
347
348
349
350
|
}
void ManualCookWindow::stop()
{
oven->stop();
startCookingTimer.stop();
checkTimeTimer.stop();
}
void ManualCookWindow::on_steamButton_clicked()
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
351
|
setOvenDefault(Define::SteamMode);
|
bb26a0523
김태훈
소스 코드 정리
|
352
353
354
355
|
}
void ManualCookWindow::on_combiButton_clicked()
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
356
|
setOvenDefault(Define::CombiMode);
|
bb26a0523
김태훈
소스 코드 정리
|
357
358
359
360
|
}
void ManualCookWindow::on_dryheatButton_clicked()
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
361
|
setOvenDefault(Define::DryMode);
|
bb26a0523
김태훈
소스 코드 정리
|
362
363
364
365
366
367
368
369
370
371
372
|
}
void ManualCookWindow::on_humidityButton_pressed()
{
showCurrentHumidityTimer.start();
}
void ManualCookWindow::on_humidityButton_released()
{
if (showCurrentHumidityTimer.isActive())
showCurrentHumidityTimer.stop();
|
c598b01b2
김태훈
GUI 업데이트
|
373
|
else
|
bb26a0523
김태훈
소스 코드 정리
|
374
|
hideCurrentHumidity();
|
8c2952457
김태훈
응용 프로그램 추가
|
375
|
}
|
bb26a0523
김태훈
소스 코드 정리
|
376
|
void ManualCookWindow::on_tempButton_pressed()
|
8c2952457
김태훈
응용 프로그램 추가
|
377
|
{
|
bb26a0523
김태훈
소스 코드 정리
|
378
379
|
showCurrentTempTimer.start();
}
|
8c2952457
김태훈
응용 프로그램 추가
|
380
|
|
bb26a0523
김태훈
소스 코드 정리
|
381
382
383
384
385
386
387
388
389
390
391
392
393
394
|
void ManualCookWindow::on_tempButton_released()
{
if (showCurrentTempTimer.isActive())
showCurrentTempTimer.stop();
else
hideCurrentTemp();
}
void ManualCookWindow::on_interTempButton_clicked()
{
if (oven->interTempEnabled())
oven->setInterTempEnabled(false);
else
ui->bodyStack->setCurrentIndex(1);
|
8c2952457
김태훈
응용 프로그램 추가
|
395
396
397
398
399
400
401
402
403
404
405
406
|
}
void ManualCookWindow::on_goOuterButton_clicked()
{
ui->bodyStack->setCurrentIndex(0);
}
void ManualCookWindow::on_applyButton_clicked()
{
ui->bodyStack->setCurrentIndex(0);
oven->setInterTemp(ui->innerInterTempSlider->value());
|
8c2952457
김태훈
응용 프로그램 추가
|
407
|
oven->setInterTempEnabled(true);
|
8c2952457
김태훈
응용 프로그램 추가
|
408
|
}
|
bb26a0523
김태훈
소스 코드 정리
|
409
|
void ManualCookWindow::on_runStopButton_clicked()
|
8c2952457
김태훈
응용 프로그램 추가
|
410
|
{
|
bb26a0523
김태훈
소스 코드 정리
|
411
|
if (oven->cooking())
|
bb26a0523
김태훈
소스 코드 정리
|
412
|
stop();
|
8c2952457
김태훈
응용 프로그램 추가
|
413
|
else
|
f588aa273
김태훈
부가 기능 로직 추가
|
414
|
start();
|
bb26a0523
김태훈
소스 코드 정리
|
415
416
417
418
419
420
421
422
423
|
}
void ManualCookWindow::on_fanButton_clicked()
{
int fan = oven->fan() + 1;
if (fan > oven->maxFan())
fan = oven->minFan();
oven->setFan(fan);
|
8c2952457
김태훈
응용 프로그램 추가
|
424
425
426
427
|
}
void ManualCookWindow::on_preheatButton_clicked()
{
|
bb26a0523
김태훈
소스 코드 정리
|
428
|
startCookingTimer.stop();
|
4fc65fb81
김태훈
GUI V0.1.6(이 버전으로...
|
429
|
|
05f2a7552
김태훈
image 관리 구조 변경
|
430
431
432
|
PreheatPopup *p = new PreheatPopup(this, oven);
p->setWindowModality(Qt::WindowModal);
p->showFullScreen();
|
8c2952457
김태훈
응용 프로그램 추가
|
433
434
435
436
|
}
void ManualCookWindow::on_damperButton_clicked()
{
|
c598b01b2
김태훈
GUI 업데이트
|
437
438
|
if (oven->damper())
oven->closeDamper();
|
8c2952457
김태훈
응용 프로그램 추가
|
439
|
else
|
c598b01b2
김태훈
GUI 업데이트
|
440
|
oven->openDamper();
|
8c2952457
김태훈
응용 프로그램 추가
|
441
442
443
444
|
}
void ManualCookWindow::on_humidificationButton_clicked()
{
|
c598b01b2
김태훈
GUI 업데이트
|
445
446
|
if (oven->humidification())
oven->stopHumidification();
|
8c2952457
김태훈
응용 프로그램 추가
|
447
|
else
|
c598b01b2
김태훈
GUI 업데이트
|
448
|
oven->startHumidification();
|
8c2952457
김태훈
응용 프로그램 추가
|
449
450
451
452
|
}
void ManualCookWindow::on_repeatButton_clicked()
{
|
8c2952457
김태훈
응용 프로그램 추가
|
453
|
|
8c2952457
김태훈
응용 프로그램 추가
|
454
455
456
457
|
}
void ManualCookWindow::on_cooldownButton_clicked()
{
|
bb26a0523
김태훈
소스 코드 정리
|
458
|
startCookingTimer.stop();
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
459
460
461
462
|
CooldownPopup *p = new CooldownPopup(this, oven);
p->setWindowModality(Qt::WindowModal);
p->showFullScreen();
|
8c2952457
김태훈
응용 프로그램 추가
|
463
464
465
466
|
}
void ManualCookWindow::on_reserveButton_clicked()
{
|
8c2952457
김태훈
응용 프로그램 추가
|
467
|
|
8c2952457
김태훈
응용 프로그램 추가
|
468
469
470
471
|
}
void ManualCookWindow::on_favoritesButton_clicked()
{
|
f588aa273
김태훈
부가 기능 로직 추가
|
472
473
474
475
476
|
if (oven->cooking())
return;
ConfirmPopup *p = new ConfirmPopup(this, tr("즐겨찾기 항목에 추가하시겠습니까?"));
p->showFullScreen();
|
8c2952457
김태훈
응용 프로그램 추가
|
477
|
|
f588aa273
김태훈
부가 기능 로직 추가
|
478
479
480
481
482
483
484
|
connect(p, SIGNAL(accepted()), SLOT(addFavorite()));
if (startCookingTimer.isActive())
{
startCookingTimer.stop();
connect(p, SIGNAL(rejected()), &startCookingTimer, SLOT(start()));
}
|
8c2952457
김태훈
응용 프로그램 추가
|
485
|
}
|
bb26a0523
김태훈
소스 코드 정리
|
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
|
void ManualCookWindow::on_goBackStackButton_clicked()
{
ui->buttonStack->setCurrentIndex(1);
}
void ManualCookWindow::on_goFrontStackButton_clicked()
{
ui->buttonStack->setCurrentIndex(0);
}
void ManualCookWindow::on_backButton_clicked()
{
stop();
close();
}
|
f588aa273
김태훈
부가 기능 로직 추가
|
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
|
void ManualCookWindow::addFavorite()
{
ManualCookSetting s;
s.mode = oven->mode();
s.humidity = oven->humidity();
s.temp = oven->temp();
s.time = oven->time();
s.fan = oven->fan();
s.coreTempEnabled = oven->interTempEnabled();
s.coreTemp = oven->interTemp();
FavoriteNamePopup *p = new FavoriteNamePopup(this, s);
p->showFullScreen();
}
|