8c2952457
김태훈
응용 프로그램 추가
|
1
2
3
4
5
6
|
#include "manualcookwindow.h"
#include "ui_manualcookwindow.h"
#include <QSignalMapper>
#include <QTimer>
#include <QtDebug>
|
ac60b5cec
김태훈
음향 효과 일부 적용 및 소스 ...
|
7
|
#include "soundplayer.h"
|
05f2a7552
김태훈
image 관리 구조 변경
|
8
|
#include "preheatpopup.h"
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
9
|
#include "cooldownpopup.h"
|
f588aa273
김태훈
부가 기능 로직 추가
|
10
11
12
|
#include "cookhistory.h"
#include "favoritenamepopup.h"
#include "confirmpopup.h"
|
2bfd3a050
김태훈
환경 설정 대응
|
13
14
|
#include "stringer.h"
#include "config.h"
|
d35b8bcdf
김태훈
수동 요리의 중심 요리 설정 화...
|
15
|
#include "coretempsettingpopup.h"
|
0e279295f
김태훈
수동 요리 구현
|
16
17
|
#include "reservetimepopup.h"
#include "reservedtimepopup.h"
|
e00c6a2a9
김태훈
기능 추가 구현
|
18
19
20
21
|
#include "mainwindow.h"
#include "configwindow.h"
#include "primewindow.h"
#include "washwindow.h"
|
05f2a7552
김태훈
image 관리 구조 변경
|
22
|
|
bb26a0523
김태훈
소스 코드 정리
|
23
|
#include <QTime>
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
24
|
ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) :
|
8c2952457
김태훈
응용 프로그램 추가
|
25
|
QMainWindow(parent),
|
213c24135
김태훈
수동 요리 반복 추가
|
26
27
|
ui(new Ui::ManualCookWindow),
repeat(false)
|
8c2952457
김태훈
응용 프로그램 추가
|
28
29
|
{
ui->setupUi(this);
|
6f96c947a
김태훈
GUI 0.1.4
|
30
|
ui->clockContainer->setParent(ui->upperStack);
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
31
|
ui->closeDoorWidget->setParent(ui->upperStack);
|
6f96c947a
김태훈
GUI 0.1.4
|
32
|
setAttribute(Qt::WA_DeleteOnClose);
|
3f52600cc
김태훈
소스 코드 구조 개선
|
33
|
oven = Oven::getInstance();
|
8c2952457
김태훈
응용 프로그램 추가
|
34
|
connect(oven, SIGNAL(changed(Oven*)), this, SLOT(onOvenUpdated(Oven*)));
|
8c2952457
김태훈
응용 프로그램 추가
|
35
36
37
|
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
김태훈
소스 코드 정리
|
38
39
|
connect(ui->timeSlider, SIGNAL(valueChanged(int)), &startCookingTimer, SLOT(start()));
connect(ui->timeSlider, SIGNAL(valueChanged(int)), this, SLOT(updateLabels()));
|
8c2952457
김태훈
응용 프로그램 추가
|
40
41
42
43
44
45
|
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()));
|
8c2952457
김태훈
응용 프로그램 추가
|
46
|
|
bb26a0523
김태훈
소스 코드 정리
|
47
|
startCookingTimer.setSingleShot(true);
|
213c24135
김태훈
수동 요리 반복 추가
|
48
|
startCookingTimer.setInterval(2000);
|
bb26a0523
김태훈
소스 코드 정리
|
49
50
51
|
connect(&startCookingTimer, SIGNAL(timeout()), SLOT(start()));
showCurrentHumidityTimer.setSingleShot(true);
|
213c24135
김태훈
수동 요리 반복 추가
|
52
|
showCurrentHumidityTimer.setInterval(2000);
|
bb26a0523
김태훈
소스 코드 정리
|
53
54
55
|
connect(&showCurrentHumidityTimer, SIGNAL(timeout()), SLOT(showCurrentHumidity()));
showCurrentTempTimer.setSingleShot(true);
|
213c24135
김태훈
수동 요리 반복 추가
|
56
|
showCurrentTempTimer.setInterval(2000);
|
bb26a0523
김태훈
소스 코드 정리
|
57
|
connect(&showCurrentTempTimer, SIGNAL(timeout()), SLOT(showCurrentTemp()));
|
8c2952457
김태훈
응용 프로그램 추가
|
58
|
|
bb26a0523
김태훈
소스 코드 정리
|
59
|
oven->setDefault(mode);
|
d35b8bcdf
김태훈
수동 요리의 중심 요리 설정 화...
|
60
61
|
checkTimeTimer.setInterval(100);
connect(&checkTimeTimer, SIGNAL(timeout()), SLOT(checkTime()));
|
2bfd3a050
김태훈
환경 설정 대응
|
62
|
checkTimeTimer.start();
|
bbd7d8f29
김태훈
버튼 음향 추가
|
63
|
foreach (QPushButton *button, findChildren<QPushButton *>())
|
bbd7d8f29
김태훈
버튼 음향 추가
|
64
|
connect(button, &QPushButton::pressed, SoundPlayer::playClick);
|
d35b8bcdf
김태훈
수동 요리의 중심 요리 설정 화...
|
65
66
|
QTimer::singleShot(0, this, SLOT(setupAnimation()));
|
bb26a0523
김태훈
소스 코드 정리
|
67
|
}
|
f588aa273
김태훈
부가 기능 로직 추가
|
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
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
김태훈
소스 코드 정리
|
82
83
84
85
86
87
88
|
ManualCookWindow::~ManualCookWindow()
{
delete ui;
}
void ManualCookWindow::setupAnimation()
{
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
89
90
91
92
93
94
95
96
97
98
|
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
김태훈
응용 프로그램 추가
|
99
100
101
102
|
}
void ManualCookWindow::checkTime()
{
|
2bfd3a050
김태훈
환경 설정 대응
|
103
|
if (!ui->timeSlider->isSliderDown())
|
8c2952457
김태훈
응용 프로그램 추가
|
104
105
106
107
108
109
110
|
{
bool old = ui->timeSlider->blockSignals(true);
ui->timeSlider->setSliderPosition(oven->time());
ui->timeSlider->blockSignals(old);
updateLabels();
}
|
88f8e42ea
김태훈
수동 요리 중 목표 중심 온도에...
|
111
112
113
114
115
|
if (oven->interTempEnabled() && oven->currentInterTemp() >= oven->interTemp())
{
oven->stopCooking();
}
|
213c24135
김태훈
수동 요리 반복 추가
|
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
if (repeat && !oven->cooking())
{
repeat = false;
ui->repeatButton->setStyleSheet("\
QPushButton { background-image: url(:/images/manual_button/repeat.png); }\
QPushButton:pressed { background-image: url(:/images/manual_button/repeat_ov.png); }");
oven->setMode(repeatSetting.mode);
oven->setHumidity(repeatSetting.humidity);
oven->setTemp(repeatSetting.temp);
oven->setTime(repeatSetting.time);
oven->setInterTempEnabled(repeatSetting.coreTempEnabled);
oven->setInterTemp(repeatSetting.coreTemp);
}
|
8c2952457
김태훈
응용 프로그램 추가
|
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
}
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();
|
2bfd3a050
김태훈
환경 설정 대응
|
179
|
ui->tempLabel->setText(Stringer::temperature(temp, Stringer::fontSize14));
|
8c2952457
김태훈
응용 프로그램 추가
|
180
|
|
2bfd3a050
김태훈
환경 설정 대응
|
181
|
int msecs;
|
8c2952457
김태훈
응용 프로그램 추가
|
182
|
if (ui->timeSlider->isSliderDown())
|
2bfd3a050
김태훈
환경 설정 대응
|
183
|
msecs = ui->timeSlider->sliderPosition() * 1000;
|
8c2952457
김태훈
응용 프로그램 추가
|
184
|
else
|
2bfd3a050
김태훈
환경 설정 대응
|
185
|
msecs = oven->msecs();
|
8c2952457
김태훈
응용 프로그램 추가
|
186
|
|
2bfd3a050
김태훈
환경 설정 대응
|
187
|
ui->timeLabel->setText(Stringer::remainingTime(msecs, Stringer::fontSize14));
|
8c2952457
김태훈
응용 프로그램 추가
|
188
189
190
191
192
193
194
195
|
if (oven->interTempEnabled())
{
int interTemp;
if (ui->interTempSlider->isSliderDown())
interTemp = ui->interTempSlider->sliderPosition();
else
interTemp = oven->interTemp();
|
2bfd3a050
김태훈
환경 설정 대응
|
196
|
ui->interTempLabel->setText(Stringer::temperature(interTemp, Stringer::fontSize14));
|
8c2952457
김태훈
응용 프로그램 추가
|
197
198
|
}
else
|
2bfd3a050
김태훈
환경 설정 대응
|
199
|
ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14));
|
8c2952457
김태훈
응용 프로그램 추가
|
200
|
}
|
8c2952457
김태훈
응용 프로그램 추가
|
201
202
|
void ManualCookWindow::onOvenUpdated(Oven *oven)
{
|
8c2952457
김태훈
응용 프로그램 추가
|
203
204
|
switch (oven->mode())
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
205
|
case Define::DryMode:
|
8c2952457
김태훈
응용 프로그램 추가
|
206
|
ui->dryheatButton->setChecked(true);
|
8c2952457
김태훈
응용 프로그램 추가
|
207
|
break;
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
208
|
case Define::SteamMode:
|
8c2952457
김태훈
응용 프로그램 추가
|
209
|
ui->steamButton->setChecked(true);
|
8c2952457
김태훈
응용 프로그램 추가
|
210
|
break;
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
211
|
case Define::CombiMode:
|
8c2952457
김태훈
응용 프로그램 추가
|
212
|
ui->combiButton->setChecked(true);
|
8c2952457
김태훈
응용 프로그램 추가
|
213
214
215
216
217
218
219
220
|
break;
default:
break;
}
bool old;
old = ui->humiditySlider->blockSignals(true);
ui->humiditySlider->setValue(oven->humidity());
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
221
|
ui->humiditySlider->setEnabled(oven->mode() == Define::CombiMode);
|
8c2952457
김태훈
응용 프로그램 추가
|
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
|
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
|
239
|
QPushButton {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
240
|
image: url(:/images/slider_icon/core_temp_enabled.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
241
|
}\
|
6f96c947a
김태훈
GUI 0.1.4
|
242
|
QPushButton:pressed {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
243
|
image: url(:/images/slider_icon/core_temp_ov.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
244
245
246
|
}");
else
ui->interTempButton->setStyleSheet("\
|
6f96c947a
김태훈
GUI 0.1.4
|
247
|
QPushButton {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
248
|
image: url(:/images/slider_icon/core_temp.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
249
|
}\
|
6f96c947a
김태훈
GUI 0.1.4
|
250
|
QPushButton:pressed {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
251
|
image: url(:/images/slider_icon/core_temp_ov.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
252
253
254
255
256
257
258
|
}");
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);
|
c598b01b2
김태훈
GUI 업데이트
|
259
260
|
if (oven->cooking())
ui->runStopButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
261
|
"border-image: url(:/images/manual_button/stop.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
262
263
|
else
ui->runStopButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
264
|
"border-image: url(:/images/manual_button/run.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
265
266
267
|
if (oven->damper())
ui->damperButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
268
|
"background-image: url(:/images/manual_button/damper_open.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
269
270
|
else
ui->damperButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
271
|
"background-image: url(:/images/manual_button/damper_close.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
272
273
274
|
if (oven->humidification())
ui->humidificationButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
275
|
"background-image: url(:/images/manual_button/side_nozzle_open.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
276
277
|
else
ui->humidificationButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
278
|
"background-image: url(:/images/manual_button/side_nozzle_close.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
279
280
281
282
283
|
switch (oven->fan())
{
case 1:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
284
|
"background-image: url(:/images/manual_button/fan_1.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
285
286
287
|
break;
case 2:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
288
|
"background-image: url(:/images/manual_button/fan_2.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
289
290
291
|
break;
case 3:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
292
|
"background-image: url(:/images/manual_button/fan_3.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
293
294
295
|
break;
case 4:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
296
|
"background-image: url(:/images/manual_button/fan_4.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
297
298
299
|
break;
case 5:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
300
|
"background-image: url(:/images/manual_button/fan_5.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
301
302
303
|
break;
default:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
304
|
"background-image: url(:/images/manual_button/fan_1.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
305
306
|
break;
}
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
307
308
309
310
|
if (oven->paused() && !oven->cooldown() && oven->door())
ui->upperStack->setCurrentIndex(1);
else
ui->upperStack->setCurrentIndex(0);
|
213c24135
김태훈
수동 요리 반복 추가
|
311
312
313
314
315
316
317
318
319
320
321
322
|
if (oven->cooking() || oven->cooldown() || oven->preheating())
{
ui->reserveButton->hide();
ui->favoriteButton->hide();
ui->repeatButton->show();
}
else
{
ui->reserveButton->show();
ui->favoriteButton->show();
ui->repeatButton->hide();
}
|
8c2952457
김태훈
응용 프로그램 추가
|
323
324
|
updateLabels();
}
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
325
|
void ManualCookWindow::setOvenDefault(Define::Mode mode)
|
8c2952457
김태훈
응용 프로그램 추가
|
326
|
{
|
bb26a0523
김태훈
소스 코드 정리
|
327
328
329
|
stop();
oven->setDefault(mode);
|
bb26a0523
김태훈
소스 코드 정리
|
330
331
332
333
|
}
void ManualCookWindow::start()
{
|
bbd7d8f29
김태훈
버튼 음향 추가
|
334
335
|
if (oven->cooking())
return;
|
f588aa273
김태훈
부가 기능 로직 추가
|
336
337
|
if (oven->time() > 0)
{
|
c6dd03260
김태훈
요리 시작/종료 관련 음향 효과...
|
338
|
SoundPlayer::playStart();
|
f588aa273
김태훈
부가 기능 로직 추가
|
339
340
341
342
|
if (startCookingTimer.isActive())
startCookingTimer.stop();
oven->startCooking();
|
f588aa273
김태훈
부가 기능 로직 추가
|
343
344
345
346
347
348
349
350
351
352
353
354
|
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
김태훈
소스 코드 정리
|
355
356
357
358
|
}
void ManualCookWindow::stop()
{
|
ac60b5cec
김태훈
음향 효과 일부 적용 및 소스 ...
|
359
360
|
if (oven->cooking())
SoundPlayer::playStop();
|
bb26a0523
김태훈
소스 코드 정리
|
361
362
|
oven->stop();
startCookingTimer.stop();
|
bb26a0523
김태훈
소스 코드 정리
|
363
|
}
|
e00c6a2a9
김태훈
기능 추가 구현
|
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
|
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();
}
void ManualCookWindow::jumpConfig()
{
stop();
ConfigWindow *w = new ConfigWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
MainWindow::jump(w);
}
void ManualCookWindow::jumpFavorites()
{
stop();
PrimeWindow *w = new PrimeWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->listFavorites();
w->showFullScreen();
w->raise();
MainWindow::jump(w);
}
void ManualCookWindow::jumpWash()
{
stop();
WashWindow *w = new WashWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
MainWindow::jump(w);
}
|
bb26a0523
김태훈
소스 코드 정리
|
415
416
|
void ManualCookWindow::on_steamButton_clicked()
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
417
|
setOvenDefault(Define::SteamMode);
|
bb26a0523
김태훈
소스 코드 정리
|
418
419
420
421
|
}
void ManualCookWindow::on_combiButton_clicked()
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
422
|
setOvenDefault(Define::CombiMode);
|
bb26a0523
김태훈
소스 코드 정리
|
423
424
425
426
|
}
void ManualCookWindow::on_dryheatButton_clicked()
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
427
|
setOvenDefault(Define::DryMode);
|
bb26a0523
김태훈
소스 코드 정리
|
428
429
430
431
432
433
434
435
436
437
438
|
}
void ManualCookWindow::on_humidityButton_pressed()
{
showCurrentHumidityTimer.start();
}
void ManualCookWindow::on_humidityButton_released()
{
if (showCurrentHumidityTimer.isActive())
showCurrentHumidityTimer.stop();
|
c598b01b2
김태훈
GUI 업데이트
|
439
|
else
|
bb26a0523
김태훈
소스 코드 정리
|
440
|
hideCurrentHumidity();
|
8c2952457
김태훈
응용 프로그램 추가
|
441
|
}
|
bb26a0523
김태훈
소스 코드 정리
|
442
|
void ManualCookWindow::on_tempButton_pressed()
|
8c2952457
김태훈
응용 프로그램 추가
|
443
|
{
|
bb26a0523
김태훈
소스 코드 정리
|
444
445
|
showCurrentTempTimer.start();
}
|
8c2952457
김태훈
응용 프로그램 추가
|
446
|
|
bb26a0523
김태훈
소스 코드 정리
|
447
448
449
450
451
452
453
454
455
456
457
458
459
|
void ManualCookWindow::on_tempButton_released()
{
if (showCurrentTempTimer.isActive())
showCurrentTempTimer.stop();
else
hideCurrentTemp();
}
void ManualCookWindow::on_interTempButton_clicked()
{
if (oven->interTempEnabled())
oven->setInterTempEnabled(false);
else
|
d35b8bcdf
김태훈
수동 요리의 중심 요리 설정 화...
|
460
461
462
463
|
{
CoreTempSettingPopup *p = new CoreTempSettingPopup(this);
p->show();
}
|
8c2952457
김태훈
응용 프로그램 추가
|
464
|
}
|
bb26a0523
김태훈
소스 코드 정리
|
465
|
void ManualCookWindow::on_runStopButton_clicked()
|
8c2952457
김태훈
응용 프로그램 추가
|
466
|
{
|
bb26a0523
김태훈
소스 코드 정리
|
467
|
if (oven->cooking())
|
bb26a0523
김태훈
소스 코드 정리
|
468
|
stop();
|
8c2952457
김태훈
응용 프로그램 추가
|
469
|
else
|
f588aa273
김태훈
부가 기능 로직 추가
|
470
|
start();
|
bb26a0523
김태훈
소스 코드 정리
|
471
472
473
474
475
476
477
478
479
|
}
void ManualCookWindow::on_fanButton_clicked()
{
int fan = oven->fan() + 1;
if (fan > oven->maxFan())
fan = oven->minFan();
oven->setFan(fan);
|
8c2952457
김태훈
응용 프로그램 추가
|
480
481
482
483
|
}
void ManualCookWindow::on_preheatButton_clicked()
{
|
bb26a0523
김태훈
소스 코드 정리
|
484
|
startCookingTimer.stop();
|
4fc65fb81
김태훈
GUI V0.1.6(이 버전으로...
|
485
|
|
05f2a7552
김태훈
image 관리 구조 변경
|
486
487
488
|
PreheatPopup *p = new PreheatPopup(this, oven);
p->setWindowModality(Qt::WindowModal);
p->showFullScreen();
|
8c2952457
김태훈
응용 프로그램 추가
|
489
490
491
492
|
}
void ManualCookWindow::on_damperButton_clicked()
{
|
c598b01b2
김태훈
GUI 업데이트
|
493
494
|
if (oven->damper())
oven->closeDamper();
|
8c2952457
김태훈
응용 프로그램 추가
|
495
|
else
|
c598b01b2
김태훈
GUI 업데이트
|
496
|
oven->openDamper();
|
8c2952457
김태훈
응용 프로그램 추가
|
497
498
499
500
|
}
void ManualCookWindow::on_humidificationButton_clicked()
{
|
c598b01b2
김태훈
GUI 업데이트
|
501
502
|
if (oven->humidification())
oven->stopHumidification();
|
8c2952457
김태훈
응용 프로그램 추가
|
503
|
else
|
c598b01b2
김태훈
GUI 업데이트
|
504
|
oven->startHumidification();
|
8c2952457
김태훈
응용 프로그램 추가
|
505
506
507
508
|
}
void ManualCookWindow::on_repeatButton_clicked()
{
|
213c24135
김태훈
수동 요리 반복 추가
|
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
|
if (repeat)
{
repeat = false;
ui->repeatButton->setStyleSheet("\
QPushButton { background-image: url(:/images/manual_button/repeat.png); }\
QPushButton:pressed { background-image: url(:/images/manual_button/repeat_ov.png); }");
}
else
{
repeat = true;
ui->repeatButton->setStyleSheet("\
QPushButton { background-image: url(:/images/manual_button/repeat_ov.png); }\
QPushButton:pressed { background-image: url(:/images/manual_button/repeat.png); }");
repeatSetting.mode = oven->mode();
repeatSetting.humidity = oven->humidity();
repeatSetting.temp= oven->temp();
repeatSetting.time = oven->time();
repeatSetting.coreTempEnabled = oven->interTempEnabled();
repeatSetting.coreTemp = oven->interTemp();
}
|
8c2952457
김태훈
응용 프로그램 추가
|
529
530
531
532
|
}
void ManualCookWindow::on_cooldownButton_clicked()
{
|
bb26a0523
김태훈
소스 코드 정리
|
533
|
startCookingTimer.stop();
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
534
535
536
537
|
CooldownPopup *p = new CooldownPopup(this, oven);
p->setWindowModality(Qt::WindowModal);
p->showFullScreen();
|
8c2952457
김태훈
응용 프로그램 추가
|
538
539
540
541
|
}
void ManualCookWindow::on_reserveButton_clicked()
{
|
0e279295f
김태훈
수동 요리 구현
|
542
543
544
545
546
547
548
549
550
|
if (oven->time() > 0)
{
startCookingTimer.stop();
ReserveTimePopup *p = new ReserveTimePopup(this);
connect(p, SIGNAL(timeout()), SLOT(start()));
connect(p, SIGNAL(canceled()), &startCookingTimer, SLOT(start()));
p->showFullScreen();
}
|
8c2952457
김태훈
응용 프로그램 추가
|
551
|
}
|
213c24135
김태훈
수동 요리 반복 추가
|
552
|
void ManualCookWindow::on_favoriteButton_clicked()
|
8c2952457
김태훈
응용 프로그램 추가
|
553
|
{
|
f588aa273
김태훈
부가 기능 로직 추가
|
554
555
556
557
558
|
if (oven->cooking())
return;
ConfirmPopup *p = new ConfirmPopup(this, tr("즐겨찾기 항목에 추가하시겠습니까?"));
p->showFullScreen();
|
8c2952457
김태훈
응용 프로그램 추가
|
559
|
|
f588aa273
김태훈
부가 기능 로직 추가
|
560
561
562
563
564
565
566
|
connect(p, SIGNAL(accepted()), SLOT(addFavorite()));
if (startCookingTimer.isActive())
{
startCookingTimer.stop();
connect(p, SIGNAL(rejected()), &startCookingTimer, SLOT(start()));
}
|
8c2952457
김태훈
응용 프로그램 추가
|
567
|
}
|
bb26a0523
김태훈
소스 코드 정리
|
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
|
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
김태훈
부가 기능 로직 추가
|
584
|
|
e00c6a2a9
김태훈
기능 추가 구현
|
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
|
void ManualCookWindow::on_configButton_clicked()
{
if (oven->cooking())
{
ConfirmPopup *p = new ConfirmPopup(this, tr("요리가 중단되고 환경 설정 모드로 들어갑니다. 진행할까요?"));
p->showFullScreen();
connect(p, SIGNAL(accepted()), SLOT(jumpConfig()));
}
else
{
ConfigWindow *w = new ConfigWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
MainWindow::jump(w);
}
}
void ManualCookWindow::on_favoritesButton_clicked()
{
if (oven->cooking())
{
ConfirmPopup *p = new ConfirmPopup(this, tr("요리가 중단되고 즐겨찾기 모드로 들어갑니다. 진행할까요?"));
p->showFullScreen();
connect(p, SIGNAL(accepted()), SLOT(jumpFavorites()));
}
else
{
PrimeWindow *w = new PrimeWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->listFavorites();
w->showFullScreen();
w->raise();
MainWindow::jump(w);
}
}
void ManualCookWindow::on_washButton_clicked()
{
if (oven->cooking())
{
ConfirmPopup *p = new ConfirmPopup(this, tr("요리가 중단되고 자동 세척 모드로 들어갑니다. 진행할까요?"));
p->showFullScreen();
connect(p, SIGNAL(accepted()), SLOT(jumpWash()));
}
else
{
WashWindow *w = new WashWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
MainWindow::jump(w);
}
}
void ManualCookWindow::on_helpButton_clicked()
|
f588aa273
김태훈
부가 기능 로직 추가
|
647
|
{
|
f588aa273
김태훈
부가 기능 로직 추가
|
648
|
|
f588aa273
김태훈
부가 기능 로직 추가
|
649
|
}
|