Commit fa41bb40d6beb9ee34f40b9e23bd91c7236dcbb3
1 parent
d20f8d98a6
Exists in
master
and in
2 other branches
HACCP 데이터 파일 다운로드 기능 추가
- HACCP 데이터 다운로드 다이얼로그 추가 - HACCP 데이터 다운로드 쓰레드 기능 추가
Showing
15 changed files
with
928 additions
and
22 deletions
Show diff stats
app/gui/oven_control/config.cpp
... | ... | @@ -28,6 +28,7 @@ |
28 | 28 | #include "system.h" |
29 | 29 | #include "unistd.h" |
30 | 30 | #include "configdemomodedlg.h" |
31 | +#include "haccpdownloaddlg.h" | |
31 | 32 | #include <QFontDatabase> |
32 | 33 | |
33 | 34 | using namespace Define; |
... | ... | @@ -566,6 +567,8 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ |
566 | 567 | dlg=new ConfigIpDlg(parent); |
567 | 568 | break; |
568 | 569 | case config_haccp_data_download: |
570 | + dlg = new HaccpDownloadDlg(parent); | |
571 | + break; | |
569 | 572 | case config_info_data_download: |
570 | 573 | case config_service_data_download: |
571 | 574 | case config_program_download: | ... | ... |
app/gui/oven_control/configwindow.h
... | ... | @@ -32,12 +32,12 @@ class ConfigWindow : public QMainWindow |
32 | 32 | |
33 | 33 | private: |
34 | 34 | const uint16_t m_arrMaxMenuCount[7] ={ |
35 | - 6,8,8,2,3,0,6 | |
35 | + 6,8,9,2,3,0,6 | |
36 | 36 | }; |
37 | 37 | const Define::ConfigType m_arrConfigListInfos[7][20] = { |
38 | 38 | {config_language,config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,}, |
39 | 39 | {config_marster_vol,config_keypad_sound1,config_keypad_sound2,config_request_loadexec,config_programstep_finish,config_cooktime_finish,config_stoperror_distinguish,config_sound_factory_reset}, |
40 | - {config_info_data_download,config_service_data_download,config_program_download,config_program_upload ,config_program_initialize,config_ip,config_set_download,config_set_upload}, | |
40 | + {config_haccp_data_download, config_info_data_download,config_service_data_download,config_program_download,config_program_upload ,config_program_initialize,config_ip,config_set_download,config_set_upload}, | |
41 | 41 | {config_set_half_energy,config_set_auto_darkness,}, |
42 | 42 | {config_duty_wash,config_loading_door_monitoring,config_cooking_door_monitoring}, |
43 | 43 | {config_invalid,}, | ... | ... |
app/gui/oven_control/fileprocessdlg.cpp
... | ... | @@ -18,7 +18,7 @@ |
18 | 18 | |
19 | 19 | |
20 | 20 | ProgramCopyWorker::ProgramCopyWorker(){ |
21 | - m_bStop = false; | |
21 | + | |
22 | 22 | } |
23 | 23 | |
24 | 24 | |
... | ... | @@ -236,13 +236,55 @@ void ProgramCopyWorker::addSrcFile(QString strfilename){ |
236 | 236 | m_arrSrcFileList.append(strfilename); |
237 | 237 | } |
238 | 238 | |
239 | -void ProgramCopyWorker::workerStop(){ | |
240 | - //QMutexLocker locker(&m_mutex); | |
241 | - // qDebug() << "stop thread"; | |
242 | - m_bStop = true; | |
239 | + | |
240 | + | |
241 | + | |
242 | +void ProgramCopyWorker::haccpDownloadMain() | |
243 | +{ | |
244 | + int nDateTotalCount = m_dtStart.daysTo(m_dtEnd)+1; | |
245 | + int nDateCpltCount=0; | |
246 | + int year, mon, day; | |
247 | + QProcess process; | |
248 | + | |
249 | + qDebug() << __func__; | |
250 | + if(nDateTotalCount <= 0){ | |
251 | + qDebug() << "total date" << nDateTotalCount; | |
252 | + emit progressed(100,0); | |
253 | + emit finished(); | |
254 | + return; | |
255 | + } | |
256 | + | |
257 | + for(QDate dt = m_dtStart; dt <= m_dtEnd; dt=dt.addDays(1)){ | |
258 | + year = dt.year(); mon = dt.month(); day=dt.day(); | |
259 | + QString path = QString("/prime/haccp/%1/%2/%3/").arg(year,2,10,QLatin1Char('4')).arg(mon, 2,10,QLatin1Char('0')).arg(day,2,10,QLatin1Char('0')); | |
260 | + QDir dir(path); | |
261 | + QString cmd = QString("sh -c \"zip -P primeov980308 -r %1/%2%3%4.zip *\"").arg(m_strDestDir).arg(year,2,10,QLatin1Char('4')).arg(mon, 2,10,QLatin1Char('0')).arg(day,2,10,QLatin1Char('0')); | |
262 | + | |
263 | + if(dir.exists()){ | |
264 | + qDebug() << "path is " << path<< "cmd is "<< cmd; | |
265 | + process.setWorkingDirectory(path); | |
266 | + process.start(cmd); | |
267 | + if(!process.waitForFinished(30000)){ | |
268 | + qDebug() << "zip failed"; | |
269 | + } | |
270 | + process.start("sync"); | |
271 | + process.waitForFinished(); | |
272 | + nDateCpltCount++; | |
273 | + emit progressed(nDateCpltCount*100/nDateTotalCount , nDateTotalCount - nDateCpltCount); | |
274 | + QThread::currentThread()->msleep(300); | |
275 | + } | |
276 | + else { | |
277 | + nDateCpltCount++; | |
278 | + emit progressed( nDateCpltCount*100/nDateTotalCount , nDateTotalCount - nDateCpltCount); | |
279 | + QThread::currentThread()->msleep(500); | |
280 | + } | |
281 | + } | |
282 | + sync(); | |
283 | + emit finished(); | |
243 | 284 | } |
244 | 285 | |
245 | 286 | |
287 | + | |
246 | 288 | FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : |
247 | 289 | QDialog(parent), |
248 | 290 | ui(new Ui::FileProcessDlg) |
... | ... | @@ -261,12 +303,15 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : |
261 | 303 | ui->ctrWjProcess->setMinimum(0); |
262 | 304 | ui->ctrWjProcess->setMaximum(100); |
263 | 305 | |
306 | + | |
264 | 307 | if(isDown){ |
265 | 308 | QPixmap pxmap; |
266 | 309 | pxmap.load(":/images/config/102_usb_upload_icon.png"); |
267 | 310 | ui->label_2->setPixmap(pxmap); |
268 | 311 | } |
269 | 312 | |
313 | + | |
314 | + | |
270 | 315 | switch(type){ |
271 | 316 | case config_haccp_data_download: |
272 | 317 | QTimer::singleShot(100,this,SLOT(haccpdataDownload())); |
... | ... | @@ -298,6 +343,34 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : |
298 | 343 | } |
299 | 344 | } |
300 | 345 | |
346 | +FileProcessDlg::FileProcessDlg(QDate startdt, QDate enddt, QWidget *parent): | |
347 | + QDialog(parent), | |
348 | + ui(new Ui::FileProcessDlg) | |
349 | +{ | |
350 | + ui->setupUi(this); | |
351 | + setAttribute(Qt::WA_DeleteOnClose); | |
352 | + setAttribute(Qt::WA_TranslucentBackground); | |
353 | + setWindowFlags(Qt::FramelessWindowHint); | |
354 | + qApp->setActiveWindow(this); | |
355 | + this->setFocus(); | |
356 | + ui->ctrBtnCancel->setFocus(); | |
357 | + | |
358 | + m_bRst = true; | |
359 | + m_nCfgtype = config_haccp_data_download; | |
360 | + | |
361 | + ui->ctrWjProcess->setMinimum(0); | |
362 | + ui->ctrWjProcess->setMaximum(100); | |
363 | + | |
364 | + m_dtStart = startdt; | |
365 | + m_dtEnd = enddt; | |
366 | + | |
367 | + QPixmap pxmap; | |
368 | + pxmap.load(":/images/config/102_usb_upload_icon.png"); | |
369 | + ui->label_2->setPixmap(pxmap); | |
370 | + | |
371 | + QTimer::singleShot(100,this,SLOT(haccpdataDownload())); | |
372 | +} | |
373 | + | |
301 | 374 | FileProcessDlg::~FileProcessDlg() |
302 | 375 | { |
303 | 376 | delete ui; |
... | ... | @@ -306,7 +379,6 @@ FileProcessDlg::~FileProcessDlg() |
306 | 379 | void FileProcessDlg::on_ctrBtnCancel_clicked() |
307 | 380 | { |
308 | 381 | |
309 | - //emit stopcopy(); | |
310 | 382 | programCopyThd.requestInterruption(); |
311 | 383 | //close(); |
312 | 384 | } |
... | ... | @@ -574,10 +646,8 @@ void FileProcessDlg::programDownload(){ |
574 | 646 | connect(&programCopyThd,SIGNAL(started()), &worker, SLOT(workerMain())); |
575 | 647 | connect(&worker, SIGNAL(progressed(int,int)), this, SLOT(onProgressed(int,int))); |
576 | 648 | connect(&worker, SIGNAL(errorFired(QString)), this, SLOT(onErrorFired(QString))); |
577 | - connect(this, SIGNAL(stopcopy()), &worker, SLOT(workerStop())); | |
578 | 649 | connect(&worker, SIGNAL(finished()), &programCopyThd,SLOT(quit())); |
579 | 650 | connect(&programCopyThd, SIGNAL(finished()), this, SLOT(onProgressFinished())); |
580 | - //connect(ui->ctrBtnCancel, SIGNAL(clicked(bool)), &worker, SLOT(workerStop())); | |
581 | 651 | |
582 | 652 | programCopyThd.start(); |
583 | 653 | qDebug() << "thread start"; |
... | ... | @@ -665,6 +735,7 @@ void FileProcessDlg::onErrorFired(QString Desc) |
665 | 735 | void FileProcessDlg::onProgressed(int progress, int sec){ |
666 | 736 | int min, _sec; |
667 | 737 | QString strTemp; |
738 | + qDebug() << __func__<< progress << sec; | |
668 | 739 | ui->ctrWjProcess->setValue(progress); |
669 | 740 | min = sec/60; |
670 | 741 | _sec = sec%60; |
... | ... | @@ -673,9 +744,11 @@ void FileProcessDlg::onProgressed(int progress, int sec){ |
673 | 744 | ui->ctrLbRemainTime->setText(strTemp); |
674 | 745 | } |
675 | 746 | else{ |
676 | - strTemp = tr("남은 예상 시간 : %1초").arg(_sec); | |
747 | + strTemp = QString(tr("남은 예상 시간 : %1초")).arg(_sec); | |
748 | + qDebug() << strTemp; | |
677 | 749 | ui->ctrLbRemainTime->setText(strTemp); |
678 | 750 | } |
751 | + update(); | |
679 | 752 | } |
680 | 753 | |
681 | 754 | void FileProcessDlg::programUpload(){ |
... | ... | @@ -704,10 +777,8 @@ void FileProcessDlg::programUpload(){ |
704 | 777 | connect(&programCopyThd,SIGNAL(started()), &worker, SLOT(workerMain())); |
705 | 778 | connect(&worker, SIGNAL(progressed(int,int)), this, SLOT(onProgressed(int,int))); |
706 | 779 | connect(&worker,SIGNAL(errorFired(QString)),this,SLOT(onErrorFired(QString))); |
707 | - connect(this, SIGNAL(stopcopy()), &worker, SLOT(workerStop())); | |
708 | 780 | connect(&worker, SIGNAL(finished()), &programCopyThd,SLOT(quit())); |
709 | 781 | connect(&programCopyThd, SIGNAL(finished()), this, SLOT(onProgressFinished())); |
710 | - //connect(ui->ctrBtnCancel, SIGNAL(clicked(bool)), &worker, SLOT(workerStop())); | |
711 | 782 | |
712 | 783 | programCopyThd.start(); |
713 | 784 | qDebug() << "thread start"; |
... | ... | @@ -816,9 +887,37 @@ void FileProcessDlg::configUpload(){ |
816 | 887 | } |
817 | 888 | |
818 | 889 | void FileProcessDlg::haccpdataDownload(){ |
819 | - ui->ctrWjProcess->setValue(100); | |
820 | - ui->ctrLbRemainTime->setText(tr("남은 예상 시간 : 완료")); | |
821 | - QTimer::singleShot(1000,this,SLOT(close())); | |
890 | + QString strSrcPath; | |
891 | + | |
892 | + if(FileProcessor::detectUSB(strSrcPath)){ | |
893 | + strSrcPath = QString("%1/prime/haccp").arg(strSrcPath); | |
894 | + QDir dir(strSrcPath); | |
895 | + if(dir.exists()){ | |
896 | + qDebug() << "remove dirs " << strSrcPath; | |
897 | + dir.removeRecursively(); | |
898 | + sync(); | |
899 | + sleep(1); | |
900 | + } | |
901 | + qDebug() << "src paht is " << strSrcPath; | |
902 | + dir.mkpath(strSrcPath); | |
903 | + sync(); | |
904 | + worker.setDestPath(strSrcPath); | |
905 | + worker.setStartDate(m_dtStart); | |
906 | + worker.setEndDate(m_dtEnd); | |
907 | + worker.moveToThread(&programCopyThd); | |
908 | + | |
909 | + connect(&programCopyThd,SIGNAL(started()), &worker, SLOT(haccpDownloadMain())); | |
910 | + connect(&worker, SIGNAL(progressed(int,int)), this, SLOT(onProgressed(int,int))); | |
911 | + connect(&worker,SIGNAL(errorFired(QString)),this,SLOT(onErrorFired(QString))); | |
912 | + connect(&worker, SIGNAL(finished()), &programCopyThd,SLOT(quit())); | |
913 | + connect(&programCopyThd, SIGNAL(finished()), this, SLOT(onProgressFinished())); | |
914 | + | |
915 | + programCopyThd.start(); | |
916 | + } | |
917 | + else{ | |
918 | + ui->ctrLbRemainTime->setText(tr("USB 인식을 실패하였습니다.")); | |
919 | + QTimer::singleShot(1000,this,SLOT(close())); | |
920 | + } | |
822 | 921 | } |
823 | 922 | |
824 | 923 | void FileProcessDlg::standardInfoUpload() | ... | ... |
app/gui/oven_control/fileprocessdlg.h
... | ... | @@ -8,6 +8,7 @@ |
8 | 8 | #include <QList> |
9 | 9 | #include <QMutex> |
10 | 10 | #include <QKeyEvent> |
11 | +#include <QDate> | |
11 | 12 | #include "config.h" |
12 | 13 | #include "servicedata.h" |
13 | 14 | #include "historylistwindow.h" |
... | ... | @@ -26,17 +27,22 @@ class ProgramCopyWorker : public QObject{ |
26 | 27 | QList<QString> m_arrSrcDirList; |
27 | 28 | QMutex m_mutex; |
28 | 29 | bool m_bStop; |
30 | + QDate m_dtStart; | |
31 | + QDate m_dtEnd; | |
32 | + | |
29 | 33 | public: |
30 | 34 | explicit ProgramCopyWorker(QString strDest); |
31 | 35 | explicit ProgramCopyWorker(); |
32 | 36 | void setDestPath(QString strDest); |
33 | 37 | void addSrcFile(QString strfilename); |
34 | 38 | void addSrcDir(QString strDirPath); |
39 | + void setStartDate(QDate &dt){m_dtStart = dt;} | |
40 | + void setEndDate(QDate &dt){m_dtEnd = dt;} | |
35 | 41 | |
36 | 42 | |
37 | 43 | public slots: |
38 | 44 | void workerMain(); |
39 | - void workerStop(); | |
45 | + void haccpDownloadMain(); | |
40 | 46 | |
41 | 47 | signals: |
42 | 48 | void finished(); |
... | ... | @@ -52,6 +58,7 @@ class FileProcessDlg : public QDialog |
52 | 58 | |
53 | 59 | public: |
54 | 60 | explicit FileProcessDlg(QWidget *parent = 0, ConfigType type = config_invalid, bool isDown = true); |
61 | + explicit FileProcessDlg(QDate startdt, QDate enddt, QWidget *parent = 0); | |
55 | 62 | ~FileProcessDlg(); |
56 | 63 | |
57 | 64 | private slots: |
... | ... | @@ -66,7 +73,6 @@ private slots: |
66 | 73 | void standardInfoUpload(); |
67 | 74 | |
68 | 75 | signals: |
69 | - void stopcopy(); | |
70 | 76 | |
71 | 77 | public slots: |
72 | 78 | void onProgressed(int progress,int sec); |
... | ... | @@ -82,6 +88,8 @@ private: |
82 | 88 | ConfigType m_nCfgtype; |
83 | 89 | QThread programCopyThd; |
84 | 90 | ProgramCopyWorker worker; |
91 | + QDate m_dtStart; | |
92 | + QDate m_dtEnd; | |
85 | 93 | bool m_bRst; |
86 | 94 | }; |
87 | 95 | ... | ... |
app/gui/oven_control/haccpdownloaddlg.cpp
... | ... | @@ -0,0 +1,144 @@ |
1 | +#include <QSignalMapper> | |
2 | +#include <QDate> | |
3 | +#include <QKeyEvent> | |
4 | +#include <QDebug> | |
5 | +#include "haccpdownloaddlg.h" | |
6 | +#include "ui_haccpdownloaddlg.h" | |
7 | +#include "soundplayer.h" | |
8 | +#include "fileprocessdlg.h" | |
9 | +#include "config.h" | |
10 | + | |
11 | +HaccpDownloadDlg::HaccpDownloadDlg(QWidget *parent) : | |
12 | + QDialog(parent), | |
13 | + ui(new Ui::HaccpDownloadDlg) | |
14 | +{ | |
15 | + ui->setupUi(this); | |
16 | + this->setWindowFlags(Qt::FramelessWindowHint); | |
17 | + setAttribute(Qt::WA_DeleteOnClose); | |
18 | + qApp->setActiveWindow(this); | |
19 | + this->setFocus(); | |
20 | + | |
21 | + foreach (QPushButton *button, findChildren<QPushButton *>()) | |
22 | + connect(button, &QPushButton::pressed, SoundPlayer::playClick); | |
23 | + | |
24 | + ui->ctrSpBxYearStart->setFormatterWidth(4); | |
25 | + ui->ctrSpBxYearEnd->setFormatterWidth(4); | |
26 | + QDate date = QDate::currentDate(); | |
27 | + ui->ctrSpBxDayEnd->setValue(date.day()); | |
28 | + ui->ctrSpBxDayStart->setValue(date.day()); | |
29 | + ui->ctrSpBxMonthEnd->setValue(date.month()); | |
30 | + ui->ctrSpBxMonthStart->setValue(date.month()); | |
31 | + ui->ctrSpBxYearStart->setValue(date.year()); | |
32 | + ui->ctrSpBxYearEnd->setValue(date.year()); | |
33 | + | |
34 | + ui->ctrSpBxYearStart->setFocus(); | |
35 | + | |
36 | + | |
37 | + | |
38 | + connect(ui->keyboardwidget, SIGNAL(onOkKeyClicked()), this, SLOT(keyEnter_clicked())); | |
39 | + connect(ui->keyboardwidget, SIGNAL(onCancelKeyClicked()), this, SLOT(keyCancel_clicked())); | |
40 | + | |
41 | + QSignalMapper* mapper = new QSignalMapper(this); | |
42 | + mapper->setMapping(ui->ctrSpBxYearStart, ui->ctrSpBxYearStart); | |
43 | + mapper->setMapping(ui->ctrSpBxYearEnd, ui->ctrSpBxYearEnd); | |
44 | + mapper->setMapping(ui->ctrSpBxMonthStart, ui->ctrSpBxMonthStart); | |
45 | + mapper->setMapping(ui->ctrSpBxMonthEnd, ui->ctrSpBxMonthEnd); | |
46 | + mapper->setMapping(ui->ctrSpBxDayStart, ui->ctrSpBxDayStart); | |
47 | + | |
48 | + connect(ui->ctrSpBxDayEnd, SIGNAL(focusInEdit()), mapper,SLOT(map())); | |
49 | + connect(ui->ctrSpBxDayStart, SIGNAL(focusInEdit()), mapper,SLOT(map())); | |
50 | + connect(ui->ctrSpBxMonthEnd, SIGNAL(focusInEdit()), mapper,SLOT(map())); | |
51 | + connect(ui->ctrSpBxMonthStart, SIGNAL(focusInEdit()), mapper,SLOT(map())); | |
52 | + connect(ui->ctrSpBxYearStart, SIGNAL(focusInEdit()), mapper,SLOT(map())); | |
53 | + connect(ui->ctrSpBxYearEnd, SIGNAL(focusInEdit()), mapper,SLOT(map())); | |
54 | + | |
55 | + connect(mapper, SIGNAL(mapped(QWidget*)), this, SLOT(focusInSpinBox(QWidget*))); | |
56 | + | |
57 | + | |
58 | +} | |
59 | + | |
60 | +HaccpDownloadDlg::~HaccpDownloadDlg() | |
61 | +{ | |
62 | + delete ui; | |
63 | +} | |
64 | + | |
65 | +void HaccpDownloadDlg::on_ctrBtnCancel_clicked() | |
66 | +{ | |
67 | + deleteLater(); | |
68 | +} | |
69 | + | |
70 | +void HaccpDownloadDlg::on_ctrBtnOk_clicked() | |
71 | +{ | |
72 | + FileProcessDlg* dlg = new FileProcessDlg(QDate(ui->ctrSpBxYearStart->value(), ui->ctrSpBxMonthStart->value(), ui->ctrSpBxDayStart->value()), | |
73 | + QDate(ui->ctrSpBxYearEnd->value(),ui->ctrSpBxMonthEnd->value(), ui->ctrSpBxDayEnd->value()), | |
74 | + this); | |
75 | + connect(dlg, SIGNAL(destroyed(QObject*)), SLOT(deleteLater())); | |
76 | + dlg->setWindowModality(Qt::WindowModal); | |
77 | + dlg->show(); | |
78 | + dlg->exec(); | |
79 | +} | |
80 | + | |
81 | +void HaccpDownloadDlg::keyCancel_clicked() | |
82 | +{ | |
83 | + QSpinBox *spbx = qobject_cast<QSpinBox*>(focusWidget()); | |
84 | + if(spbx != NULL){ | |
85 | + spbx->setValue(m_nFocusValue); | |
86 | + } | |
87 | + ui->keyboardwidget->focusOutKeyboard(); | |
88 | +} | |
89 | + | |
90 | +void HaccpDownloadDlg::keyEnter_clicked(){ | |
91 | + ui->keyboardwidget->focusOutKeyboard(); | |
92 | +} | |
93 | + | |
94 | + | |
95 | +void HaccpDownloadDlg::focusInSpinBox(QWidget *widget){ | |
96 | + QSpinBox *spbx = qobject_cast<QSpinBox*>(widget); | |
97 | + if(spbx != NULL){ | |
98 | + m_nFocusValue = spbx->value(); | |
99 | + } | |
100 | +} | |
101 | + | |
102 | +void HaccpDownloadDlg::keyReleaseEvent(QKeyEvent *event) | |
103 | +{ | |
104 | + switch (event->key()) | |
105 | + { | |
106 | + case 0x01000032: // Turn left | |
107 | + if(focusWidget() == ui->ctrSpBxYearStart) ui->ctrBtnCancel->setFocus(); | |
108 | + else focusPreviousChild(); | |
109 | + break; | |
110 | + case 0x01000031: // Push | |
111 | + { | |
112 | + QPushButton *btn = qobject_cast<QPushButton*>(focusWidget()); | |
113 | + if(btn != NULL){ | |
114 | + btn->click(); | |
115 | + } | |
116 | + else{ | |
117 | + QSpinBox *spbx = qobject_cast<QSpinBox*>(focusWidget()); | |
118 | + qDebug() << "grab keyboard"; | |
119 | + if(spbx != NULL) ui->keyboardwidget->focusInKeyboard(); | |
120 | + } | |
121 | + break; | |
122 | + } | |
123 | + case 0x01000030: // Turn right | |
124 | + if(focusWidget() == ui->ctrBtnCancel) ui->ctrSpBxYearStart->setFocus(); | |
125 | + else focusNextChild(); | |
126 | + break; | |
127 | + } | |
128 | +} | |
129 | + | |
130 | +void HaccpDownloadDlg::keyPressEvent(QKeyEvent *event){ | |
131 | + switch (event->key()) | |
132 | + { | |
133 | + case 0x01000032: // Turn left | |
134 | + if(focusWidget() == ui->ctrSpBxYearStart) ui->ctrBtnCancel->setFocus(); | |
135 | + else focusPreviousChild(); | |
136 | + break; | |
137 | + case 0x01000031: // Push | |
138 | + break; | |
139 | + case 0x01000030: // Turn right | |
140 | + if(focusWidget() == ui->ctrBtnCancel) ui->ctrSpBxYearStart->setFocus(); | |
141 | + else focusNextChild(); | |
142 | + break; | |
143 | + } | |
144 | +} | ... | ... |
app/gui/oven_control/haccpdownloaddlg.h
... | ... | @@ -0,0 +1,37 @@ |
1 | +#ifndef HACCPDOWNLOADDLG_H | |
2 | +#define HACCPDOWNLOADDLG_H | |
3 | + | |
4 | +#include <QDialog> | |
5 | + | |
6 | +namespace Ui { | |
7 | +class HaccpDownloadDlg; | |
8 | +} | |
9 | + | |
10 | +class HaccpDownloadDlg : public QDialog | |
11 | +{ | |
12 | + Q_OBJECT | |
13 | + | |
14 | +public: | |
15 | + explicit HaccpDownloadDlg(QWidget *parent = 0); | |
16 | + ~HaccpDownloadDlg(); | |
17 | + | |
18 | +private slots: | |
19 | + void on_ctrBtnCancel_clicked(); | |
20 | + | |
21 | + void on_ctrBtnOk_clicked(); | |
22 | + | |
23 | + void keyCancel_clicked(); | |
24 | + void keyEnter_clicked(); | |
25 | + | |
26 | + void focusInSpinBox(QWidget *widget); | |
27 | + | |
28 | +protected: | |
29 | + void keyReleaseEvent(QKeyEvent* event); | |
30 | + void keyPressEvent(QKeyEvent* event); | |
31 | + | |
32 | +private: | |
33 | + Ui::HaccpDownloadDlg *ui; | |
34 | + int m_nFocusValue; | |
35 | +}; | |
36 | + | |
37 | +#endif // HACCPDOWNLOADDLG_H | ... | ... |
app/gui/oven_control/haccpdownloaddlg.ui
... | ... | @@ -0,0 +1,609 @@ |
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<ui version="4.0"> | |
3 | + <class>HaccpDownloadDlg</class> | |
4 | + <widget class="QDialog" name="HaccpDownloadDlg"> | |
5 | + <property name="geometry"> | |
6 | + <rect> | |
7 | + <x>0</x> | |
8 | + <y>0</y> | |
9 | + <width>900</width> | |
10 | + <height>1600</height> | |
11 | + </rect> | |
12 | + </property> | |
13 | + <property name="styleSheet"> | |
14 | + <string notr="true">#ConfigDateTimeDlg{ | |
15 | + /*background-color : transparent;*/ | |
16 | +} | |
17 | + | |
18 | +#centralwidget{ | |
19 | + background-image : url(:/images/background/popup/913.png); | |
20 | +} | |
21 | + | |
22 | +QLabel { | |
23 | + color : white; | |
24 | +} | |
25 | +QLineEdit{ | |
26 | + background-color : transparent; | |
27 | + color : white; | |
28 | +} | |
29 | + | |
30 | +QSpinBox{ | |
31 | + background-color : transparent; | |
32 | + color : white; | |
33 | +} | |
34 | + | |
35 | +QPushButton{ | |
36 | + border-color : transparent; | |
37 | + background-color : transparent; | |
38 | + color : white; | |
39 | +} | |
40 | +QPushButton::pressed, QPushButton::focus{ | |
41 | + color : yellow; | |
42 | +}</string> | |
43 | + </property> | |
44 | + <widget class="QWidget" name="centralwidget" native="true"> | |
45 | + <property name="geometry"> | |
46 | + <rect> | |
47 | + <x>0</x> | |
48 | + <y>425</y> | |
49 | + <width>900</width> | |
50 | + <height>1025</height> | |
51 | + </rect> | |
52 | + </property> | |
53 | + <widget class="QWidget" name="verticalLayoutWidget"> | |
54 | + <property name="geometry"> | |
55 | + <rect> | |
56 | + <x>0</x> | |
57 | + <y>0</y> | |
58 | + <width>901</width> | |
59 | + <height>421</height> | |
60 | + </rect> | |
61 | + </property> | |
62 | + <layout class="QVBoxLayout" name="verticalLayout" stretch="10,10,10,10,8"> | |
63 | + <property name="spacing"> | |
64 | + <number>10</number> | |
65 | + </property> | |
66 | + <property name="sizeConstraint"> | |
67 | + <enum>QLayout::SetDefaultConstraint</enum> | |
68 | + </property> | |
69 | + <item> | |
70 | + <widget class="QLabel" name="label"> | |
71 | + <property name="maximumSize"> | |
72 | + <size> | |
73 | + <width>16777215</width> | |
74 | + <height>94</height> | |
75 | + </size> | |
76 | + </property> | |
77 | + <property name="font"> | |
78 | + <font> | |
79 | + <family>나눔고딕</family> | |
80 | + <pointsize>18</pointsize> | |
81 | + <weight>75</weight> | |
82 | + <bold>true</bold> | |
83 | + </font> | |
84 | + </property> | |
85 | + <property name="styleSheet"> | |
86 | + <string notr="true">color : white;</string> | |
87 | + </property> | |
88 | + <property name="text"> | |
89 | + <string>HACCP 데이터 다운로드</string> | |
90 | + </property> | |
91 | + <property name="alignment"> | |
92 | + <set>Qt::AlignCenter</set> | |
93 | + </property> | |
94 | + </widget> | |
95 | + </item> | |
96 | + <item> | |
97 | + <widget class="Line" name="line"> | |
98 | + <property name="styleSheet"> | |
99 | + <string notr="true">color: rgb(255, 255, 255);</string> | |
100 | + </property> | |
101 | + <property name="orientation"> | |
102 | + <enum>Qt::Horizontal</enum> | |
103 | + </property> | |
104 | + </widget> | |
105 | + </item> | |
106 | + <item> | |
107 | + <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0,1,0,1,0,1"> | |
108 | + <property name="spacing"> | |
109 | + <number>15</number> | |
110 | + </property> | |
111 | + <property name="leftMargin"> | |
112 | + <number>150</number> | |
113 | + </property> | |
114 | + <property name="rightMargin"> | |
115 | + <number>150</number> | |
116 | + </property> | |
117 | + <item> | |
118 | + <widget class="QLabel" name="label_8"> | |
119 | + <property name="font"> | |
120 | + <font> | |
121 | + <family>나눔고딕</family> | |
122 | + <pointsize>18</pointsize> | |
123 | + <weight>75</weight> | |
124 | + <bold>true</bold> | |
125 | + </font> | |
126 | + </property> | |
127 | + <property name="text"> | |
128 | + <string/> | |
129 | + </property> | |
130 | + <property name="pixmap"> | |
131 | + <pixmap resource="resources.qrc">:/images/symbol/up_date.png</pixmap> | |
132 | + </property> | |
133 | + </widget> | |
134 | + </item> | |
135 | + <item> | |
136 | + <widget class="FormatterSpinBox" name="ctrSpBxYearStart"> | |
137 | + <property name="sizePolicy"> | |
138 | + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> | |
139 | + <horstretch>0</horstretch> | |
140 | + <verstretch>0</verstretch> | |
141 | + </sizepolicy> | |
142 | + </property> | |
143 | + <property name="font"> | |
144 | + <font> | |
145 | + <family>나눔고딕</family> | |
146 | + <pointsize>18</pointsize> | |
147 | + <underline>true</underline> | |
148 | + </font> | |
149 | + </property> | |
150 | + <property name="focusPolicy"> | |
151 | + <enum>Qt::StrongFocus</enum> | |
152 | + </property> | |
153 | + <property name="frame"> | |
154 | + <bool>false</bool> | |
155 | + </property> | |
156 | + <property name="alignment"> | |
157 | + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> | |
158 | + </property> | |
159 | + <property name="buttonSymbols"> | |
160 | + <enum>QAbstractSpinBox::NoButtons</enum> | |
161 | + </property> | |
162 | + <property name="minimum"> | |
163 | + <number>2000</number> | |
164 | + </property> | |
165 | + <property name="maximum"> | |
166 | + <number>2100</number> | |
167 | + </property> | |
168 | + <property name="value"> | |
169 | + <number>2000</number> | |
170 | + </property> | |
171 | + </widget> | |
172 | + </item> | |
173 | + <item> | |
174 | + <widget class="QLabel" name="label_2"> | |
175 | + <property name="font"> | |
176 | + <font> | |
177 | + <family>나눔고딕</family> | |
178 | + <pointsize>18</pointsize> | |
179 | + <weight>75</weight> | |
180 | + <bold>true</bold> | |
181 | + </font> | |
182 | + </property> | |
183 | + <property name="text"> | |
184 | + <string>년</string> | |
185 | + </property> | |
186 | + </widget> | |
187 | + </item> | |
188 | + <item> | |
189 | + <widget class="FormatterSpinBox" name="ctrSpBxMonthStart"> | |
190 | + <property name="sizePolicy"> | |
191 | + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> | |
192 | + <horstretch>0</horstretch> | |
193 | + <verstretch>0</verstretch> | |
194 | + </sizepolicy> | |
195 | + </property> | |
196 | + <property name="font"> | |
197 | + <font> | |
198 | + <family>나눔고딕</family> | |
199 | + <pointsize>18</pointsize> | |
200 | + <underline>true</underline> | |
201 | + </font> | |
202 | + </property> | |
203 | + <property name="focusPolicy"> | |
204 | + <enum>Qt::StrongFocus</enum> | |
205 | + </property> | |
206 | + <property name="frame"> | |
207 | + <bool>false</bool> | |
208 | + </property> | |
209 | + <property name="alignment"> | |
210 | + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> | |
211 | + </property> | |
212 | + <property name="buttonSymbols"> | |
213 | + <enum>QAbstractSpinBox::NoButtons</enum> | |
214 | + </property> | |
215 | + <property name="minimum"> | |
216 | + <number>1</number> | |
217 | + </property> | |
218 | + <property name="maximum"> | |
219 | + <number>12</number> | |
220 | + </property> | |
221 | + <property name="value"> | |
222 | + <number>12</number> | |
223 | + </property> | |
224 | + </widget> | |
225 | + </item> | |
226 | + <item> | |
227 | + <widget class="QLabel" name="label_4"> | |
228 | + <property name="font"> | |
229 | + <font> | |
230 | + <family>나눔고딕</family> | |
231 | + <pointsize>18</pointsize> | |
232 | + <weight>75</weight> | |
233 | + <bold>true</bold> | |
234 | + </font> | |
235 | + </property> | |
236 | + <property name="text"> | |
237 | + <string>월</string> | |
238 | + </property> | |
239 | + </widget> | |
240 | + </item> | |
241 | + <item> | |
242 | + <widget class="FormatterSpinBox" name="ctrSpBxDayStart"> | |
243 | + <property name="sizePolicy"> | |
244 | + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> | |
245 | + <horstretch>0</horstretch> | |
246 | + <verstretch>0</verstretch> | |
247 | + </sizepolicy> | |
248 | + </property> | |
249 | + <property name="font"> | |
250 | + <font> | |
251 | + <family>나눔고딕</family> | |
252 | + <pointsize>18</pointsize> | |
253 | + <underline>true</underline> | |
254 | + </font> | |
255 | + </property> | |
256 | + <property name="focusPolicy"> | |
257 | + <enum>Qt::StrongFocus</enum> | |
258 | + </property> | |
259 | + <property name="frame"> | |
260 | + <bool>false</bool> | |
261 | + </property> | |
262 | + <property name="alignment"> | |
263 | + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> | |
264 | + </property> | |
265 | + <property name="buttonSymbols"> | |
266 | + <enum>QAbstractSpinBox::NoButtons</enum> | |
267 | + </property> | |
268 | + <property name="minimum"> | |
269 | + <number>1</number> | |
270 | + </property> | |
271 | + <property name="maximum"> | |
272 | + <number>31</number> | |
273 | + </property> | |
274 | + <property name="value"> | |
275 | + <number>1</number> | |
276 | + </property> | |
277 | + </widget> | |
278 | + </item> | |
279 | + <item> | |
280 | + <widget class="QLabel" name="label_3"> | |
281 | + <property name="font"> | |
282 | + <font> | |
283 | + <family>나눔고딕</family> | |
284 | + <pointsize>18</pointsize> | |
285 | + <weight>75</weight> | |
286 | + <bold>true</bold> | |
287 | + </font> | |
288 | + </property> | |
289 | + <property name="text"> | |
290 | + <string>일</string> | |
291 | + </property> | |
292 | + </widget> | |
293 | + </item> | |
294 | + </layout> | |
295 | + </item> | |
296 | + <item> | |
297 | + <layout class="QHBoxLayout" name="horizontalLayout_3" stretch="0,0,1,0,1,0,1"> | |
298 | + <property name="spacing"> | |
299 | + <number>15</number> | |
300 | + </property> | |
301 | + <property name="leftMargin"> | |
302 | + <number>150</number> | |
303 | + </property> | |
304 | + <property name="rightMargin"> | |
305 | + <number>150</number> | |
306 | + </property> | |
307 | + <item> | |
308 | + <widget class="QLabel" name="label_9"> | |
309 | + <property name="font"> | |
310 | + <font> | |
311 | + <family>나눔고딕</family> | |
312 | + <pointsize>18</pointsize> | |
313 | + <weight>75</weight> | |
314 | + <bold>true</bold> | |
315 | + </font> | |
316 | + </property> | |
317 | + <property name="text"> | |
318 | + <string/> | |
319 | + </property> | |
320 | + <property name="pixmap"> | |
321 | + <pixmap resource="resources.qrc">:/images/symbol/down_date.png</pixmap> | |
322 | + </property> | |
323 | + </widget> | |
324 | + </item> | |
325 | + <item> | |
326 | + <widget class="FormatterSpinBox" name="ctrSpBxYearEnd"> | |
327 | + <property name="sizePolicy"> | |
328 | + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> | |
329 | + <horstretch>0</horstretch> | |
330 | + <verstretch>0</verstretch> | |
331 | + </sizepolicy> | |
332 | + </property> | |
333 | + <property name="font"> | |
334 | + <font> | |
335 | + <family>나눔고딕</family> | |
336 | + <pointsize>18</pointsize> | |
337 | + <underline>true</underline> | |
338 | + </font> | |
339 | + </property> | |
340 | + <property name="focusPolicy"> | |
341 | + <enum>Qt::StrongFocus</enum> | |
342 | + </property> | |
343 | + <property name="frame"> | |
344 | + <bool>false</bool> | |
345 | + </property> | |
346 | + <property name="alignment"> | |
347 | + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> | |
348 | + </property> | |
349 | + <property name="buttonSymbols"> | |
350 | + <enum>QAbstractSpinBox::NoButtons</enum> | |
351 | + </property> | |
352 | + <property name="minimum"> | |
353 | + <number>2000</number> | |
354 | + </property> | |
355 | + <property name="maximum"> | |
356 | + <number>2100</number> | |
357 | + </property> | |
358 | + <property name="value"> | |
359 | + <number>2000</number> | |
360 | + </property> | |
361 | + </widget> | |
362 | + </item> | |
363 | + <item> | |
364 | + <widget class="QLabel" name="label_5"> | |
365 | + <property name="font"> | |
366 | + <font> | |
367 | + <family>나눔고딕</family> | |
368 | + <pointsize>18</pointsize> | |
369 | + <weight>75</weight> | |
370 | + <bold>true</bold> | |
371 | + </font> | |
372 | + </property> | |
373 | + <property name="text"> | |
374 | + <string>년</string> | |
375 | + </property> | |
376 | + </widget> | |
377 | + </item> | |
378 | + <item> | |
379 | + <widget class="FormatterSpinBox" name="ctrSpBxMonthEnd"> | |
380 | + <property name="sizePolicy"> | |
381 | + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> | |
382 | + <horstretch>0</horstretch> | |
383 | + <verstretch>0</verstretch> | |
384 | + </sizepolicy> | |
385 | + </property> | |
386 | + <property name="font"> | |
387 | + <font> | |
388 | + <family>나눔고딕</family> | |
389 | + <pointsize>18</pointsize> | |
390 | + <underline>true</underline> | |
391 | + </font> | |
392 | + </property> | |
393 | + <property name="focusPolicy"> | |
394 | + <enum>Qt::StrongFocus</enum> | |
395 | + </property> | |
396 | + <property name="frame"> | |
397 | + <bool>false</bool> | |
398 | + </property> | |
399 | + <property name="alignment"> | |
400 | + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> | |
401 | + </property> | |
402 | + <property name="buttonSymbols"> | |
403 | + <enum>QAbstractSpinBox::NoButtons</enum> | |
404 | + </property> | |
405 | + <property name="minimum"> | |
406 | + <number>1</number> | |
407 | + </property> | |
408 | + <property name="maximum"> | |
409 | + <number>12</number> | |
410 | + </property> | |
411 | + <property name="value"> | |
412 | + <number>12</number> | |
413 | + </property> | |
414 | + </widget> | |
415 | + </item> | |
416 | + <item> | |
417 | + <widget class="QLabel" name="label_6"> | |
418 | + <property name="font"> | |
419 | + <font> | |
420 | + <family>나눔고딕</family> | |
421 | + <pointsize>18</pointsize> | |
422 | + <weight>75</weight> | |
423 | + <bold>true</bold> | |
424 | + </font> | |
425 | + </property> | |
426 | + <property name="text"> | |
427 | + <string>월</string> | |
428 | + </property> | |
429 | + </widget> | |
430 | + </item> | |
431 | + <item> | |
432 | + <widget class="FormatterSpinBox" name="ctrSpBxDayEnd"> | |
433 | + <property name="sizePolicy"> | |
434 | + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> | |
435 | + <horstretch>0</horstretch> | |
436 | + <verstretch>0</verstretch> | |
437 | + </sizepolicy> | |
438 | + </property> | |
439 | + <property name="font"> | |
440 | + <font> | |
441 | + <family>나눔고딕</family> | |
442 | + <pointsize>18</pointsize> | |
443 | + <underline>true</underline> | |
444 | + </font> | |
445 | + </property> | |
446 | + <property name="focusPolicy"> | |
447 | + <enum>Qt::StrongFocus</enum> | |
448 | + </property> | |
449 | + <property name="frame"> | |
450 | + <bool>false</bool> | |
451 | + </property> | |
452 | + <property name="alignment"> | |
453 | + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> | |
454 | + </property> | |
455 | + <property name="buttonSymbols"> | |
456 | + <enum>QAbstractSpinBox::NoButtons</enum> | |
457 | + </property> | |
458 | + <property name="minimum"> | |
459 | + <number>1</number> | |
460 | + </property> | |
461 | + <property name="maximum"> | |
462 | + <number>31</number> | |
463 | + </property> | |
464 | + <property name="value"> | |
465 | + <number>30</number> | |
466 | + </property> | |
467 | + </widget> | |
468 | + </item> | |
469 | + <item> | |
470 | + <widget class="QLabel" name="label_7"> | |
471 | + <property name="font"> | |
472 | + <font> | |
473 | + <family>나눔고딕</family> | |
474 | + <pointsize>18</pointsize> | |
475 | + <weight>75</weight> | |
476 | + <bold>true</bold> | |
477 | + </font> | |
478 | + </property> | |
479 | + <property name="text"> | |
480 | + <string>일</string> | |
481 | + </property> | |
482 | + </widget> | |
483 | + </item> | |
484 | + </layout> | |
485 | + </item> | |
486 | + <item> | |
487 | + <layout class="QGridLayout" name="gridLayout_" columnstretch="0,0" columnminimumwidth="0,0"> | |
488 | + <property name="leftMargin"> | |
489 | + <number>100</number> | |
490 | + </property> | |
491 | + <property name="rightMargin"> | |
492 | + <number>100</number> | |
493 | + </property> | |
494 | + <property name="bottomMargin"> | |
495 | + <number>10</number> | |
496 | + </property> | |
497 | + <property name="spacing"> | |
498 | + <number>0</number> | |
499 | + </property> | |
500 | + <item row="0" column="0"> | |
501 | + <widget class="QPushButton" name="ctrBtnOk"> | |
502 | + <property name="sizePolicy"> | |
503 | + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> | |
504 | + <horstretch>0</horstretch> | |
505 | + <verstretch>0</verstretch> | |
506 | + </sizepolicy> | |
507 | + </property> | |
508 | + <property name="minimumSize"> | |
509 | + <size> | |
510 | + <width>157</width> | |
511 | + <height>77</height> | |
512 | + </size> | |
513 | + </property> | |
514 | + <property name="font"> | |
515 | + <font> | |
516 | + <weight>75</weight> | |
517 | + <bold>true</bold> | |
518 | + <underline>true</underline> | |
519 | + </font> | |
520 | + </property> | |
521 | + <property name="styleSheet"> | |
522 | + <string notr="true">QPushButton{ | |
523 | + border-image : url(:/images/config/105_icon_download.png); | |
524 | +} | |
525 | + | |
526 | +QPushButton::pressed, QPushButton::focus{ | |
527 | + border-image : url(:/images/config/105_icon_download_ov.png); | |
528 | +}</string> | |
529 | + </property> | |
530 | + <property name="text"> | |
531 | + <string/> | |
532 | + </property> | |
533 | + </widget> | |
534 | + </item> | |
535 | + <item row="0" column="1"> | |
536 | + <widget class="QPushButton" name="ctrBtnCancel"> | |
537 | + <property name="sizePolicy"> | |
538 | + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> | |
539 | + <horstretch>0</horstretch> | |
540 | + <verstretch>0</verstretch> | |
541 | + </sizepolicy> | |
542 | + </property> | |
543 | + <property name="minimumSize"> | |
544 | + <size> | |
545 | + <width>82</width> | |
546 | + <height>82</height> | |
547 | + </size> | |
548 | + </property> | |
549 | + <property name="font"> | |
550 | + <font> | |
551 | + <weight>75</weight> | |
552 | + <bold>true</bold> | |
553 | + <underline>true</underline> | |
554 | + </font> | |
555 | + </property> | |
556 | + <property name="styleSheet"> | |
557 | + <string notr="true">QPushButton{ | |
558 | + border-image : url(:/images/config/105_icon_cancel.png); | |
559 | +} | |
560 | + | |
561 | +QPushButton::pressed, QPushButton::focus{ | |
562 | + border-image : url(:/images/config/105_icon_cancel_ov.png); | |
563 | +} | |
564 | +</string> | |
565 | + </property> | |
566 | + <property name="text"> | |
567 | + <string/> | |
568 | + </property> | |
569 | + </widget> | |
570 | + </item> | |
571 | + </layout> | |
572 | + </item> | |
573 | + </layout> | |
574 | + </widget> | |
575 | + <widget class="KeyboardWidget" name="keyboardwidget" native="true"> | |
576 | + <property name="geometry"> | |
577 | + <rect> | |
578 | + <x>0</x> | |
579 | + <y>425</y> | |
580 | + <width>900</width> | |
581 | + <height>600</height> | |
582 | + </rect> | |
583 | + </property> | |
584 | + </widget> | |
585 | + </widget> | |
586 | + </widget> | |
587 | + <customwidgets> | |
588 | + <customwidget> | |
589 | + <class>KeyboardWidget</class> | |
590 | + <extends>QWidget</extends> | |
591 | + <header>keyboardwidget.h</header> | |
592 | + <container>1</container> | |
593 | + </customwidget> | |
594 | + <customwidget> | |
595 | + <class>FormatterSpinBox</class> | |
596 | + <extends>QSpinBox</extends> | |
597 | + <header>formatterspinbox.h</header> | |
598 | + </customwidget> | |
599 | + </customwidgets> | |
600 | + <tabstops> | |
601 | + <tabstop>ctrSpBxYearStart</tabstop> | |
602 | + <tabstop>ctrSpBxMonthStart</tabstop> | |
603 | + <tabstop>ctrSpBxDayStart</tabstop> | |
604 | + </tabstops> | |
605 | + <resources> | |
606 | + <include location="resources.qrc"/> | |
607 | + </resources> | |
608 | + <connections/> | |
609 | +</ui> | ... | ... |
app/gui/oven_control/images/not_recognized/config_service/104_dwon.png
530 Bytes
app/gui/oven_control/images/not_recognized/config_service/104_update.png
527 Bytes
app/gui/oven_control/images/symbol/down_date.png
530 Bytes
app/gui/oven_control/images/symbol/up_date.png
527 Bytes
app/gui/oven_control/mainwindow.cpp
app/gui/oven_control/oven_control.pro
... | ... | @@ -144,7 +144,8 @@ SOURCES += main.cpp\ |
144 | 144 | multicookbook.cpp \ |
145 | 145 | haccp.cpp \ |
146 | 146 | canvas.cpp \ |
147 | - touchtestwindow.cpp | |
147 | + touchtestwindow.cpp \ | |
148 | + haccpdownloaddlg.cpp | |
148 | 149 | |
149 | 150 | |
150 | 151 | HEADERS += mainwindow.h \ |
... | ... | @@ -279,7 +280,8 @@ HEADERS += mainwindow.h \ |
279 | 280 | multicookbook.h \ |
280 | 281 | haccp.h \ |
281 | 282 | canvas.h \ |
282 | - touchtestwindow.h | |
283 | + touchtestwindow.h \ | |
284 | + haccpdownloaddlg.h | |
283 | 285 | |
284 | 286 | FORMS += mainwindow.ui \ |
285 | 287 | manualcookwindow.ui \ |
... | ... | @@ -364,7 +366,8 @@ FORMS += mainwindow.ui \ |
364 | 366 | multicookselectionwindow.ui \ |
365 | 367 | multicookmanualwindow.ui \ |
366 | 368 | multicookautowindow.ui \ |
367 | - touchtestwindow.ui | |
369 | + touchtestwindow.ui \ | |
370 | + haccpdownloaddlg.ui | |
368 | 371 | |
369 | 372 | RESOURCES += \ |
370 | 373 | resources.qrc | ... | ... |
app/gui/oven_control/resources.qrc
... | ... | @@ -630,5 +630,7 @@ |
630 | 630 | <file>images/help/page_prev.png</file> |
631 | 631 | <file>images/help/page_prev_over.png</file> |
632 | 632 | <file>images/background/popup/509.png</file> |
633 | + <file>images/symbol/up_date.png</file> | |
634 | + <file>images/symbol/down_date.png</file> | |
633 | 635 | </qresource> |
634 | 636 | </RCC> | ... | ... |
release/application.tar
No preview for this file type