6f96c947a
김태훈
GUI 0.1.4
|
1
2
|
#include "autocookconfigwindow.h"
#include "ui_autocookconfigwindow.h"
|
184bdebb4
김태훈
엔코더 구현
|
3
|
#include <QKeyEvent>
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
4
|
#include "autocookwindow.h"
|
f588aa273
김태훈
부가 기능 로직 추가
|
5
|
#include "confirmpopup.h"
|
2bfd3a050
김태훈
환경 설정 대응
|
6
|
#include "stringer.h"
|
f588aa273
김태훈
부가 기능 로직 추가
|
7
|
#include "favoritenamepopup.h"
|
bbd7d8f29
김태훈
버튼 음향 추가
|
8
|
#include "soundplayer.h"
|
e00c6a2a9
김태훈
기능 추가 구현
|
9
10
11
|
#include "configwindow.h"
#include "washwindow.h"
#include "mainwindow.h"
|
11c611782
김태훈
자동 요리 세부 사항 구현
|
12
|
#include "autocookselectionpopup.h"
|
68c06e96f
김태훈
자동 요리 세부 사항 구현
|
13
|
#include "autocookcheckwindow.h"
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
14
|
|
3f52600cc
김태훈
소스 코드 구조 개선
|
15
|
AutoCookConfigWindow::AutoCookConfigWindow(QWidget *parent, Cook cook) :
|
6f96c947a
김태훈
GUI 0.1.4
|
16
17
|
QMainWindow(parent),
ui(new Ui::AutoCookConfigWindow),
|
6f96c947a
김태훈
GUI 0.1.4
|
18
19
20
21
22
23
|
cook(cook)
{
ui->setupUi(this);
ui->clockContainer->setParent(ui->upperStack);
setAttribute(Qt::WA_DeleteOnClose);
|
6f96c947a
김태훈
GUI 0.1.4
|
24
25
26
|
configWidgets.append(
ConfigWidget {
ui->configButton_1,
|
6f96c947a
김태훈
GUI 0.1.4
|
27
28
29
30
31
32
33
34
|
ui->configMinLabel_1,
ui->configMaxLabel_1,
ui->configCurrentLabel_1,
ui->configSlider_1
});
configWidgets.append(
ConfigWidget {
ui->configButton_2,
|
6f96c947a
김태훈
GUI 0.1.4
|
35
36
37
38
39
40
41
42
|
ui->configMinLabel_2,
ui->configMaxLabel_2,
ui->configCurrentLabel_2,
ui->configSlider_2
});
configWidgets.append(
ConfigWidget {
ui->configButton_3,
|
6f96c947a
김태훈
GUI 0.1.4
|
43
44
45
46
47
48
49
50
|
ui->configMinLabel_3,
ui->configMaxLabel_3,
ui->configCurrentLabel_3,
ui->configSlider_3
});
configWidgets.append(
ConfigWidget {
ui->configButton_4,
|
6f96c947a
김태훈
GUI 0.1.4
|
51
52
53
54
55
56
57
58
|
ui->configMinLabel_4,
ui->configMaxLabel_4,
ui->configCurrentLabel_4,
ui->configSlider_4
});
configWidgets.append(
ConfigWidget {
ui->configButton_5,
|
6f96c947a
김태훈
GUI 0.1.4
|
59
60
61
62
63
|
ui->configMinLabel_5,
ui->configMaxLabel_5,
ui->configCurrentLabel_5,
ui->configSlider_5
});
|
11c611782
김태훈
자동 요리 세부 사항 구현
|
64
|
foreach (Slider *s, findChildren<Slider *>())
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
65
66
|
{
connect(s, SIGNAL(sliderPressed()), SLOT(updateView()));
|
11c611782
김태훈
자동 요리 세부 사항 구현
|
67
|
connect(s, SIGNAL(sliderMoved(int)), SLOT(updateConfig()));
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
68
|
}
|
11c611782
김태훈
자동 요리 세부 사항 구현
|
69
|
|
184bdebb4
김태훈
엔코더 구현
|
70
71
72
73
74
75
76
77
78
79
80
|
setupUi();
afterThreeSecsTimer.setSingleShot(true);
afterThreeSecsTimer.setInterval(3000);
connect(&afterThreeSecsTimer, SIGNAL(timeout()), SLOT(afterThreeSecs()));
foreach (QPushButton *button, findChildren<QPushButton *>())
connect(button, &QPushButton::pressed, SoundPlayer::playClick);
foreach (QWidget *w, findChildren<QWidget *>())
w->installEventFilter(this);
|
184bdebb4
김태훈
엔코더 구현
|
81
|
setFocus();
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
82
|
|
184bdebb4
김태훈
엔코더 구현
|
83
84
85
86
87
88
89
90
91
92
93
|
afterThreeSecsTimer.start();
}
AutoCookConfigWindow::~AutoCookConfigWindow()
{
delete ui;
}
bool AutoCookConfigWindow::eventFilter(QObject */*watched*/, QEvent *event)
{
switch (event->type())
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
94
|
{
|
184bdebb4
김태훈
엔코더 구현
|
95
96
97
98
99
100
101
102
103
|
case QEvent::KeyPress:
case QEvent::KeyRelease:
case QEvent::MouseButtonPress:
case QEvent::MouseButtonRelease:
case QEvent::MouseMove:
afterThreeSecsTimer.start();
break;
default:
break;
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
104
|
}
|
184bdebb4
김태훈
엔코더 구현
|
105
106
|
return false;
}
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
107
|
|
184bdebb4
김태훈
엔코더 구현
|
108
109
110
|
void AutoCookConfigWindow::keyPressEvent(QKeyEvent *event)
{
switch (event->key())
|
bbd7d8f29
김태훈
버튼 음향 추가
|
111
|
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
112
|
case 0x01000032: // Turn left
|
184bdebb4
김태훈
엔코더 구현
|
113
114
115
116
117
|
onEncoderLeft();
break;
case 0x01000031: // Push
pushed = focusWidget();
break;
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
118
|
case 0x01000030: // Turn right
|
184bdebb4
김태훈
엔코더 구현
|
119
120
|
onEncoderRight();
break;
|
bbd7d8f29
김태훈
버튼 음향 추가
|
121
|
}
|
184bdebb4
김태훈
엔코더 구현
|
122
|
}
|
bbd7d8f29
김태훈
버튼 음향 추가
|
123
|
|
184bdebb4
김태훈
엔코더 구현
|
124
125
126
127
|
void AutoCookConfigWindow::keyReleaseEvent(QKeyEvent *event)
{
switch (event->key())
{
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
128
|
case 0x01000032: // Turn left
|
184bdebb4
김태훈
엔코더 구현
|
129
130
131
132
133
134
135
136
|
onEncoderLeft();
break;
case 0x01000031: // Push
if (focusWidget() == pushed)
onEncoderClicked(pushed);
pushed = NULL;
break;
|
01249f413
김태훈
엔코더 방향 반전. 하드웨어가 변경됨
|
137
|
case 0x01000030: // Turn right
|
184bdebb4
김태훈
엔코더 구현
|
138
139
140
|
onEncoderRight();
break;
}
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
141
|
}
|
184bdebb4
김태훈
엔코더 구현
|
142
|
void AutoCookConfigWindow::afterThreeSecs()
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
143
|
{
|
184bdebb4
김태훈
엔코더 구현
|
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
Slider *slider = qobject_cast<Slider *>(focusWidget());
if (slider)
{
if (slider == ui->configSlider_1)
ui->configButton_1->setFocus();
else if (slider == ui->configSlider_2)
ui->configButton_2->setFocus();
else if (slider == ui->configSlider_3)
ui->configButton_3->setFocus();
else if (slider == ui->configSlider_4)
ui->configButton_4->setFocus();
else if (slider == ui->configSlider_5)
ui->configButton_5->setFocus();
afterThreeSecsTimer.start();
}
else
start();
|
cd74cf6ed
김태훈
엔코더 관련 디자인 변경 적용
|
162
163
|
updateView();
|
184bdebb4
김태훈
엔코더 구현
|
164
|
}
|
11c611782
김태훈
자동 요리 세부 사항 구현
|
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
void AutoCookConfigWindow::changeCook(Cook cook)
{
if (this->cook.root == cook.root)
return;
this->cook = cook;
setupUi();
}
void AutoCookConfigWindow::connectNewWindow(AutoCookWindow *w)
{
connect(w, SIGNAL(back()), &afterThreeSecsTimer, SLOT(start()));
connect(w, SIGNAL(newWindow(AutoCookWindow*)), SLOT(connectNewWindow(AutoCookWindow*)));
}
|
184bdebb4
김태훈
엔코더 구현
|
180
181
182
183
184
185
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
215
216
|
void AutoCookConfigWindow::onEncoderLeft()
{
focusPreviousChild();
}
void AutoCookConfigWindow::onEncoderRight()
{
focusNextChild();
}
void AutoCookConfigWindow::onEncoderClicked(QWidget *clicked)
{
if (clicked == NULL)
return;
if (clicked->inherits("QPushButton"))
{
QPushButton *pb = qobject_cast<QPushButton *>(clicked);
if (pb)
pb->click();
}
else if (clicked->inherits("Slider"))
{
Slider *slider = qobject_cast<Slider *>(clicked);
if (slider)
{
if (slider == ui->configSlider_1)
ui->configButton_1->setFocus();
else if (slider == ui->configSlider_2)
ui->configButton_2->setFocus();
else if (slider == ui->configSlider_3)
ui->configButton_3->setFocus();
else if (slider == ui->configSlider_4)
ui->configButton_4->setFocus();
else if (slider == ui->configSlider_5)
ui->configButton_5->setFocus();
}
|
cd74cf6ed
김태훈
엔코더 관련 디자인 변경 적용
|
217
218
|
updateView();
|
184bdebb4
김태훈
엔코더 구현
|
219
|
}
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
220
221
222
223
224
225
|
}
void AutoCookConfigWindow::setupUi()
{
ui->cookTypeIcon->setPixmap(Define::icon(cook.type));
ui->selectCookButton->setText(cook.name);
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
226
227
228
229
230
|
QString styleSheet("\
QPushButton { image: url(%1); }\
QPushButton:pressed,\
QPushButton:focus { image: url(%2); }\
QPushButton:checked { image: url(%3); }");
|
6f96c947a
김태훈
GUI 0.1.4
|
231
232
|
for (int idx = 0; idx < 5; idx++)
{
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
233
|
ConfigWidget cw = configWidgets.at(idx);
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
234
235
|
CookConfig config = cook.configs[idx];
if (config.type == Define::ConfigNotUsed)
|
6f96c947a
김태훈
GUI 0.1.4
|
236
|
{
|
6f96c947a
김태훈
GUI 0.1.4
|
237
|
cw.button->hide();
|
6f96c947a
김태훈
GUI 0.1.4
|
238
239
240
241
242
243
244
|
cw.minimum->hide();
cw.maximum->hide();
cw.current->hide();
cw.slider->hide();
}
else
{
|
11c611782
김태훈
자동 요리 세부 사항 구현
|
245
246
247
248
249
|
cw.button->show();
cw.minimum->show();
cw.maximum->show();
cw.current->show();
cw.slider->show();
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
250
251
252
253
|
cw.button->setStyleSheet(styleSheet
.arg(Define::icon(config.type))
.arg(Define::iconOverlay(config.type))
.arg(Define::iconActiveted(config.type)));
|
6f96c947a
김태훈
GUI 0.1.4
|
254
|
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
255
256
|
cw.minimum->setText(Define::minimum(config.type));
cw.maximum->setText(Define::maximum(config.type));
|
6f96c947a
김태훈
GUI 0.1.4
|
257
|
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
258
|
switch (config.type)
|
6f96c947a
김태훈
GUI 0.1.4
|
259
|
{
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
260
|
case Define::Time:
|
935b853a4
김태훈
새 슬라이더 적용
|
261
|
cw.slider->setSubPixmap(":/images/slider/sub_white.png");
|
6f96c947a
김태훈
GUI 0.1.4
|
262
|
break;
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
263
|
case Define::BurnDegree:
|
935b853a4
김태훈
새 슬라이더 적용
|
264
|
cw.slider->setSubPixmap(":/images/slider/sub_yellow.png");
|
6f96c947a
김태훈
GUI 0.1.4
|
265
|
break;
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
266
|
case Define::Brightness:
|
935b853a4
김태훈
새 슬라이더 적용
|
267
|
cw.slider->setSubPixmap(":/images/slider/sub_red.png");
|
6f96c947a
김태훈
GUI 0.1.4
|
268
269
|
break;
default:
|
935b853a4
김태훈
새 슬라이더 적용
|
270
|
cw.slider->setSubPixmap(":/images/slider/sub_blue.png");
|
6f96c947a
김태훈
GUI 0.1.4
|
271
272
|
break;
}
|
935b853a4
김태훈
새 슬라이더 적용
|
273
274
275
276
277
278
|
cw.slider->blockSignals(true);
cw.slider->setMinimum(1);
cw.slider->setMaximum(config.maximum);
cw.slider->setValue(config.current);
cw.slider->blockSignals(false);
cw.slider->bigTickInterval = 1;
|
6f96c947a
김태훈
GUI 0.1.4
|
279
280
|
}
}
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
281
|
updateView();
|
6f96c947a
김태훈
GUI 0.1.4
|
282
283
284
285
286
287
|
}
void AutoCookConfigWindow::updateView()
{
for (int idx = 0; idx < 5; idx++)
{
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
288
289
|
CookConfig config = cook.configs[idx];
if (config.type == Define::ConfigNotUsed)
|
6f96c947a
김태훈
GUI 0.1.4
|
290
291
292
|
continue;
ConfigWidget cw = configWidgets.at(idx);
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
293
|
switch (config.type)
|
6f96c947a
김태훈
GUI 0.1.4
|
294
|
{
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
295
|
case Define::Time:
|
2bfd3a050
김태훈
환경 설정 대응
|
296
|
cw.current->setText(Stringer::remainingTime(cook.time() * 1000, Stringer::fontSize14));
|
6f96c947a
김태훈
GUI 0.1.4
|
297
|
break;
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
298
|
case Define::BurnDegree:
|
2bfd3a050
김태훈
환경 설정 대응
|
299
|
cw.current->setText(Stringer::temperature(cook.coreTemp(), Stringer::fontSize14));
|
6f96c947a
김태훈
GUI 0.1.4
|
300
301
|
break;
default:
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
302
303
304
305
|
cw.current->setText(QString().sprintf(
"%d"
"<span style=\"font-size:11pt;\">/%d</span>",
config.current, config.maximum));
|
6f96c947a
김태훈
GUI 0.1.4
|
306
307
308
|
break;
}
}
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
309
310
311
312
313
314
315
|
QWidget *focused = focusWidget();
ui->configButton_1->setChecked(focused == ui->configSlider_1);
ui->configButton_2->setChecked(focused == ui->configSlider_2);
ui->configButton_3->setChecked(focused == ui->configSlider_3);
ui->configButton_4->setChecked(focused == ui->configSlider_4);
ui->configButton_5->setChecked(focused == ui->configSlider_5);
|
6f96c947a
김태훈
GUI 0.1.4
|
316
317
318
319
|
}
void AutoCookConfigWindow::updateConfig()
{
|
935b853a4
김태훈
새 슬라이더 적용
|
320
321
322
323
324
|
cook.setConfig(ui->configSlider_1->sliderPosition(),
ui->configSlider_2->sliderPosition(),
ui->configSlider_3->sliderPosition(),
ui->configSlider_4->sliderPosition(),
ui->configSlider_5->sliderPosition());
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
325
326
327
|
updateView();
}
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
328
329
|
void AutoCookConfigWindow::start()
{
|
68c06e96f
김태훈
자동 요리 세부 사항 구현
|
330
|
setFocus();
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
331
332
333
334
|
AutoCookWindow *w = new AutoCookWindow(parentWidget(), cook);
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
|
7d0288172
김태훈
기능 추가 구현
|
335
|
|
184bdebb4
김태훈
엔코더 구현
|
336
|
connect(w, SIGNAL(back()), &afterThreeSecsTimer, SLOT(start()));
|
11c611782
김태훈
자동 요리 세부 사항 구현
|
337
|
connect(w, SIGNAL(newWindow(AutoCookWindow*)), SLOT(connectNewWindow(AutoCookWindow*)));
|
6f96c947a
김태훈
GUI 0.1.4
|
338
|
}
|
f588aa273
김태훈
부가 기능 로직 추가
|
339
340
341
342
343
344
345
346
347
348
349
|
void AutoCookConfigWindow::addFavorite()
{
AutoCookSetting s;
s.type = cook.type;
s.root = cook.root;
for (int i = 0; i < 5; i++)
s.configs[i] = cook.configs[i].current;
FavoriteNamePopup *p = new FavoriteNamePopup(this, s);
p->showFullScreen();
}
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
350
|
void AutoCookConfigWindow::on_backButton_clicked()
|
6f96c947a
김태훈
GUI 0.1.4
|
351
|
{
|
6a81d38e4
김태훈
자동 요리 관련 로직 전면 재작성
|
352
|
close();
|
6f96c947a
김태훈
GUI 0.1.4
|
353
|
}
|
f588aa273
김태훈
부가 기능 로직 추가
|
354
|
|
e00c6a2a9
김태훈
기능 추가 구현
|
355
356
357
358
359
360
361
362
363
|
void AutoCookConfigWindow::on_configButton_clicked()
{
ConfigWindow *w = new ConfigWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
MainWindow::jump(w);
}
|
f588aa273
김태훈
부가 기능 로직 추가
|
364
365
|
void AutoCookConfigWindow::on_favoritesButton_clicked()
{
|
e53f597d1
김태훈
고객사 요청 반영
|
366
367
|
// ConfirmPopup *p = new ConfirmPopup(this, tr("즐겨찾기 항목에 추가하시겠습니까?"));
// p->showFullScreen();
|
f588aa273
김태훈
부가 기능 로직 추가
|
368
|
|
e53f597d1
김태훈
고객사 요청 반영
|
369
|
// connect(p, SIGNAL(accepted()), SLOT(addFavorite()));
|
f588aa273
김태훈
부가 기능 로직 추가
|
370
|
|
e53f597d1
김태훈
고객사 요청 반영
|
371
372
373
374
375
|
// if (afterThreeSecsTimer.isActive())
// {
// afterThreeSecsTimer.stop();
// connect(p, SIGNAL(rejected()), &afterThreeSecsTimer, SLOT(start()));
// }
|
f588aa273
김태훈
부가 기능 로직 추가
|
376
|
}
|
e00c6a2a9
김태훈
기능 추가 구현
|
377
378
379
380
381
382
383
384
385
386
|
void AutoCookConfigWindow::on_washButton_clicked()
{
WashWindow *w = new WashWindow(MainWindow::getInstance());
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
MainWindow::jump(w);
}
|
184bdebb4
김태훈
엔코더 구현
|
387
388
389
390
|
void AutoCookConfigWindow::on_configButton_1_clicked()
{
ui->configSlider_1->setFocus();
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
391
|
updateView();
|
184bdebb4
김태훈
엔코더 구현
|
392
393
394
395
396
|
}
void AutoCookConfigWindow::on_configButton_2_clicked()
{
ui->configSlider_2->setFocus();
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
397
|
updateView();
|
184bdebb4
김태훈
엔코더 구현
|
398
399
400
401
402
|
}
void AutoCookConfigWindow::on_configButton_3_clicked()
{
ui->configSlider_3->setFocus();
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
403
|
updateView();
|
184bdebb4
김태훈
엔코더 구현
|
404
405
406
407
408
|
}
void AutoCookConfigWindow::on_configButton_4_clicked()
{
ui->configSlider_4->setFocus();
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
409
|
updateView();
|
184bdebb4
김태훈
엔코더 구현
|
410
411
412
413
414
|
}
void AutoCookConfigWindow::on_configButton_5_clicked()
{
ui->configSlider_5->setFocus();
|
07441dbd3
김태훈
엔코더 관련 디자인 변경 대비
|
415
|
updateView();
|
184bdebb4
김태훈
엔코더 구현
|
416
|
}
|
11c611782
김태훈
자동 요리 세부 사항 구현
|
417
418
419
|
void AutoCookConfigWindow::on_selectCookButton_clicked()
{
|
68c06e96f
김태훈
자동 요리 세부 사항 구현
|
420
|
setFocus();
|
11c611782
김태훈
자동 요리 세부 사항 구현
|
421
422
423
424
425
|
AutoCookSelectionPopup *p = new AutoCookSelectionPopup(this, cook.type);
p->showFullScreen();
p->raise();
connect(p, SIGNAL(selected(Cook)), SLOT(changeCook(Cook)));
|
68c06e96f
김태훈
자동 요리 세부 사항 구현
|
426
427
|
connect(p, SIGNAL(selected(Cook)), SLOT(setFocus()));
connect(p, SIGNAL(canceled()), SLOT(setFocus()));
|
11c611782
김태훈
자동 요리 세부 사항 구현
|
428
429
430
431
432
433
434
435
|
if (afterThreeSecsTimer.isActive())
{
afterThreeSecsTimer.stop();
connect(p, SIGNAL(selected(Cook)), &afterThreeSecsTimer, SLOT(start()));
connect(p, SIGNAL(canceled()), &afterThreeSecsTimer, SLOT(start()));
}
}
|
68c06e96f
김태훈
자동 요리 세부 사항 구현
|
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
|
void AutoCookConfigWindow::on_checkCookButton_clicked()
{
setFocus();
AutoCookCheckWindow *w = new AutoCookCheckWindow(this, cook);
w->setWindowModality(Qt::WindowModal);
w->showFullScreen();
w->raise();
if (afterThreeSecsTimer.isActive())
{
afterThreeSecsTimer.stop();
connect(w, SIGNAL(back()), &afterThreeSecsTimer, SLOT(start()));
}
}
|