81b835e59
김태훈
한글 폰트 변경
|
1
2
|
#include "programmingmanualwindow.h"
#include "ui_programmingmanualwindow.h"
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
3
|
#include <QKeyEvent>
|
8a1db78e6
김태훈
소스 코드 정리
|
4
|
#include "oven.h"
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
5
6
7
|
#include "stringer.h"
#include "programmingmanualcoretemppopup.h"
#include "cookprogram.h"
|
382b586e9
김태훈
프로그래밍 모드 임시 구현
|
8
|
#include "soundplayer.h"
|
95a9aa99d
김태훈
기능 보충 구현
|
9
10
|
#include "configwindow.h"
#include "mainwindow.h"
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
11
12
|
ProgrammingManualWindow::ProgrammingManualWindow(QWidget *parent, Define::Mode mode) :
|
81b835e59
김태훈
한글 폰트 변경
|
13
14
15
16
|
QMainWindow(parent),
ui(new Ui::ProgrammingManualWindow)
{
ui->setupUi(this);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
17
18
19
|
ui->clockContainer->setParent(ui->upperStack);
setAttribute(Qt::WA_DeleteOnClose);
|
935b853a4
김태훈
새 슬라이더 적용
|
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
ui->humiditySlider->setSubPixmap(":/images/slider/humidity.png");
ui->humiditySlider->setRange(0, 100);
ui->humiditySlider->bigTickInterval = 50;
ui->humiditySlider->tickInterval = 10;
ui->tempSlider->setSubPixmap(":/images/slider/temp.png");
ui->tempSlider->bigTickInterval = 50;
ui->tempSlider->tickInterval = 10;
ui->timeSlider->setSubPixmap(":/images/slider/time.png");
ui->timeSlider->setRange(0, 342);
ui->timeSlider->bigTicks.append(0);
ui->timeSlider->bigTicks.append(180);
ui->timeSlider->bigTicks.append(270);
ui->timeSlider->bigTicks.append(342);
ui->timeSlider->ticks.append(60);
ui->timeSlider->ticks.append(120);
ui->timeSlider->ticks.append(180 + 30);
ui->timeSlider->ticks.append(180 + 60);
ui->timeSlider->ticks.append(270 + 4 * 6);
ui->timeSlider->ticks.append(270 + 4 * 12);
ui->interTempSlider->setSubPixmap(":/images/slider/core.png");
ui->interTempSlider->setRange(30, 99);
Oven *oven = Oven::getInstance();
QList<int> &bigTicks = ui->interTempSlider->bigTicks;
bigTicks.append(oven->minInterTemp());
bigTicks.append(oven->minInterTemp() + (oven->maxInterTemp() - oven->minInterTemp()) / 2);
bigTicks.append(oven->maxInterTemp());
QList<int> &ticks = ui->interTempSlider->ticks;
for (int i = 1; i < 3; i++)
ticks.append(bigTicks.at(0) + i * (bigTicks.at(1) - bigTicks.at(0)) / 3);
for (int i = 1; i < 3; i++)
ticks.append(bigTicks.at(1) + i * (bigTicks.at(2) - bigTicks.at(1)) / 3);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
57
58
59
60
61
62
63
64
65
66
67
68
|
connect(ui->humiditySlider, SIGNAL(sliderMoved(int)), SLOT(updateView()));
connect(ui->tempSlider, SIGNAL(sliderMoved(int)), SLOT(updateView()));
connect(ui->timeSlider, SIGNAL(sliderMoved(int)), SLOT(updateView()));
connect(ui->interTempSlider, SIGNAL(sliderMoved(int)), SLOT(updateView()));
connect(ui->humiditySlider, SIGNAL(sliderPressed()), SLOT(updateView()));
connect(ui->tempSlider, SIGNAL(sliderPressed()), SLOT(updateView()));
connect(ui->timeSlider, SIGNAL(sliderPressed()), SLOT(updateView()));
connect(ui->interTempSlider, SIGNAL(sliderPressed()), SLOT(updateView()));
lastFan = -1;
lastInterTempEnabled = true;
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
69
70
|
setDefault(mode);
|
382b586e9
김태훈
프로그래밍 모드 임시 구현
|
71
72
73
|
foreach (QPushButton *button, findChildren<QPushButton *>())
connect(button, &QPushButton::pressed, SoundPlayer::playClick);
|
51175dd1a
김태훈
엔코더 구현
|
74
75
76
77
78
79
80
81
82
83
84
85
86
|
setFocus();
afterThreeSecsTimer.setSingleShot(true);
afterThreeSecsTimer.setInterval(3000);
connect(&afterThreeSecsTimer, SIGNAL(timeout()), SLOT(afterThreeSecs()));
foreach (QWidget *w, findChildren<QWidget *>())
w->installEventFilter(this);
installEventFilter(this);
afterThreeSecsTimer.start();
|
81b835e59
김태훈
한글 폰트 변경
|
87
88
89
90
91
92
|
}
ProgrammingManualWindow::~ProgrammingManualWindow()
{
delete ui;
}
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
93
|
|
51175dd1a
김태훈
엔코더 구현
|
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
bool ProgrammingManualWindow::eventFilter(QObject */*watched*/, QEvent *event)
{
switch (event->type())
{
case QEvent::KeyPress:
case QEvent::KeyRelease:
case QEvent::MouseButtonPress:
case QEvent::MouseButtonRelease:
case QEvent::MouseMove:
afterThreeSecsTimer.start();
break;
default:
break;
}
return false;
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
111
112
113
114
|
void ProgrammingManualWindow::keyPressEvent(QKeyEvent *event)
{
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
115
|
case 0x01000032: // Turn left
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
116
117
118
119
120
|
onEncoderLeft();
break;
case 0x01000031: // Push
pushed = focusWidget();
break;
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
121
|
case 0x01000030: // Turn right
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
122
123
124
125
126
127
128
129
130
|
onEncoderRight();
break;
}
}
void ProgrammingManualWindow::keyReleaseEvent(QKeyEvent *event)
{
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
131
|
case 0x01000032: // Turn left
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
132
133
134
135
136
137
138
139
|
onEncoderLeft();
break;
case 0x01000031: // Push
if (focusWidget() == pushed)
onEncoderClicked(pushed);
pushed = NULL;
break;
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
140
|
case 0x01000030: // Turn right
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
141
142
143
144
|
onEncoderRight();
break;
}
}
|
935b853a4
김태훈
새 슬라이더 적용
|
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
int ProgrammingManualWindow::sliderToTime(int value)
{
if (value <= 180)
return value * 60;
if (value <= 270)
return 180 * 60 + (value - 180) * 2 * 60;
return 360 * 60 + (value - 270) * 15 * 60;
}
int ProgrammingManualWindow::timeToSlider(int secs)
{
if (secs <= 180 * 60)
return secs / 60;
if (secs <= 360 * 60)
return 180 + (secs - 180 * 60) / 2 / 60;
return 270 + (secs - 360 * 60) / 15 / 60;
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
162
163
|
void ProgrammingManualWindow::onEncoderLeft()
{
|
51175dd1a
김태훈
엔코더 구현
|
164
|
focusPreviousChild();
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
165
|
|
51175dd1a
김태훈
엔코더 구현
|
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
|
QWidget *focused = focusWidget();
if (focused == ui->steamButton)
{
if (ui->steamButton->isChecked())
focusPreviousChild();
}
else if (focused == ui->combiButton)
{
if (ui->combiButton->isChecked())
focusPreviousChild();
}
else if (focused == ui->dryheatButton)
{
if (ui->dryheatButton->isChecked())
focusPreviousChild();
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
182
183
184
185
|
}
void ProgrammingManualWindow::onEncoderRight()
{
|
51175dd1a
김태훈
엔코더 구현
|
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
|
QWidget *focused = focusWidget();
if (focused == NULL || focused == this)
{
if (ui->steamButton->isChecked() || ui->dryheatButton->isChecked())
ui->tempButton->setFocus();
else if (ui->combiButton->isChecked())
ui->humidityButton->setFocus();
}
else
{
focusNextChild();
focused = focusWidget();
if (focused == ui->steamButton)
{
if (ui->steamButton->isChecked())
focusNextChild();
}
else if (focused == ui->combiButton)
{
if (ui->combiButton->isChecked())
focusNextChild();
}
else if (focused == ui->dryheatButton)
{
if (ui->dryheatButton->isChecked())
focusNextChild();
}
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
215
216
217
218
|
}
void ProgrammingManualWindow::onEncoderClicked(QWidget *clicked)
{
|
51175dd1a
김태훈
엔코더 구현
|
219
220
|
if (clicked == NULL)
return;
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
221
|
|
51175dd1a
김태훈
엔코더 구현
|
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
|
if (clicked->inherits("QPushButton"))
{
QPushButton *b = qobject_cast<QPushButton *>(clicked);
if (b)
{
b->click();
if (b == ui->steamButton || b == ui->dryheatButton)
ui->tempButton->setFocus();
else if (b == ui->combiButton)
ui->humidityButton->setFocus();
}
}
else if (clicked->inherits("Slider"))
{
Slider *slider = qobject_cast<Slider *>(clicked);
if (slider)
{
if (slider == ui->humiditySlider)
ui->humidityButton->setFocus();
else if (slider == ui->tempSlider)
ui->tempButton->setFocus();
else if (slider == ui->timeSlider)
ui->timeButton->setFocus();
else if (slider == ui->interTempSlider)
ui->interTempButton->setFocus();
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
248
249
|
updateView();
|
51175dd1a
김태훈
엔코더 구현
|
250
251
|
}
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
252
|
}
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
253
254
255
256
257
258
|
void ProgrammingManualWindow::setDefault(Define::Mode mode)
{
switch (mode)
{
case Define::SteamMode:
ui->steamButton->setChecked(true);
|
51175dd1a
김태훈
엔코더 구현
|
259
260
|
ui->combiButton->setChecked(false);
ui->dryheatButton->setChecked(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
261
262
263
264
265
266
|
ui->humiditySlider->setEnabled(false);
ui->humiditySlider->setValue(100);
ui->tempSlider->setRange(30, 130);
ui->tempSlider->setValue(100);
ui->timeSlider->setValue(0);
ui->interTempSlider->setEnabled(false);
|
935b853a4
김태훈
새 슬라이더 적용
|
267
|
ui->interTempSlider->setSubVisible(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
268
269
|
ui->interTempSlider->setValue(30);
setFan(4);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
270
|
updateView();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
271
272
273
|
this->mode = mode;
break;
case Define::CombiMode:
|
51175dd1a
김태훈
엔코더 구현
|
274
|
ui->steamButton->setChecked(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
275
|
ui->combiButton->setChecked(true);
|
51175dd1a
김태훈
엔코더 구현
|
276
|
ui->dryheatButton->setChecked(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
277
278
279
280
281
282
|
ui->humiditySlider->setEnabled(true);
ui->humiditySlider->setValue(50);
ui->tempSlider->setRange(30, 300);
ui->tempSlider->setValue(100);
ui->timeSlider->setValue(0);
ui->interTempSlider->setEnabled(false);
|
935b853a4
김태훈
새 슬라이더 적용
|
283
|
ui->interTempSlider->setSubVisible(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
284
285
|
ui->interTempSlider->setValue(30);
setFan(4);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
286
|
updateView();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
287
288
289
|
this->mode = mode;
break;
case Define::DryMode:
|
51175dd1a
김태훈
엔코더 구현
|
290
291
|
ui->steamButton->setChecked(false);
ui->combiButton->setChecked(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
292
293
294
295
296
297
298
|
ui->dryheatButton->setChecked(true);
ui->humiditySlider->setEnabled(false);
ui->humiditySlider->setValue(0);
ui->tempSlider->setRange(30, 300);
ui->tempSlider->setValue(160);
ui->timeSlider->setValue(0);
ui->interTempSlider->setEnabled(false);
|
935b853a4
김태훈
새 슬라이더 적용
|
299
|
ui->interTempSlider->setSubVisible(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
300
301
|
ui->interTempSlider->setValue(30);
setFan(4);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
302
|
updateView();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
303
304
305
306
307
308
309
310
311
312
313
314
315
|
this->mode = mode;
break;
default:
return;
}
}
void ProgrammingManualWindow::setFan(int level)
{
fan = level;
updateFanButton();
}
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
316
317
318
319
320
321
322
323
324
325
326
327
328
329
|
void ProgrammingManualWindow::updateView()
{
updateHumidityLabel();
updateTempLabel();
updateTimeLabel();
updateCoreTempButton();
updateCoreTempLabel();
updateFanButton();
QWidget *focused = focusWidget();
ui->humidityButton->setChecked(focused == ui->humiditySlider);
ui->tempButton->setChecked(focused == ui->tempSlider);
ui->timeButton->setChecked(focused == ui->timeSlider);
ui->interTempButton->setChecked(focused == ui->interTempSlider);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
330
|
}
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
331
332
|
void ProgrammingManualWindow::updateHumidityLabel()
{
|
935b853a4
김태훈
새 슬라이더 적용
|
333
|
ui->humidityLabel->setText(QString("%1%").arg(ui->humiditySlider->sliderPosition()));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
334
335
336
337
|
}
void ProgrammingManualWindow::updateTempLabel()
{
|
935b853a4
김태훈
새 슬라이더 적용
|
338
|
ui->tempLabel->setText(Stringer::temperature(ui->tempSlider->sliderPosition(), Stringer::fontSize14));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
339
340
341
342
|
}
void ProgrammingManualWindow::updateTimeLabel()
{
|
935b853a4
김태훈
새 슬라이더 적용
|
343
|
ui->timeLabel->setText(Stringer::remainingTime(sliderToTime(ui->timeSlider->sliderPosition()) * 1000, Stringer::fontSize14));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
344
345
346
347
|
}
void ProgrammingManualWindow::updateCoreTempButton()
{
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
|
if (ui->interTempSlider->isEnabled() == lastInterTempEnabled)
return;
lastInterTempEnabled = ui->interTempSlider->isEnabled();
QString interTempButtonStyleSheet("\
QPushButton\
{ image: url(%1); }\
QPushButton:pressed,\
QPushButton:focus\
{ image: url(:/images/slider_icon/011_icon_04_active.png); }\
QPushButton:checked\
{ image: url(:/images/slider_icon/core_temp_ov.png); }");
if (ui->interTempSlider->isEnabled())
ui->interTempButton->setStyleSheet(interTempButtonStyleSheet.arg(":/images/slider_icon/core_temp_enabled.png"));
else
ui->interTempButton->setStyleSheet(interTempButtonStyleSheet.arg(":/images/slider_icon/core_temp.png"));
ui->interTempButton->setChecked(focusWidget() == ui->interTempSlider);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
368
369
370
371
372
|
}
void ProgrammingManualWindow::updateCoreTempLabel()
{
if (ui->interTempSlider->isEnabled())
|
935b853a4
김태훈
새 슬라이더 적용
|
373
|
ui->interTempLabel->setText(Stringer::temperature(ui->interTempSlider->sliderPosition(), Stringer::fontSize14));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
374
375
376
377
378
379
|
else
ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14));
}
void ProgrammingManualWindow::updateFanButton()
{
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
380
381
382
383
384
385
386
|
if (fan == lastFan)
return;
lastFan = fan;
QString fanStyleSheet("\
QPushButton { background-image: url(%1); }\
QPushButton:focus { background-image: url(%2); }");
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
387
388
389
|
switch (fan)
{
case 1:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
390
391
392
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_1.png")
.arg(":/images/manual_button/013_sys_icon_06_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
393
394
|
break;
case 2:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
395
396
397
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_2.png")
.arg(":/images/manual_button/013_sys_icon_06_01_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
398
399
|
break;
case 3:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
400
401
402
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_3.png")
.arg(":/images/manual_button/013_sys_icon_06_02_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
403
404
|
break;
case 4:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
405
406
407
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_4.png")
.arg(":/images/manual_button/013_sys_icon_06_03_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
408
409
|
break;
case 5:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
410
411
412
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_5.png")
.arg(":/images/manual_button/013_sys_icon_06_04_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
413
414
|
break;
default:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
415
416
417
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_6.png")
.arg(":/images/manual_button/013_sys_icon_06_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
418
419
420
|
break;
}
}
|
51175dd1a
김태훈
엔코더 구현
|
421
422
423
424
425
426
427
428
429
430
431
432
433
|
void ProgrammingManualWindow::afterThreeSecs()
{
Slider *slider = qobject_cast<Slider *>(focusWidget());
if (slider)
{
if (slider == ui->humiditySlider)
ui->humidityButton->setFocus();
else if (slider == ui->tempSlider)
ui->tempButton->setFocus();
else if (slider == ui->timeSlider)
ui->timeButton->setFocus();
else if (slider == ui->interTempSlider)
ui->interTempButton->setFocus();
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
434
|
updateView();
|
51175dd1a
김태훈
엔코더 구현
|
435
436
|
}
}
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
437
438
439
|
void ProgrammingManualWindow::onCoreTempEnabled(int celsius)
{
ui->interTempSlider->setEnabled(true);
|
935b853a4
김태훈
새 슬라이더 적용
|
440
|
ui->interTempSlider->setSubVisible(true);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
441
|
ui->interTempSlider->setValue(celsius);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
442
443
|
updateView();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
|
}
void ProgrammingManualWindow::on_steamButton_clicked()
{
setDefault(Define::SteamMode);
}
void ProgrammingManualWindow::on_combiButton_clicked()
{
setDefault(Define::CombiMode);
}
void ProgrammingManualWindow::on_dryheatButton_clicked()
{
setDefault(Define::DryMode);
}
|
51175dd1a
김태훈
엔코더 구현
|
460
461
462
|
void ProgrammingManualWindow::on_humidityButton_clicked()
{
ui->humiditySlider->setFocus();
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
463
464
|
updateView();
|
51175dd1a
김태훈
엔코더 구현
|
465
466
467
468
469
|
}
void ProgrammingManualWindow::on_tempButton_clicked()
{
ui->tempSlider->setFocus();
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
470
471
|
updateView();
|
51175dd1a
김태훈
엔코더 구현
|
472
473
474
475
476
|
}
void ProgrammingManualWindow::on_timeButton_clicked()
{
ui->timeSlider->setFocus();
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
477
478
|
updateView();
|
51175dd1a
김태훈
엔코더 구현
|
479
|
}
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
480
481
482
483
484
|
void ProgrammingManualWindow::on_interTempButton_clicked()
{
if (ui->interTempSlider->isEnabled())
{
ui->interTempSlider->setEnabled(false);
|
935b853a4
김태훈
새 슬라이더 적용
|
485
|
ui->interTempSlider->setSubVisible(false);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
486
487
|
updateView();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
488
489
490
491
492
|
}
else
{
ProgrammingManualCoreTempPopup *p = new ProgrammingManualCoreTempPopup(this);
connect(p, SIGNAL(coreTempEnabled(int)), SLOT(onCoreTempEnabled(int)));
|
51175dd1a
김태훈
엔코더 구현
|
493
494
|
connect(p, SIGNAL(destroyed(QObject*)), SLOT(updateCoreTempButton()));
connect(p, SIGNAL(destroyed(QObject*)), ui->interTempButton, SLOT(setFocus()));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
|
p->showFullScreen();
}
}
void ProgrammingManualWindow::on_fanButton_clicked()
{
fan++;
if (fan > 5)
fan = 1;
updateFanButton();
}
void ProgrammingManualWindow::on_backButton_clicked()
{
close();
}
void ProgrammingManualWindow::on_configButton_clicked()
{
|
95a9aa99d
김태훈
기능 보충 구현
|
515
516
517
518
|
ConfigWindow *w = new ConfigWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
519
|
|
95a9aa99d
김태훈
기능 보충 구현
|
520
|
MainWindow::jump(w);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
521
522
523
524
525
526
527
528
529
530
531
532
533
|
}
void ProgrammingManualWindow::on_helpButton_clicked()
{
}
void ProgrammingManualWindow::on_okButton_clicked()
{
ManualCookSetting s;
s.mode = mode;
s.humidity = ui->humiditySlider->value();
s.temp = ui->tempSlider->value();
|
935b853a4
김태훈
새 슬라이더 적용
|
534
|
s.time = sliderToTime(ui->timeSlider->value());
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
535
536
537
538
539
540
541
542
543
|
s.coreTempEnabled = ui->interTempSlider->isEnabled();
s.coreTemp = ui->interTempSlider->value();
s.fan = fan;
CookProgram::add(s);
emit added();
close();
}
|