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"
|
05f2a7552
김태훈
image 관리 구조 변경
|
18
|
|
bb26a0523
김태훈
소스 코드 정리
|
19
|
#include <QTime>
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
20
|
ManualCookWindow::ManualCookWindow(QWidget *parent, Define::Mode mode) :
|
8c2952457
김태훈
응용 프로그램 추가
|
21
|
QMainWindow(parent),
|
213c24135
김태훈
수동 요리 반복 추가
|
22
23
|
ui(new Ui::ManualCookWindow),
repeat(false)
|
8c2952457
김태훈
응용 프로그램 추가
|
24
25
|
{
ui->setupUi(this);
|
6f96c947a
김태훈
GUI 0.1.4
|
26
|
ui->clockContainer->setParent(ui->upperStack);
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
27
|
ui->closeDoorWidget->setParent(ui->upperStack);
|
6f96c947a
김태훈
GUI 0.1.4
|
28
|
setAttribute(Qt::WA_DeleteOnClose);
|
3f52600cc
김태훈
소스 코드 구조 개선
|
29
|
oven = Oven::getInstance();
|
8c2952457
김태훈
응용 프로그램 추가
|
30
|
connect(oven, SIGNAL(changed(Oven*)), this, SLOT(onOvenUpdated(Oven*)));
|
8c2952457
김태훈
응용 프로그램 추가
|
31
32
33
|
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
김태훈
소스 코드 정리
|
34
35
|
connect(ui->timeSlider, SIGNAL(valueChanged(int)), &startCookingTimer, SLOT(start()));
connect(ui->timeSlider, SIGNAL(valueChanged(int)), this, SLOT(updateLabels()));
|
8c2952457
김태훈
응용 프로그램 추가
|
36
37
38
39
40
41
|
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
김태훈
응용 프로그램 추가
|
42
|
|
bb26a0523
김태훈
소스 코드 정리
|
43
|
startCookingTimer.setSingleShot(true);
|
213c24135
김태훈
수동 요리 반복 추가
|
44
|
startCookingTimer.setInterval(2000);
|
bb26a0523
김태훈
소스 코드 정리
|
45
46
47
|
connect(&startCookingTimer, SIGNAL(timeout()), SLOT(start()));
showCurrentHumidityTimer.setSingleShot(true);
|
213c24135
김태훈
수동 요리 반복 추가
|
48
|
showCurrentHumidityTimer.setInterval(2000);
|
bb26a0523
김태훈
소스 코드 정리
|
49
50
51
|
connect(&showCurrentHumidityTimer, SIGNAL(timeout()), SLOT(showCurrentHumidity()));
showCurrentTempTimer.setSingleShot(true);
|
213c24135
김태훈
수동 요리 반복 추가
|
52
|
showCurrentTempTimer.setInterval(2000);
|
bb26a0523
김태훈
소스 코드 정리
|
53
|
connect(&showCurrentTempTimer, SIGNAL(timeout()), SLOT(showCurrentTemp()));
|
8c2952457
김태훈
응용 프로그램 추가
|
54
|
|
bb26a0523
김태훈
소스 코드 정리
|
55
|
oven->setDefault(mode);
|
d35b8bcdf
김태훈
수동 요리의 중심 요리 설정 화...
|
56
57
|
checkTimeTimer.setInterval(100);
connect(&checkTimeTimer, SIGNAL(timeout()), SLOT(checkTime()));
|
2bfd3a050
김태훈
환경 설정 대응
|
58
|
checkTimeTimer.start();
|
bbd7d8f29
김태훈
버튼 음향 추가
|
59
|
foreach (QPushButton *button, findChildren<QPushButton *>())
|
bbd7d8f29
김태훈
버튼 음향 추가
|
60
|
connect(button, &QPushButton::pressed, SoundPlayer::playClick);
|
d35b8bcdf
김태훈
수동 요리의 중심 요리 설정 화...
|
61
62
|
QTimer::singleShot(0, this, SLOT(setupAnimation()));
|
bb26a0523
김태훈
소스 코드 정리
|
63
|
}
|
f588aa273
김태훈
부가 기능 로직 추가
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
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
김태훈
소스 코드 정리
|
78
79
80
81
82
83
84
|
ManualCookWindow::~ManualCookWindow()
{
delete ui;
}
void ManualCookWindow::setupAnimation()
{
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
85
86
87
88
89
90
91
92
93
94
|
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
김태훈
응용 프로그램 추가
|
95
96
97
98
|
}
void ManualCookWindow::checkTime()
{
|
2bfd3a050
김태훈
환경 설정 대응
|
99
|
if (!ui->timeSlider->isSliderDown())
|
8c2952457
김태훈
응용 프로그램 추가
|
100
101
102
103
104
105
106
|
{
bool old = ui->timeSlider->blockSignals(true);
ui->timeSlider->setSliderPosition(oven->time());
ui->timeSlider->blockSignals(old);
updateLabels();
}
|
88f8e42ea
김태훈
수동 요리 중 목표 중심 온도에...
|
107
108
109
110
111
|
if (oven->interTempEnabled() && oven->currentInterTemp() >= oven->interTemp())
{
oven->stopCooking();
}
|
213c24135
김태훈
수동 요리 반복 추가
|
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
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
김태훈
응용 프로그램 추가
|
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
}
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
김태훈
환경 설정 대응
|
175
|
ui->tempLabel->setText(Stringer::temperature(temp, Stringer::fontSize14));
|
8c2952457
김태훈
응용 프로그램 추가
|
176
|
|
2bfd3a050
김태훈
환경 설정 대응
|
177
|
int msecs;
|
8c2952457
김태훈
응용 프로그램 추가
|
178
|
if (ui->timeSlider->isSliderDown())
|
2bfd3a050
김태훈
환경 설정 대응
|
179
|
msecs = ui->timeSlider->sliderPosition() * 1000;
|
8c2952457
김태훈
응용 프로그램 추가
|
180
|
else
|
2bfd3a050
김태훈
환경 설정 대응
|
181
|
msecs = oven->msecs();
|
8c2952457
김태훈
응용 프로그램 추가
|
182
|
|
2bfd3a050
김태훈
환경 설정 대응
|
183
|
ui->timeLabel->setText(Stringer::remainingTime(msecs, Stringer::fontSize14));
|
8c2952457
김태훈
응용 프로그램 추가
|
184
185
186
187
188
189
190
191
|
if (oven->interTempEnabled())
{
int interTemp;
if (ui->interTempSlider->isSliderDown())
interTemp = ui->interTempSlider->sliderPosition();
else
interTemp = oven->interTemp();
|
2bfd3a050
김태훈
환경 설정 대응
|
192
|
ui->interTempLabel->setText(Stringer::temperature(interTemp, Stringer::fontSize14));
|
8c2952457
김태훈
응용 프로그램 추가
|
193
194
|
}
else
|
2bfd3a050
김태훈
환경 설정 대응
|
195
|
ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14));
|
8c2952457
김태훈
응용 프로그램 추가
|
196
|
}
|
8c2952457
김태훈
응용 프로그램 추가
|
197
198
|
void ManualCookWindow::onOvenUpdated(Oven *oven)
{
|
8c2952457
김태훈
응용 프로그램 추가
|
199
200
|
switch (oven->mode())
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
201
|
case Define::DryMode:
|
8c2952457
김태훈
응용 프로그램 추가
|
202
|
ui->dryheatButton->setChecked(true);
|
8c2952457
김태훈
응용 프로그램 추가
|
203
|
break;
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
204
|
case Define::SteamMode:
|
8c2952457
김태훈
응용 프로그램 추가
|
205
|
ui->steamButton->setChecked(true);
|
8c2952457
김태훈
응용 프로그램 추가
|
206
|
break;
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
207
|
case Define::CombiMode:
|
8c2952457
김태훈
응용 프로그램 추가
|
208
|
ui->combiButton->setChecked(true);
|
8c2952457
김태훈
응용 프로그램 추가
|
209
210
211
212
213
214
215
216
|
break;
default:
break;
}
bool old;
old = ui->humiditySlider->blockSignals(true);
ui->humiditySlider->setValue(oven->humidity());
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
217
|
ui->humiditySlider->setEnabled(oven->mode() == Define::CombiMode);
|
8c2952457
김태훈
응용 프로그램 추가
|
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
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
|
235
|
QPushButton {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
236
|
image: url(:/images/slider_icon/core_temp_enabled.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
237
|
}\
|
6f96c947a
김태훈
GUI 0.1.4
|
238
|
QPushButton:pressed {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
239
|
image: url(:/images/slider_icon/core_temp_ov.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
240
241
242
|
}");
else
ui->interTempButton->setStyleSheet("\
|
6f96c947a
김태훈
GUI 0.1.4
|
243
|
QPushButton {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
244
|
image: url(:/images/slider_icon/core_temp.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
245
|
}\
|
6f96c947a
김태훈
GUI 0.1.4
|
246
|
QPushButton:pressed {\
|
05f2a7552
김태훈
image 관리 구조 변경
|
247
|
image: url(:/images/slider_icon/core_temp_ov.png);\
|
8c2952457
김태훈
응용 프로그램 추가
|
248
249
250
251
252
253
254
|
}");
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 업데이트
|
255
256
|
if (oven->cooking())
ui->runStopButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
257
|
"border-image: url(:/images/manual_button/stop.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
258
259
|
else
ui->runStopButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
260
|
"border-image: url(:/images/manual_button/run.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
261
262
263
|
if (oven->damper())
ui->damperButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
264
|
"background-image: url(:/images/manual_button/damper_open.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
265
266
|
else
ui->damperButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
267
|
"background-image: url(:/images/manual_button/damper_close.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
268
269
270
|
if (oven->humidification())
ui->humidificationButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
271
|
"background-image: url(:/images/manual_button/side_nozzle_open.png)");
|
c598b01b2
김태훈
GUI 업데이트
|
272
273
|
else
ui->humidificationButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
274
|
"background-image: url(:/images/manual_button/side_nozzle_close.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
275
276
277
278
279
|
switch (oven->fan())
{
case 1:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
280
|
"background-image: url(:/images/manual_button/fan_1.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
281
282
283
|
break;
case 2:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
284
|
"background-image: url(:/images/manual_button/fan_2.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
285
286
287
|
break;
case 3:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
288
|
"background-image: url(:/images/manual_button/fan_3.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
289
290
291
|
break;
case 4:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
292
|
"background-image: url(:/images/manual_button/fan_4.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
293
294
295
|
break;
case 5:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
296
|
"background-image: url(:/images/manual_button/fan_5.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
297
298
299
|
break;
default:
ui->fanButton->setStyleSheet(
|
05f2a7552
김태훈
image 관리 구조 변경
|
300
|
"background-image: url(:/images/manual_button/fan_1.png)");
|
8c2952457
김태훈
응용 프로그램 추가
|
301
302
|
break;
}
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
303
304
305
306
|
if (oven->paused() && !oven->cooldown() && oven->door())
ui->upperStack->setCurrentIndex(1);
else
ui->upperStack->setCurrentIndex(0);
|
213c24135
김태훈
수동 요리 반복 추가
|
307
308
309
310
311
312
313
314
315
316
317
318
|
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
김태훈
응용 프로그램 추가
|
319
320
|
updateLabels();
}
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
321
|
void ManualCookWindow::setOvenDefault(Define::Mode mode)
|
8c2952457
김태훈
응용 프로그램 추가
|
322
|
{
|
bb26a0523
김태훈
소스 코드 정리
|
323
324
325
|
stop();
oven->setDefault(mode);
|
bb26a0523
김태훈
소스 코드 정리
|
326
327
328
329
|
}
void ManualCookWindow::start()
{
|
bbd7d8f29
김태훈
버튼 음향 추가
|
330
331
|
if (oven->cooking())
return;
|
ac60b5cec
김태훈
음향 효과 일부 적용 및 소스 ...
|
332
|
SoundPlayer::playStart();
|
f588aa273
김태훈
부가 기능 로직 추가
|
333
334
335
336
337
338
|
if (oven->time() > 0)
{
if (startCookingTimer.isActive())
startCookingTimer.stop();
oven->startCooking();
|
f588aa273
김태훈
부가 기능 로직 추가
|
339
340
341
342
343
344
345
346
347
348
349
350
|
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
김태훈
소스 코드 정리
|
351
352
353
354
|
}
void ManualCookWindow::stop()
{
|
ac60b5cec
김태훈
음향 효과 일부 적용 및 소스 ...
|
355
356
|
if (oven->cooking())
SoundPlayer::playStop();
|
bb26a0523
김태훈
소스 코드 정리
|
357
358
|
oven->stop();
startCookingTimer.stop();
|
bb26a0523
김태훈
소스 코드 정리
|
359
360
361
362
|
}
void ManualCookWindow::on_steamButton_clicked()
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
363
|
setOvenDefault(Define::SteamMode);
|
bb26a0523
김태훈
소스 코드 정리
|
364
365
366
367
|
}
void ManualCookWindow::on_combiButton_clicked()
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
368
|
setOvenDefault(Define::CombiMode);
|
bb26a0523
김태훈
소스 코드 정리
|
369
370
371
372
|
}
void ManualCookWindow::on_dryheatButton_clicked()
{
|
d0cfbd177
김태훈
GUI V0.1.10 (이 버전...
|
373
|
setOvenDefault(Define::DryMode);
|
bb26a0523
김태훈
소스 코드 정리
|
374
375
376
377
378
379
380
381
382
383
384
|
}
void ManualCookWindow::on_humidityButton_pressed()
{
showCurrentHumidityTimer.start();
}
void ManualCookWindow::on_humidityButton_released()
{
if (showCurrentHumidityTimer.isActive())
showCurrentHumidityTimer.stop();
|
c598b01b2
김태훈
GUI 업데이트
|
385
|
else
|
bb26a0523
김태훈
소스 코드 정리
|
386
|
hideCurrentHumidity();
|
8c2952457
김태훈
응용 프로그램 추가
|
387
|
}
|
bb26a0523
김태훈
소스 코드 정리
|
388
|
void ManualCookWindow::on_tempButton_pressed()
|
8c2952457
김태훈
응용 프로그램 추가
|
389
|
{
|
bb26a0523
김태훈
소스 코드 정리
|
390
391
|
showCurrentTempTimer.start();
}
|
8c2952457
김태훈
응용 프로그램 추가
|
392
|
|
bb26a0523
김태훈
소스 코드 정리
|
393
394
395
396
397
398
399
400
401
402
403
404
405
|
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
김태훈
수동 요리의 중심 요리 설정 화...
|
406
407
408
409
|
{
CoreTempSettingPopup *p = new CoreTempSettingPopup(this);
p->show();
}
|
8c2952457
김태훈
응용 프로그램 추가
|
410
|
}
|
bb26a0523
김태훈
소스 코드 정리
|
411
|
void ManualCookWindow::on_runStopButton_clicked()
|
8c2952457
김태훈
응용 프로그램 추가
|
412
|
{
|
bb26a0523
김태훈
소스 코드 정리
|
413
|
if (oven->cooking())
|
bb26a0523
김태훈
소스 코드 정리
|
414
|
stop();
|
8c2952457
김태훈
응용 프로그램 추가
|
415
|
else
|
f588aa273
김태훈
부가 기능 로직 추가
|
416
|
start();
|
bb26a0523
김태훈
소스 코드 정리
|
417
418
419
420
421
422
423
424
425
|
}
void ManualCookWindow::on_fanButton_clicked()
{
int fan = oven->fan() + 1;
if (fan > oven->maxFan())
fan = oven->minFan();
oven->setFan(fan);
|
8c2952457
김태훈
응용 프로그램 추가
|
426
427
428
429
|
}
void ManualCookWindow::on_preheatButton_clicked()
{
|
bb26a0523
김태훈
소스 코드 정리
|
430
|
startCookingTimer.stop();
|
4fc65fb81
김태훈
GUI V0.1.6(이 버전으로...
|
431
|
|
05f2a7552
김태훈
image 관리 구조 변경
|
432
433
434
|
PreheatPopup *p = new PreheatPopup(this, oven);
p->setWindowModality(Qt::WindowModal);
p->showFullScreen();
|
8c2952457
김태훈
응용 프로그램 추가
|
435
436
437
438
|
}
void ManualCookWindow::on_damperButton_clicked()
{
|
c598b01b2
김태훈
GUI 업데이트
|
439
440
|
if (oven->damper())
oven->closeDamper();
|
8c2952457
김태훈
응용 프로그램 추가
|
441
|
else
|
c598b01b2
김태훈
GUI 업데이트
|
442
|
oven->openDamper();
|
8c2952457
김태훈
응용 프로그램 추가
|
443
444
445
446
|
}
void ManualCookWindow::on_humidificationButton_clicked()
{
|
c598b01b2
김태훈
GUI 업데이트
|
447
448
|
if (oven->humidification())
oven->stopHumidification();
|
8c2952457
김태훈
응용 프로그램 추가
|
449
|
else
|
c598b01b2
김태훈
GUI 업데이트
|
450
|
oven->startHumidification();
|
8c2952457
김태훈
응용 프로그램 추가
|
451
452
453
454
|
}
void ManualCookWindow::on_repeatButton_clicked()
{
|
213c24135
김태훈
수동 요리 반복 추가
|
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
|
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
김태훈
응용 프로그램 추가
|
475
476
477
478
|
}
void ManualCookWindow::on_cooldownButton_clicked()
{
|
bb26a0523
김태훈
소스 코드 정리
|
479
|
startCookingTimer.stop();
|
cfc2fcc35
김태훈
쿨다운 팝업 추가
|
480
481
482
483
|
CooldownPopup *p = new CooldownPopup(this, oven);
p->setWindowModality(Qt::WindowModal);
p->showFullScreen();
|
8c2952457
김태훈
응용 프로그램 추가
|
484
485
486
487
|
}
void ManualCookWindow::on_reserveButton_clicked()
{
|
0e279295f
김태훈
수동 요리 구현
|
488
489
490
491
492
493
494
495
496
|
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
김태훈
응용 프로그램 추가
|
497
|
}
|
213c24135
김태훈
수동 요리 반복 추가
|
498
|
void ManualCookWindow::on_favoriteButton_clicked()
|
8c2952457
김태훈
응용 프로그램 추가
|
499
|
{
|
f588aa273
김태훈
부가 기능 로직 추가
|
500
501
502
503
504
|
if (oven->cooking())
return;
ConfirmPopup *p = new ConfirmPopup(this, tr("즐겨찾기 항목에 추가하시겠습니까?"));
p->showFullScreen();
|
8c2952457
김태훈
응용 프로그램 추가
|
505
|
|
f588aa273
김태훈
부가 기능 로직 추가
|
506
507
508
509
510
511
512
|
connect(p, SIGNAL(accepted()), SLOT(addFavorite()));
if (startCookingTimer.isActive())
{
startCookingTimer.stop();
connect(p, SIGNAL(rejected()), &startCookingTimer, SLOT(start()));
}
|
8c2952457
김태훈
응용 프로그램 추가
|
513
|
}
|
bb26a0523
김태훈
소스 코드 정리
|
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
|
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
김태훈
부가 기능 로직 추가
|
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
|
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();
}
|