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"
|
1342af7b3
김태훈
도움말 버튼 연결
|
11
|
#include "manualviewerdlg.h"
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
12
13
|
ProgrammingManualWindow::ProgrammingManualWindow(QWidget *parent, Define::Mode mode) :
|
81b835e59
김태훈
한글 폰트 변경
|
14
15
16
17
|
QMainWindow(parent),
ui(new Ui::ProgrammingManualWindow)
{
ui->setupUi(this);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
18
19
20
|
ui->clockContainer->setParent(ui->upperStack);
setAttribute(Qt::WA_DeleteOnClose);
|
935b853a4
김태훈
새 슬라이더 적용
|
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
57
|
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
김태훈
중심 온도 설정에 엔코더 관련 ...
|
58
59
60
61
62
63
64
65
66
67
68
69
|
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
김태훈
수동 요리 만들기 추가
|
70
71
|
setDefault(mode);
|
382b586e9
김태훈
프로그래밍 모드 임시 구현
|
72
73
74
|
foreach (QPushButton *button, findChildren<QPushButton *>())
connect(button, &QPushButton::pressed, SoundPlayer::playClick);
|
51175dd1a
김태훈
엔코더 구현
|
75
76
77
78
79
80
81
82
83
84
85
86
87
|
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
김태훈
한글 폰트 변경
|
88
89
90
91
92
93
|
}
ProgrammingManualWindow::~ProgrammingManualWindow()
{
delete ui;
}
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
94
|
|
51175dd1a
김태훈
엔코더 구현
|
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
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
김태훈
엔코더 구현 대비 선행 수정
|
112
113
114
115
|
void ProgrammingManualWindow::keyPressEvent(QKeyEvent *event)
{
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
116
|
case 0x01000032: // Turn left
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
117
118
119
120
121
|
onEncoderLeft();
break;
case 0x01000031: // Push
pushed = focusWidget();
break;
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
122
|
case 0x01000030: // Turn right
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
123
124
125
126
127
128
129
130
131
|
onEncoderRight();
break;
}
}
void ProgrammingManualWindow::keyReleaseEvent(QKeyEvent *event)
{
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
132
|
case 0x01000032: // Turn left
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
133
134
135
136
137
138
139
140
|
onEncoderLeft();
break;
case 0x01000031: // Push
if (focusWidget() == pushed)
onEncoderClicked(pushed);
pushed = NULL;
break;
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
141
|
case 0x01000030: // Turn right
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
142
143
144
145
|
onEncoderRight();
break;
}
}
|
935b853a4
김태훈
새 슬라이더 적용
|
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
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
김태훈
엔코더 구현 대비 선행 수정
|
163
164
|
void ProgrammingManualWindow::onEncoderLeft()
{
|
51175dd1a
김태훈
엔코더 구현
|
165
|
focusPreviousChild();
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
166
|
|
51175dd1a
김태훈
엔코더 구현
|
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
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
김태훈
엔코더 구현 대비 선행 수정
|
183
184
185
186
|
}
void ProgrammingManualWindow::onEncoderRight()
{
|
51175dd1a
김태훈
엔코더 구현
|
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
215
|
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
김태훈
엔코더 구현 대비 선행 수정
|
216
217
218
219
|
}
void ProgrammingManualWindow::onEncoderClicked(QWidget *clicked)
{
|
51175dd1a
김태훈
엔코더 구현
|
220
221
|
if (clicked == NULL)
return;
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
222
|
|
51175dd1a
김태훈
엔코더 구현
|
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
248
|
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
김태훈
중심 온도 설정에 엔코더 관련 ...
|
249
250
|
updateView();
|
51175dd1a
김태훈
엔코더 구현
|
251
252
|
}
}
|
9e1f8d093
김태훈
엔코더 구현 대비 선행 수정
|
253
|
}
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
254
255
256
257
258
259
|
void ProgrammingManualWindow::setDefault(Define::Mode mode)
{
switch (mode)
{
case Define::SteamMode:
ui->steamButton->setChecked(true);
|
51175dd1a
김태훈
엔코더 구현
|
260
261
|
ui->combiButton->setChecked(false);
ui->dryheatButton->setChecked(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
262
263
264
265
266
267
|
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
김태훈
새 슬라이더 적용
|
268
|
ui->interTempSlider->setSubVisible(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
269
270
|
ui->interTempSlider->setValue(30);
setFan(4);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
271
|
updateView();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
272
273
274
|
this->mode = mode;
break;
case Define::CombiMode:
|
51175dd1a
김태훈
엔코더 구현
|
275
|
ui->steamButton->setChecked(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
276
|
ui->combiButton->setChecked(true);
|
51175dd1a
김태훈
엔코더 구현
|
277
|
ui->dryheatButton->setChecked(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
278
279
280
281
282
283
|
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
김태훈
새 슬라이더 적용
|
284
|
ui->interTempSlider->setSubVisible(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
285
286
|
ui->interTempSlider->setValue(30);
setFan(4);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
287
|
updateView();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
288
289
290
|
this->mode = mode;
break;
case Define::DryMode:
|
51175dd1a
김태훈
엔코더 구현
|
291
292
|
ui->steamButton->setChecked(false);
ui->combiButton->setChecked(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
293
294
295
296
297
298
299
|
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
김태훈
새 슬라이더 적용
|
300
|
ui->interTempSlider->setSubVisible(false);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
301
302
|
ui->interTempSlider->setValue(30);
setFan(4);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
303
|
updateView();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
304
305
306
307
308
309
310
311
312
313
314
315
316
|
this->mode = mode;
break;
default:
return;
}
}
void ProgrammingManualWindow::setFan(int level)
{
fan = level;
updateFanButton();
}
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
317
318
319
320
321
322
323
324
325
326
327
328
329
330
|
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
김태훈
중심 온도 설정에 엔코더 관련 ...
|
331
|
}
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
332
333
|
void ProgrammingManualWindow::updateHumidityLabel()
{
|
935b853a4
김태훈
새 슬라이더 적용
|
334
|
ui->humidityLabel->setText(QString("%1%").arg(ui->humiditySlider->sliderPosition()));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
335
336
337
338
|
}
void ProgrammingManualWindow::updateTempLabel()
{
|
935b853a4
김태훈
새 슬라이더 적용
|
339
|
ui->tempLabel->setText(Stringer::temperature(ui->tempSlider->sliderPosition(), Stringer::fontSize14));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
340
341
342
343
|
}
void ProgrammingManualWindow::updateTimeLabel()
{
|
935b853a4
김태훈
새 슬라이더 적용
|
344
|
ui->timeLabel->setText(Stringer::remainingTime(sliderToTime(ui->timeSlider->sliderPosition()) * 1000, Stringer::fontSize14));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
345
346
347
348
|
}
void ProgrammingManualWindow::updateCoreTempButton()
{
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
|
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
김태훈
수동 요리 만들기 추가
|
369
370
371
372
373
|
}
void ProgrammingManualWindow::updateCoreTempLabel()
{
if (ui->interTempSlider->isEnabled())
|
935b853a4
김태훈
새 슬라이더 적용
|
374
|
ui->interTempLabel->setText(Stringer::temperature(ui->interTempSlider->sliderPosition(), Stringer::fontSize14));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
375
376
377
378
379
380
|
else
ui->interTempLabel->setText(Stringer::unusedTemperature(Stringer::fontSize14));
}
void ProgrammingManualWindow::updateFanButton()
{
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
381
382
383
384
385
386
387
|
if (fan == lastFan)
return;
lastFan = fan;
QString fanStyleSheet("\
QPushButton { background-image: url(%1); }\
QPushButton:focus { background-image: url(%2); }");
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
388
389
390
|
switch (fan)
{
case 1:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
391
392
393
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_1.png")
.arg(":/images/manual_button/013_sys_icon_06_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
394
395
|
break;
case 2:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
396
397
398
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_2.png")
.arg(":/images/manual_button/013_sys_icon_06_01_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
399
400
|
break;
case 3:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
401
402
403
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_3.png")
.arg(":/images/manual_button/013_sys_icon_06_02_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
404
405
|
break;
case 4:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
406
407
408
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_4.png")
.arg(":/images/manual_button/013_sys_icon_06_03_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
409
410
|
break;
case 5:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
411
412
413
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_5.png")
.arg(":/images/manual_button/013_sys_icon_06_04_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
414
415
|
break;
default:
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
416
417
418
|
ui->fanButton->setStyleSheet(fanStyleSheet
.arg(":/images/manual_button/fan_6.png")
.arg(":/images/manual_button/013_sys_icon_06_active.png"));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
419
420
421
|
break;
}
}
|
51175dd1a
김태훈
엔코더 구현
|
422
423
424
425
426
427
428
429
430
431
432
433
434
|
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
김태훈
중심 온도 설정에 엔코더 관련 ...
|
435
|
updateView();
|
51175dd1a
김태훈
엔코더 구현
|
436
437
|
}
}
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
438
439
440
|
void ProgrammingManualWindow::onCoreTempEnabled(int celsius)
{
ui->interTempSlider->setEnabled(true);
|
935b853a4
김태훈
새 슬라이더 적용
|
441
|
ui->interTempSlider->setSubVisible(true);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
442
|
ui->interTempSlider->setValue(celsius);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
443
444
|
updateView();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
|
}
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
김태훈
엔코더 구현
|
461
462
463
|
void ProgrammingManualWindow::on_humidityButton_clicked()
{
ui->humiditySlider->setFocus();
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
464
465
|
updateView();
|
51175dd1a
김태훈
엔코더 구현
|
466
467
468
469
470
|
}
void ProgrammingManualWindow::on_tempButton_clicked()
{
ui->tempSlider->setFocus();
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
471
472
|
updateView();
|
51175dd1a
김태훈
엔코더 구현
|
473
474
475
476
477
|
}
void ProgrammingManualWindow::on_timeButton_clicked()
{
ui->timeSlider->setFocus();
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
478
479
|
updateView();
|
51175dd1a
김태훈
엔코더 구현
|
480
|
}
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
481
482
483
484
485
|
void ProgrammingManualWindow::on_interTempButton_clicked()
{
if (ui->interTempSlider->isEnabled())
{
ui->interTempSlider->setEnabled(false);
|
935b853a4
김태훈
새 슬라이더 적용
|
486
|
ui->interTempSlider->setSubVisible(false);
|
27843914b
김태훈
중심 온도 설정에 엔코더 관련 ...
|
487
488
|
updateView();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
489
490
491
492
493
|
}
else
{
ProgrammingManualCoreTempPopup *p = new ProgrammingManualCoreTempPopup(this);
connect(p, SIGNAL(coreTempEnabled(int)), SLOT(onCoreTempEnabled(int)));
|
51175dd1a
김태훈
엔코더 구현
|
494
495
|
connect(p, SIGNAL(destroyed(QObject*)), SLOT(updateCoreTempButton()));
connect(p, SIGNAL(destroyed(QObject*)), ui->interTempButton, SLOT(setFocus()));
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
|
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
김태훈
기능 보충 구현
|
516
517
518
519
|
ConfigWindow *w = new ConfigWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
520
|
|
95a9aa99d
김태훈
기능 보충 구현
|
521
|
MainWindow::jump(w);
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
522
523
524
525
|
}
void ProgrammingManualWindow::on_helpButton_clicked()
{
|
1342af7b3
김태훈
도움말 버튼 연결
|
526
527
528
|
ManualViewerDlg* dlg = new ManualViewerDlg(this);
dlg->showFullScreen();
dlg->raise();
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
529
530
531
532
533
534
535
536
|
}
void ProgrammingManualWindow::on_okButton_clicked()
{
ManualCookSetting s;
s.mode = mode;
s.humidity = ui->humiditySlider->value();
s.temp = ui->tempSlider->value();
|
935b853a4
김태훈
새 슬라이더 적용
|
537
|
s.time = sliderToTime(ui->timeSlider->value());
|
dcfd897f3
김태훈
수동 요리 만들기 추가
|
538
539
540
541
542
543
544
545
546
|
s.coreTempEnabled = ui->interTempSlider->isEnabled();
s.coreTemp = ui->interTempSlider->value();
s.fan = fan;
CookProgram::add(s);
emit added();
close();
}
|