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