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,6 +28,7 @@ | ||
28 | #include "system.h" | 28 | #include "system.h" |
29 | #include "unistd.h" | 29 | #include "unistd.h" |
30 | #include "configdemomodedlg.h" | 30 | #include "configdemomodedlg.h" |
31 | +#include "haccpdownloaddlg.h" | ||
31 | #include <QFontDatabase> | 32 | #include <QFontDatabase> |
32 | 33 | ||
33 | using namespace Define; | 34 | using namespace Define; |
@@ -566,6 +567,8 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ | @@ -566,6 +567,8 @@ void Config::execConfigWindow(QWidget *parent, Define::ConfigType idx){ | ||
566 | dlg=new ConfigIpDlg(parent); | 567 | dlg=new ConfigIpDlg(parent); |
567 | break; | 568 | break; |
568 | case config_haccp_data_download: | 569 | case config_haccp_data_download: |
570 | + dlg = new HaccpDownloadDlg(parent); | ||
571 | + break; | ||
569 | case config_info_data_download: | 572 | case config_info_data_download: |
570 | case config_service_data_download: | 573 | case config_service_data_download: |
571 | case config_program_download: | 574 | case config_program_download: |
app/gui/oven_control/configwindow.h
@@ -32,12 +32,12 @@ class ConfigWindow : public QMainWindow | @@ -32,12 +32,12 @@ class ConfigWindow : public QMainWindow | ||
32 | 32 | ||
33 | private: | 33 | private: |
34 | const uint16_t m_arrMaxMenuCount[7] ={ | 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 | const Define::ConfigType m_arrConfigListInfos[7][20] = { | 37 | const Define::ConfigType m_arrConfigListInfos[7][20] = { |
38 | {config_language,config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,}, | 38 | {config_language,config_datetime, config_temptype,config_backlight, config_time_type,config_resttime_format,}, |
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}, | 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 | {config_set_half_energy,config_set_auto_darkness,}, | 41 | {config_set_half_energy,config_set_auto_darkness,}, |
42 | {config_duty_wash,config_loading_door_monitoring,config_cooking_door_monitoring}, | 42 | {config_duty_wash,config_loading_door_monitoring,config_cooking_door_monitoring}, |
43 | {config_invalid,}, | 43 | {config_invalid,}, |
app/gui/oven_control/fileprocessdlg.cpp
@@ -18,7 +18,7 @@ | @@ -18,7 +18,7 @@ | ||
18 | 18 | ||
19 | 19 | ||
20 | ProgramCopyWorker::ProgramCopyWorker(){ | 20 | ProgramCopyWorker::ProgramCopyWorker(){ |
21 | - m_bStop = false; | 21 | + |
22 | } | 22 | } |
23 | 23 | ||
24 | 24 | ||
@@ -236,13 +236,55 @@ void ProgramCopyWorker::addSrcFile(QString strfilename){ | @@ -236,13 +236,55 @@ void ProgramCopyWorker::addSrcFile(QString strfilename){ | ||
236 | m_arrSrcFileList.append(strfilename); | 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 | FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : | 288 | FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : |
247 | QDialog(parent), | 289 | QDialog(parent), |
248 | ui(new Ui::FileProcessDlg) | 290 | ui(new Ui::FileProcessDlg) |
@@ -261,12 +303,15 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : | @@ -261,12 +303,15 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : | ||
261 | ui->ctrWjProcess->setMinimum(0); | 303 | ui->ctrWjProcess->setMinimum(0); |
262 | ui->ctrWjProcess->setMaximum(100); | 304 | ui->ctrWjProcess->setMaximum(100); |
263 | 305 | ||
306 | + | ||
264 | if(isDown){ | 307 | if(isDown){ |
265 | QPixmap pxmap; | 308 | QPixmap pxmap; |
266 | pxmap.load(":/images/config/102_usb_upload_icon.png"); | 309 | pxmap.load(":/images/config/102_usb_upload_icon.png"); |
267 | ui->label_2->setPixmap(pxmap); | 310 | ui->label_2->setPixmap(pxmap); |
268 | } | 311 | } |
269 | 312 | ||
313 | + | ||
314 | + | ||
270 | switch(type){ | 315 | switch(type){ |
271 | case config_haccp_data_download: | 316 | case config_haccp_data_download: |
272 | QTimer::singleShot(100,this,SLOT(haccpdataDownload())); | 317 | QTimer::singleShot(100,this,SLOT(haccpdataDownload())); |
@@ -298,6 +343,34 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : | @@ -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 | FileProcessDlg::~FileProcessDlg() | 374 | FileProcessDlg::~FileProcessDlg() |
302 | { | 375 | { |
303 | delete ui; | 376 | delete ui; |
@@ -306,7 +379,6 @@ FileProcessDlg::~FileProcessDlg() | @@ -306,7 +379,6 @@ FileProcessDlg::~FileProcessDlg() | ||
306 | void FileProcessDlg::on_ctrBtnCancel_clicked() | 379 | void FileProcessDlg::on_ctrBtnCancel_clicked() |
307 | { | 380 | { |
308 | 381 | ||
309 | - //emit stopcopy(); | ||
310 | programCopyThd.requestInterruption(); | 382 | programCopyThd.requestInterruption(); |
311 | //close(); | 383 | //close(); |
312 | } | 384 | } |
@@ -574,10 +646,8 @@ void FileProcessDlg::programDownload(){ | @@ -574,10 +646,8 @@ void FileProcessDlg::programDownload(){ | ||
574 | connect(&programCopyThd,SIGNAL(started()), &worker, SLOT(workerMain())); | 646 | connect(&programCopyThd,SIGNAL(started()), &worker, SLOT(workerMain())); |
575 | connect(&worker, SIGNAL(progressed(int,int)), this, SLOT(onProgressed(int,int))); | 647 | connect(&worker, SIGNAL(progressed(int,int)), this, SLOT(onProgressed(int,int))); |
576 | connect(&worker, SIGNAL(errorFired(QString)), this, SLOT(onErrorFired(QString))); | 648 | connect(&worker, SIGNAL(errorFired(QString)), this, SLOT(onErrorFired(QString))); |
577 | - connect(this, SIGNAL(stopcopy()), &worker, SLOT(workerStop())); | ||
578 | connect(&worker, SIGNAL(finished()), &programCopyThd,SLOT(quit())); | 649 | connect(&worker, SIGNAL(finished()), &programCopyThd,SLOT(quit())); |
579 | connect(&programCopyThd, SIGNAL(finished()), this, SLOT(onProgressFinished())); | 650 | connect(&programCopyThd, SIGNAL(finished()), this, SLOT(onProgressFinished())); |
580 | - //connect(ui->ctrBtnCancel, SIGNAL(clicked(bool)), &worker, SLOT(workerStop())); | ||
581 | 651 | ||
582 | programCopyThd.start(); | 652 | programCopyThd.start(); |
583 | qDebug() << "thread start"; | 653 | qDebug() << "thread start"; |
@@ -665,6 +735,7 @@ void FileProcessDlg::onErrorFired(QString Desc) | @@ -665,6 +735,7 @@ void FileProcessDlg::onErrorFired(QString Desc) | ||
665 | void FileProcessDlg::onProgressed(int progress, int sec){ | 735 | void FileProcessDlg::onProgressed(int progress, int sec){ |
666 | int min, _sec; | 736 | int min, _sec; |
667 | QString strTemp; | 737 | QString strTemp; |
738 | + qDebug() << __func__<< progress << sec; | ||
668 | ui->ctrWjProcess->setValue(progress); | 739 | ui->ctrWjProcess->setValue(progress); |
669 | min = sec/60; | 740 | min = sec/60; |
670 | _sec = sec%60; | 741 | _sec = sec%60; |
@@ -673,9 +744,11 @@ void FileProcessDlg::onProgressed(int progress, int sec){ | @@ -673,9 +744,11 @@ void FileProcessDlg::onProgressed(int progress, int sec){ | ||
673 | ui->ctrLbRemainTime->setText(strTemp); | 744 | ui->ctrLbRemainTime->setText(strTemp); |
674 | } | 745 | } |
675 | else{ | 746 | else{ |
676 | - strTemp = tr("남은 예상 시간 : %1초").arg(_sec); | 747 | + strTemp = QString(tr("남은 예상 시간 : %1초")).arg(_sec); |
748 | + qDebug() << strTemp; | ||
677 | ui->ctrLbRemainTime->setText(strTemp); | 749 | ui->ctrLbRemainTime->setText(strTemp); |
678 | } | 750 | } |
751 | + update(); | ||
679 | } | 752 | } |
680 | 753 | ||
681 | void FileProcessDlg::programUpload(){ | 754 | void FileProcessDlg::programUpload(){ |
@@ -704,10 +777,8 @@ void FileProcessDlg::programUpload(){ | @@ -704,10 +777,8 @@ void FileProcessDlg::programUpload(){ | ||
704 | connect(&programCopyThd,SIGNAL(started()), &worker, SLOT(workerMain())); | 777 | connect(&programCopyThd,SIGNAL(started()), &worker, SLOT(workerMain())); |
705 | connect(&worker, SIGNAL(progressed(int,int)), this, SLOT(onProgressed(int,int))); | 778 | connect(&worker, SIGNAL(progressed(int,int)), this, SLOT(onProgressed(int,int))); |
706 | connect(&worker,SIGNAL(errorFired(QString)),this,SLOT(onErrorFired(QString))); | 779 | connect(&worker,SIGNAL(errorFired(QString)),this,SLOT(onErrorFired(QString))); |
707 | - connect(this, SIGNAL(stopcopy()), &worker, SLOT(workerStop())); | ||
708 | connect(&worker, SIGNAL(finished()), &programCopyThd,SLOT(quit())); | 780 | connect(&worker, SIGNAL(finished()), &programCopyThd,SLOT(quit())); |
709 | connect(&programCopyThd, SIGNAL(finished()), this, SLOT(onProgressFinished())); | 781 | connect(&programCopyThd, SIGNAL(finished()), this, SLOT(onProgressFinished())); |
710 | - //connect(ui->ctrBtnCancel, SIGNAL(clicked(bool)), &worker, SLOT(workerStop())); | ||
711 | 782 | ||
712 | programCopyThd.start(); | 783 | programCopyThd.start(); |
713 | qDebug() << "thread start"; | 784 | qDebug() << "thread start"; |
@@ -816,9 +887,37 @@ void FileProcessDlg::configUpload(){ | @@ -816,9 +887,37 @@ void FileProcessDlg::configUpload(){ | ||
816 | } | 887 | } |
817 | 888 | ||
818 | void FileProcessDlg::haccpdataDownload(){ | 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 | void FileProcessDlg::standardInfoUpload() | 923 | void FileProcessDlg::standardInfoUpload() |
app/gui/oven_control/fileprocessdlg.h
@@ -8,6 +8,7 @@ | @@ -8,6 +8,7 @@ | ||
8 | #include <QList> | 8 | #include <QList> |
9 | #include <QMutex> | 9 | #include <QMutex> |
10 | #include <QKeyEvent> | 10 | #include <QKeyEvent> |
11 | +#include <QDate> | ||
11 | #include "config.h" | 12 | #include "config.h" |
12 | #include "servicedata.h" | 13 | #include "servicedata.h" |
13 | #include "historylistwindow.h" | 14 | #include "historylistwindow.h" |
@@ -26,17 +27,22 @@ class ProgramCopyWorker : public QObject{ | @@ -26,17 +27,22 @@ class ProgramCopyWorker : public QObject{ | ||
26 | QList<QString> m_arrSrcDirList; | 27 | QList<QString> m_arrSrcDirList; |
27 | QMutex m_mutex; | 28 | QMutex m_mutex; |
28 | bool m_bStop; | 29 | bool m_bStop; |
30 | + QDate m_dtStart; | ||
31 | + QDate m_dtEnd; | ||
32 | + | ||
29 | public: | 33 | public: |
30 | explicit ProgramCopyWorker(QString strDest); | 34 | explicit ProgramCopyWorker(QString strDest); |
31 | explicit ProgramCopyWorker(); | 35 | explicit ProgramCopyWorker(); |
32 | void setDestPath(QString strDest); | 36 | void setDestPath(QString strDest); |
33 | void addSrcFile(QString strfilename); | 37 | void addSrcFile(QString strfilename); |
34 | void addSrcDir(QString strDirPath); | 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 | public slots: | 43 | public slots: |
38 | void workerMain(); | 44 | void workerMain(); |
39 | - void workerStop(); | 45 | + void haccpDownloadMain(); |
40 | 46 | ||
41 | signals: | 47 | signals: |
42 | void finished(); | 48 | void finished(); |
@@ -52,6 +58,7 @@ class FileProcessDlg : public QDialog | @@ -52,6 +58,7 @@ class FileProcessDlg : public QDialog | ||
52 | 58 | ||
53 | public: | 59 | public: |
54 | explicit FileProcessDlg(QWidget *parent = 0, ConfigType type = config_invalid, bool isDown = true); | 60 | explicit FileProcessDlg(QWidget *parent = 0, ConfigType type = config_invalid, bool isDown = true); |
61 | + explicit FileProcessDlg(QDate startdt, QDate enddt, QWidget *parent = 0); | ||
55 | ~FileProcessDlg(); | 62 | ~FileProcessDlg(); |
56 | 63 | ||
57 | private slots: | 64 | private slots: |
@@ -66,7 +73,6 @@ private slots: | @@ -66,7 +73,6 @@ private slots: | ||
66 | void standardInfoUpload(); | 73 | void standardInfoUpload(); |
67 | 74 | ||
68 | signals: | 75 | signals: |
69 | - void stopcopy(); | ||
70 | 76 | ||
71 | public slots: | 77 | public slots: |
72 | void onProgressed(int progress,int sec); | 78 | void onProgressed(int progress,int sec); |
@@ -82,6 +88,8 @@ private: | @@ -82,6 +88,8 @@ private: | ||
82 | ConfigType m_nCfgtype; | 88 | ConfigType m_nCfgtype; |
83 | QThread programCopyThd; | 89 | QThread programCopyThd; |
84 | ProgramCopyWorker worker; | 90 | ProgramCopyWorker worker; |
91 | + QDate m_dtStart; | ||
92 | + QDate m_dtEnd; | ||
85 | bool m_bRst; | 93 | bool m_bRst; |
86 | }; | 94 | }; |
87 | 95 |
app/gui/oven_control/haccpdownloaddlg.cpp
@@ -0,0 +1,144 @@ | @@ -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 @@ | @@ -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 @@ | @@ -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
@@ -61,8 +61,9 @@ void MainWindow::jump(QMainWindow *newChild) | @@ -61,8 +61,9 @@ void MainWindow::jump(QMainWindow *newChild) | ||
61 | 61 | ||
62 | void MainWindow::killChild() | 62 | void MainWindow::killChild() |
63 | { | 63 | { |
64 | - if (instance->child) | 64 | + if (instance->child){ |
65 | instance->child->deleteLater(); | 65 | instance->child->deleteLater(); |
66 | + } | ||
66 | } | 67 | } |
67 | 68 | ||
68 | bool MainWindow::killChildCook() | 69 | bool MainWindow::killChildCook() |
app/gui/oven_control/oven_control.pro
@@ -144,7 +144,8 @@ SOURCES += main.cpp\ | @@ -144,7 +144,8 @@ SOURCES += main.cpp\ | ||
144 | multicookbook.cpp \ | 144 | multicookbook.cpp \ |
145 | haccp.cpp \ | 145 | haccp.cpp \ |
146 | canvas.cpp \ | 146 | canvas.cpp \ |
147 | - touchtestwindow.cpp | 147 | + touchtestwindow.cpp \ |
148 | + haccpdownloaddlg.cpp | ||
148 | 149 | ||
149 | 150 | ||
150 | HEADERS += mainwindow.h \ | 151 | HEADERS += mainwindow.h \ |
@@ -279,7 +280,8 @@ HEADERS += mainwindow.h \ | @@ -279,7 +280,8 @@ HEADERS += mainwindow.h \ | ||
279 | multicookbook.h \ | 280 | multicookbook.h \ |
280 | haccp.h \ | 281 | haccp.h \ |
281 | canvas.h \ | 282 | canvas.h \ |
282 | - touchtestwindow.h | 283 | + touchtestwindow.h \ |
284 | + haccpdownloaddlg.h | ||
283 | 285 | ||
284 | FORMS += mainwindow.ui \ | 286 | FORMS += mainwindow.ui \ |
285 | manualcookwindow.ui \ | 287 | manualcookwindow.ui \ |
@@ -364,7 +366,8 @@ FORMS += mainwindow.ui \ | @@ -364,7 +366,8 @@ FORMS += mainwindow.ui \ | ||
364 | multicookselectionwindow.ui \ | 366 | multicookselectionwindow.ui \ |
365 | multicookmanualwindow.ui \ | 367 | multicookmanualwindow.ui \ |
366 | multicookautowindow.ui \ | 368 | multicookautowindow.ui \ |
367 | - touchtestwindow.ui | 369 | + touchtestwindow.ui \ |
370 | + haccpdownloaddlg.ui | ||
368 | 371 | ||
369 | RESOURCES += \ | 372 | RESOURCES += \ |
370 | resources.qrc | 373 | resources.qrc |
app/gui/oven_control/resources.qrc
@@ -630,5 +630,7 @@ | @@ -630,5 +630,7 @@ | ||
630 | <file>images/help/page_prev.png</file> | 630 | <file>images/help/page_prev.png</file> |
631 | <file>images/help/page_prev_over.png</file> | 631 | <file>images/help/page_prev_over.png</file> |
632 | <file>images/background/popup/509.png</file> | 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 | </qresource> | 635 | </qresource> |
634 | </RCC> | 636 | </RCC> |
release/application.tar
No preview for this file type