Commit 9a0a0882edb130d9d272386a108933144cd286d0
1 parent
fd95b2247a
Exists in
master
and in
2 other branches
쿡북 파일 압축 암호화 기능 추가
Showing
2 changed files
with
77 additions
and
9 deletions
Show diff stats
app/gui/oven_control/fileprocessdlg.cpp
1 | #include <QTimer> | 1 | #include <QTimer> |
2 | #include <unistd.h> | 2 | #include <unistd.h> |
3 | +#include <QProcess> | ||
3 | #include "fileprocessdlg.h" | 4 | #include "fileprocessdlg.h" |
4 | #include "ui_fileprocessdlg.h" | 5 | #include "ui_fileprocessdlg.h" |
5 | #include "fileprocessor.h" | 6 | #include "fileprocessor.h" |
@@ -37,7 +38,7 @@ void ProgramCopyWorker::workerMain(){ | @@ -37,7 +38,7 @@ void ProgramCopyWorker::workerMain(){ | ||
37 | QStringList strdirlist; | 38 | QStringList strdirlist; |
38 | QString srcFilepath; | 39 | QString srcFilepath; |
39 | QString destFilePath; | 40 | QString destFilePath; |
40 | - bool m_bRst=true; | 41 | + bool bRst=true; |
41 | 42 | ||
42 | //make destination folder | 43 | //make destination folder |
43 | QDir destdir(m_strDestDir); | 44 | QDir destdir(m_strDestDir); |
@@ -60,9 +61,10 @@ void ProgramCopyWorker::workerMain(){ | @@ -60,9 +61,10 @@ void ProgramCopyWorker::workerMain(){ | ||
60 | qDebug() << " Dir List info : count = " << m_arrSrcFileList.size() << ", File Total Size = " << nTotalFileSize; | 61 | qDebug() << " Dir List info : count = " << m_arrSrcFileList.size() << ", File Total Size = " << nTotalFileSize; |
61 | if(nTotalFileSize <=0 ){ | 62 | if(nTotalFileSize <=0 ){ |
62 | emit errorFired("SIZE ERROR "); | 63 | emit errorFired("SIZE ERROR "); |
63 | - QThread::currentThread()->msleep(5000); | ||
64 | - emit finished(); | 64 | + QThread::currentThread()->msleep(1000); |
65 | + bRst = false; | ||
65 | emit progressed(0,0); | 66 | emit progressed(0,0); |
67 | + emit finished(); | ||
66 | return; | 68 | return; |
67 | } | 69 | } |
68 | 70 | ||
@@ -80,7 +82,7 @@ void ProgramCopyWorker::workerMain(){ | @@ -80,7 +82,7 @@ void ProgramCopyWorker::workerMain(){ | ||
80 | } | 82 | } |
81 | if(QFile::copy(srcFilepath,destFilePath)==false){ | 83 | if(QFile::copy(srcFilepath,destFilePath)==false){ |
82 | qDebug() << srcFilepath << " file copy fail!"; | 84 | qDebug() << srcFilepath << " file copy fail!"; |
83 | - m_bRst = false; | 85 | + bRst = false; |
84 | emit errorFired(finfo.fileName()); | 86 | emit errorFired(finfo.fileName()); |
85 | QThread::currentThread()->msleep(5000); | 87 | QThread::currentThread()->msleep(5000); |
86 | break; | 88 | break; |
@@ -99,14 +101,14 @@ void ProgramCopyWorker::workerMain(){ | @@ -99,14 +101,14 @@ void ProgramCopyWorker::workerMain(){ | ||
99 | 101 | ||
100 | qDebug() << "File List Copy Finished"; | 102 | qDebug() << "File List Copy Finished"; |
101 | 103 | ||
102 | - if(QThread::currentThread()->isInterruptionRequested() == false || m_bRst == false){ | 104 | + if(QThread::currentThread()->isInterruptionRequested() == false || bRst == false){ |
103 | foreach(QString srcpath, m_arrSrcDirList){ | 105 | foreach(QString srcpath, m_arrSrcDirList){ |
104 | qDebug() << "src dir : " << srcpath; | 106 | qDebug() << "src dir : " << srcpath; |
105 | 107 | ||
106 | QDir srcdir(srcpath); | 108 | QDir srcdir(srcpath); |
107 | if(srcdir.exists() == false){ | 109 | if(srcdir.exists() == false){ |
108 | qDebug() << "Source Dir is not exist"; | 110 | qDebug() << "Source Dir is not exist"; |
109 | - m_bRst = false; | 111 | + bRst = false; |
110 | emit errorFired("DIR not exist"); | 112 | emit errorFired("DIR not exist"); |
111 | QThread::currentThread()->msleep(5000); | 113 | QThread::currentThread()->msleep(5000); |
112 | break; | 114 | break; |
@@ -133,7 +135,7 @@ void ProgramCopyWorker::workerMain(){ | @@ -133,7 +135,7 @@ void ProgramCopyWorker::workerMain(){ | ||
133 | srcFilepath = finfo.absoluteFilePath(); | 135 | srcFilepath = finfo.absoluteFilePath(); |
134 | destFilePath = QString("%1/%2").arg(QString(strDir).replace(srcpath,targetpath)).arg(finfo.fileName()); | 136 | destFilePath = QString("%1/%2").arg(QString(strDir).replace(srcpath,targetpath)).arg(finfo.fileName()); |
135 | if(QFile::copy(srcFilepath, destFilePath)==false){ | 137 | if(QFile::copy(srcFilepath, destFilePath)==false){ |
136 | - m_bRst = false; | 138 | + bRst = false; |
137 | emit errorFired(finfo.fileName()); | 139 | emit errorFired(finfo.fileName()); |
138 | qDebug() << srcFilepath << " file copy fail!"; | 140 | qDebug() << srcFilepath << " file copy fail!"; |
139 | QThread::currentThread()->msleep(5000); | 141 | QThread::currentThread()->msleep(5000); |
@@ -151,7 +153,7 @@ void ProgramCopyWorker::workerMain(){ | @@ -151,7 +153,7 @@ void ProgramCopyWorker::workerMain(){ | ||
151 | } | 153 | } |
152 | //QThread::currentThread()->msleep(100); | 154 | //QThread::currentThread()->msleep(100); |
153 | } | 155 | } |
154 | - if(QThread::currentThread()->isInterruptionRequested() || m_bRst == false) break; | 156 | + if(QThread::currentThread()->isInterruptionRequested() || bRst == false) break; |
155 | } | 157 | } |
156 | strdirlist.clear(); | 158 | strdirlist.clear(); |
157 | if(QThread::currentThread()->isInterruptionRequested()) break; | 159 | if(QThread::currentThread()->isInterruptionRequested()) break; |
@@ -159,7 +161,7 @@ void ProgramCopyWorker::workerMain(){ | @@ -159,7 +161,7 @@ void ProgramCopyWorker::workerMain(){ | ||
159 | } | 161 | } |
160 | qDebug() << "File Copy Complete! SRC File Size = " << nTotalFileSize << "DEST File Size = " << nCpyFileSize; | 162 | qDebug() << "File Copy Complete! SRC File Size = " << nTotalFileSize << "DEST File Size = " << nCpyFileSize; |
161 | 163 | ||
162 | - if(QThread::currentThread()->isInterruptionRequested() || m_bRst == false){ | 164 | + if(QThread::currentThread()->isInterruptionRequested() || bRst == false){ |
163 | foreach(QString strinfo, m_arrSrcFileList){ | 165 | foreach(QString strinfo, m_arrSrcFileList){ |
164 | QString filepath = strinfo.left(strinfo.indexOf(',',0)+1); | 166 | QString filepath = strinfo.left(strinfo.indexOf(',',0)+1); |
165 | QString destfiledir = strinfo.right(strinfo.size() - (strinfo.indexOf(',',0)+1)); | 167 | QString destfiledir = strinfo.right(strinfo.size() - (strinfo.indexOf(',',0)+1)); |
@@ -253,6 +255,9 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : | @@ -253,6 +255,9 @@ FileProcessDlg::FileProcessDlg(QWidget *parent, ConfigType type, bool isDown) : | ||
253 | this->setFocus(); | 255 | this->setFocus(); |
254 | ui->ctrBtnCancel->setFocus(); | 256 | ui->ctrBtnCancel->setFocus(); |
255 | 257 | ||
258 | + m_bRst = true; | ||
259 | + m_nCfgtype = type; | ||
260 | + | ||
256 | ui->ctrWjProcess->setMinimum(0); | 261 | ui->ctrWjProcess->setMinimum(0); |
257 | ui->ctrWjProcess->setMaximum(100); | 262 | ui->ctrWjProcess->setMaximum(100); |
258 | 263 | ||
@@ -584,12 +589,71 @@ void FileProcessDlg::programDownload(){ | @@ -584,12 +589,71 @@ void FileProcessDlg::programDownload(){ | ||
584 | } | 589 | } |
585 | 590 | ||
586 | void FileProcessDlg::onProgressFinished(){ | 591 | void FileProcessDlg::onProgressFinished(){ |
592 | + QString strDescPath; | ||
593 | + QString strZipCmd; | ||
594 | + m_bRst = true; | ||
595 | + QProcess process; | ||
596 | + | ||
597 | + FileProcessor::detectUSB(strDescPath); | ||
598 | + | ||
599 | + strZipCmd = QString("sh -c \"unzip -P 1234 %1/prime/prime.zip -d /prime\"").arg(strDescPath); | ||
600 | + QFileInfo info(QString("%1/prime/prime.zip").arg(strDescPath)); | ||
601 | + | ||
602 | + | ||
603 | + QDir cookbooksrc("/prime/cookbook"); | ||
604 | + QDir cookBookback("/prime/cookbook_back"); | ||
605 | + QDir multibooksrc("/prime/multi"); | ||
606 | + QDir multibookback("/prime/multi_back"); | ||
607 | + | ||
608 | + qDebug() << info.absoluteFilePath(); | ||
609 | + | ||
610 | + if(m_nCfgtype == config_program_upload && m_bRst && info.exists()==true){ | ||
611 | + if(cookbooksrc.exists()){ | ||
612 | + if(cookBookback.exists()){ | ||
613 | + process.start("sh -c \"rm -r /prime/cookbook_back\""); | ||
614 | + process.waitForFinished(); | ||
615 | + process.start("sync"); | ||
616 | + process.waitForFinished(); | ||
617 | + } | ||
618 | + qDebug() << "cook book exists"; | ||
619 | + process.start("sh -c \"mv /prime/cookbook /prime/cookbook_back\""); | ||
620 | + process.waitForFinished(); | ||
621 | + process.start("sync"); | ||
622 | + process.waitForFinished(); | ||
623 | + } | ||
624 | + | ||
625 | + if(multibooksrc.exists()){ | ||
626 | + if(multibookback.exists()){ | ||
627 | + process.start("sh -c \"rm -r /prime/multi_back\""); | ||
628 | + process.waitForFinished(); | ||
629 | + process.start("sync"); | ||
630 | + process.waitForFinished(); | ||
631 | + } | ||
632 | + qDebug() << "multi book exists"; | ||
633 | + process.start("sh -c \"mv /prime/multi /prime/multi_back\""); | ||
634 | + process.waitForFinished(); | ||
635 | + process.start("sync"); | ||
636 | + process.waitForFinished(); | ||
637 | + } | ||
638 | + | ||
639 | + qDebug() << "cook book upload"; | ||
640 | + qDebug() << QTime::currentTime(); | ||
641 | + | ||
642 | + process.start(strZipCmd); | ||
643 | + if(process.waitForFinished(120000)==false){ | ||
644 | + ui->ctrLbRemainTime->setText("Cook book copy fail"); | ||
645 | + } | ||
646 | + process.start("sync"); | ||
647 | + process.waitForFinished(); | ||
648 | + qDebug() << QTime::currentTime(); | ||
649 | + } | ||
587 | ui->ctrLbRemainTime->setText(tr("완료")); | 650 | ui->ctrLbRemainTime->setText(tr("완료")); |
588 | QTimer::singleShot(1000,this, SLOT(close())); | 651 | QTimer::singleShot(1000,this, SLOT(close())); |
589 | } | 652 | } |
590 | 653 | ||
591 | void FileProcessDlg::onErrorFired(QString Desc) | 654 | void FileProcessDlg::onErrorFired(QString Desc) |
592 | { | 655 | { |
656 | + m_bRst = false; | ||
593 | ui->ctrLbRemainTime->setText(QString("%1 %2").arg(Desc).arg(tr("에러 발생으로 종료합니다."))); | 657 | ui->ctrLbRemainTime->setText(QString("%1 %2").arg(Desc).arg(tr("에러 발생으로 종료합니다."))); |
594 | //QTimer::singleShot(1000,this, SLOT(close())); | 658 | //QTimer::singleShot(1000,this, SLOT(close())); |
595 | } | 659 | } |
@@ -614,6 +678,9 @@ void FileProcessDlg::programUpload(){ | @@ -614,6 +678,9 @@ void FileProcessDlg::programUpload(){ | ||
614 | QString strDescPath; | 678 | QString strDescPath; |
615 | QString strSrcPath; | 679 | QString strSrcPath; |
616 | 680 | ||
681 | + | ||
682 | + | ||
683 | + | ||
617 | if(FileProcessor::detectUSB(strSrcPath)){ | 684 | if(FileProcessor::detectUSB(strSrcPath)){ |
618 | worker.addSrcFile(QString("%1/prime/superdaemon,/prime").arg(strSrcPath)); | 685 | worker.addSrcFile(QString("%1/prime/superdaemon,/prime").arg(strSrcPath)); |
619 | worker.addSrcFile(QString("%1/prime/superdaemon.ini,/prime").arg(strSrcPath)); | 686 | worker.addSrcFile(QString("%1/prime/superdaemon.ini,/prime").arg(strSrcPath)); |
app/gui/oven_control/fileprocessdlg.h
@@ -82,6 +82,7 @@ private: | @@ -82,6 +82,7 @@ private: | ||
82 | ConfigType m_nCfgtype; | 82 | ConfigType m_nCfgtype; |
83 | QThread programCopyThd; | 83 | QThread programCopyThd; |
84 | ProgramCopyWorker worker; | 84 | ProgramCopyWorker worker; |
85 | + bool m_bRst; | ||
85 | }; | 86 | }; |
86 | 87 | ||
87 | #endif // FILEPROCESSDLG_H | 88 | #endif // FILEPROCESSDLG_H |