Commit c3b0bdeacf14f54bca6db3e4ea00b377681f2890

Authored by 고영탁
1 parent 1f78015ebd
Exists in master and in 2 other branches fhd, fhd-demo

설정 프로그램 업로드 버그 수정

- 파일 목록 리스트 복사 루틴 디버그
app/gui/oven_control/fileprocessdlg.cpp
@@ -48,20 +48,32 @@ void ProgramCopyWorker::workerMain(){ @@ -48,20 +48,32 @@ void ProgramCopyWorker::workerMain(){
48 qDebug() << "Target Path is " << m_strDestDir; 48 qDebug() << "Target Path is " << m_strDestDir;
49 49
50 50
51 - foreach(QString filepath, m_arrSrcFileList){ 51 + foreach(QString strinfo, m_arrSrcFileList){
  52 + QString filepath = strinfo.left(strinfo.indexOf(',',0));
52 QFileInfo finfo(filepath); 53 QFileInfo finfo(filepath);
53 - nTotalFileSize+= finfo.size(); 54 + nTotalFileSize+= finfo.size();
54 } 55 }
  56 + qDebug() << "File List info : count = " << m_arrSrcFileList.size() << ", File Total Size = " << nTotalFileSize;
55 57
56 foreach(QString srcpath, m_arrSrcDirList){ 58 foreach(QString srcpath, m_arrSrcDirList){
57 nTotalFileSize += FileProcessor::getDirSize(srcpath); 59 nTotalFileSize += FileProcessor::getDirSize(srcpath);
58 } 60 }
59 - qDebug()<<"Total Size : " << nTotalFileSize; 61 + qDebug() << " Dir List info : count = " << m_arrSrcFileList.size() << ", File Total Size = " << nTotalFileSize;
  62 + if(nTotalFileSize <=0 ){
  63 + emit finished();
  64 + progressed(0,0);
  65 + return;
  66 + }
  67 +
60 68
61 - foreach(QString filepath, m_arrSrcFileList){ 69 + foreach(QString strinfo, m_arrSrcFileList){
  70 + QString filepath = strinfo.left(strinfo.indexOf(',',0));
  71 + QString destfiledir = strinfo.right(strinfo.size() - (strinfo.indexOf(',',0)+1));
  72 + QDir destdir(destfiledir);
  73 + if(destdir.exists() == false) destdir.mkpath(destfiledir);
62 QFileInfo finfo(filepath); 74 QFileInfo finfo(filepath);
63 srcFilepath = filepath; 75 srcFilepath = filepath;
64 - destFilePath = QString("%1/%2").arg(m_strDestDir).arg(finfo.fileName()); 76 + destFilePath = QString("%1/%2").arg(destfiledir).arg(finfo.fileName());
65 if(QFile::exists(destFilePath)){ 77 if(QFile::exists(destFilePath)){
66 QFile::rename(destFilePath, QString("%1.bak").arg(destFilePath)); 78 QFile::rename(destFilePath, QString("%1.bak").arg(destFilePath));
67 } 79 }
@@ -72,12 +84,12 @@ void ProgramCopyWorker::workerMain(){ @@ -72,12 +84,12 @@ void ProgramCopyWorker::workerMain(){
72 emit progressed(nCurProgress,nRemainSec); 84 emit progressed(nCurProgress,nRemainSec);
73 if(QThread::currentThread()->isInterruptionRequested()){ 85 if(QThread::currentThread()->isInterruptionRequested()){
74 sync(); 86 sync();
75 - emit finished();  
76 QThread::currentThread()->quit(); 87 QThread::currentThread()->quit();
77 break; 88 break;
78 } 89 }
79 QThread::currentThread()->msleep(10); 90 QThread::currentThread()->msleep(10);
80 } 91 }
  92 + qDebug() << "File List Copy Finished";
81 93
82 if(QThread::currentThread()->isInterruptionRequested() == false){ 94 if(QThread::currentThread()->isInterruptionRequested() == false){
83 foreach(QString srcpath, m_arrSrcDirList){ 95 foreach(QString srcpath, m_arrSrcDirList){
@@ -93,31 +105,27 @@ void ProgramCopyWorker::workerMain(){ @@ -93,31 +105,27 @@ void ProgramCopyWorker::workerMain(){
93 105
94 QDir destDir(targetpath); 106 QDir destDir(targetpath);
95 if(destDir.exists()) { 107 if(destDir.exists()) {
96 - qDebug() << "remove target path"; 108 + qDebug() << "rename target path";
97 QDir().rename(targetpath, QString("%1_").arg(targetpath)); 109 QDir().rename(targetpath, QString("%1_").arg(targetpath));
98 } 110 }
99 111
100 foreach(QString strDir, strdirlist){ 112 foreach(QString strDir, strdirlist){
101 QDir srcItem(strDir); 113 QDir srcItem(strDir);
102 srcItem.mkpath( QString(strDir).replace(srcpath,targetpath)); 114 srcItem.mkpath( QString(strDir).replace(srcpath,targetpath));
103 - qDebug() << "make path : " << QString(strDir).replace(srcpath,targetpath);  
104 - strFilelist = srcItem.entryList(QDir::NoDotAndDotDot | QDir::Files );  
105 - foreach(QString filename, strFilelist){  
106 - srcFilepath = QString("%1/%2").arg(strDir).arg(filename);  
107 - destFilePath = QString("%1/%2").arg(QString(strDir).replace(srcpath,targetpath)).arg(filename);  
108 - QFile::copy(srcFilepath, destFilePath);  
109 - qDebug() << srcFilepath << destFilePath;  
110 - QFileInfo finfo(srcFilepath); 115 + QFileInfoList strFileInfolist = srcItem.entryInfoList(QDir::Files | QDir::NoSymLinks | QDir::NoDotAndDotDot);
  116 + foreach(QFileInfo finfo, strFileInfolist){
  117 + srcFilepath = finfo.absoluteFilePath();
  118 + destFilePath = QString("%1/%2").arg(QString(strDir).replace(srcpath,targetpath)).arg(finfo.fileName());
111 nCpyFileSize += finfo.size(); 119 nCpyFileSize += finfo.size();
112 nCurProgress = (nCpyFileSize *100) / nTotalFileSize; 120 nCurProgress = (nCpyFileSize *100) / nTotalFileSize;
113 nRemainSec = (nTotalFileSize-nCpyFileSize)/200000; 121 nRemainSec = (nTotalFileSize-nCpyFileSize)/200000;
  122 + //qDebug() << srcFilepath << destFilePath << "total size " << nTotalFileSize << "nCpyFileSize " << nCpyFileSize;
114 emit progressed(nCurProgress,nRemainSec); 123 emit progressed(nCurProgress,nRemainSec);
115 if(QThread::currentThread()->isInterruptionRequested()){ 124 if(QThread::currentThread()->isInterruptionRequested()){
116 sync(); 125 sync();
117 - emit finished();  
118 break; 126 break;
119 } 127 }
120 - QThread::currentThread()->msleep(100); 128 + //QThread::currentThread()->msleep(100);
121 } 129 }
122 if(QThread::currentThread()->isInterruptionRequested()) break; 130 if(QThread::currentThread()->isInterruptionRequested()) break;
123 } 131 }
@@ -125,12 +133,15 @@ void ProgramCopyWorker::workerMain(){ @@ -125,12 +133,15 @@ void ProgramCopyWorker::workerMain(){
125 if(QThread::currentThread()->isInterruptionRequested()) break; 133 if(QThread::currentThread()->isInterruptionRequested()) break;
126 } 134 }
127 } 135 }
  136 + qDebug() << "File Copy Complete! SRC File Size = " << nTotalFileSize << "DEST File Size = " << nCpyFileSize;
128 137
129 if(QThread::currentThread()->isInterruptionRequested()){ 138 if(QThread::currentThread()->isInterruptionRequested()){
130 - foreach(QString filepath, m_arrSrcFileList){ 139 + foreach(QString strinfo, m_arrSrcFileList){
  140 + QString filepath = strinfo.left(strinfo.indexOf(',',0)+1);
  141 + QString destfiledir = strinfo.right(strinfo.size() - (strinfo.indexOf(',',0)+1));
131 QFileInfo finfo(filepath); 142 QFileInfo finfo(filepath);
132 srcFilepath = filepath; 143 srcFilepath = filepath;
133 - destFilePath = QString("%1/%2").arg(m_strDestDir).arg(finfo.fileName()); 144 + destFilePath = QString("%1/%2").arg(destfiledir).arg(finfo.fileName());
134 if(QFile::exists( QString("%1.bak").arg(destFilePath))){ 145 if(QFile::exists( QString("%1.bak").arg(destFilePath))){
135 QFile::remove(destFilePath); 146 QFile::remove(destFilePath);
136 QFile::rename(QString("%1.bak").arg(destFilePath), destFilePath); 147 QFile::rename(QString("%1.bak").arg(destFilePath), destFilePath);
@@ -160,12 +171,9 @@ void ProgramCopyWorker::workerMain(){ @@ -160,12 +171,9 @@ void ProgramCopyWorker::workerMain(){
160 else{ 171 else{
161 foreach(QString srcpath, m_arrSrcDirList){ 172 foreach(QString srcpath, m_arrSrcDirList){
162 qDebug() << "src dir : " << srcpath; 173 qDebug() << "src dir : " << srcpath;
163 -  
164 QDir srcdir(srcpath); 174 QDir srcdir(srcpath);
165 -  
166 QString targetpath =QString("%1%2").arg(m_strDestDir).arg(srcpath.mid(srcpath.lastIndexOf('/'))); 175 QString targetpath =QString("%1%2").arg(m_strDestDir).arg(srcpath.mid(srcpath.lastIndexOf('/')));
167 qDebug() << "target dir : " << targetpath; 176 qDebug() << "target dir : " << targetpath;
168 -  
169 QDir destDir(targetpath); 177 QDir destDir(targetpath);
170 QDir renameDir(QString("%1_").arg(targetpath)); 178 QDir renameDir(QString("%1_").arg(targetpath));
171 if(renameDir.exists()) { 179 if(renameDir.exists()) {
@@ -576,7 +584,36 @@ void FileProcessDlg::onProgressed(int progress, int sec){ @@ -576,7 +584,36 @@ void FileProcessDlg::onProgressed(int progress, int sec){
576 } 584 }
577 585
578 void FileProcessDlg::programUpload(){ 586 void FileProcessDlg::programUpload(){
  587 + QString strDescPath;
  588 + QString strSrcPath;
  589 +
  590 + if(FileProcessor::detectUSB(strSrcPath)){
  591 + worker.addSrcFile(QString("%1/prime/falinux/run.sh,/falinux").arg(strSrcPath));
  592 + worker.addSrcFile(QString("%1/prime/falinux/app-prime-modbus,/falinux").arg(strSrcPath));
  593 + worker.addSrcFile(QString("%1/prime/falinux/app-prime-gui,/falinux").arg(strSrcPath));
  594 + worker.addSrcFile(QString("%1/prime/falinux/service-web,/falinux").arg(strSrcPath));
  595 + worker.addSrcFile(QString("%1/prime/falinux/templates/main.tmpl,/falinux/templates").arg(strSrcPath));
  596 + worker.addSrcFile(QString("%1/prime/falinux/system.ini,/falinux").arg(strSrcPath));
  597 + //worker.addSrcFile(QString("%1/prime/falinux/superdaemon,/falinux").arg(strSrcPath));
  598 + //worker.addSrcFile(QString("%1/prime/falinux/superdaemon.ini,/falinux").arg(strSrcPath));
  599 + worker.setDestPath("/prime");
  600 + worker.addSrcDir(QString("%1/%2").arg(strSrcPath,"cookbook"));
  601 + worker.moveToThread(&programCopyThd);
  602 +
  603 + connect(&programCopyThd,SIGNAL(started()), &worker, SLOT(workerMain()));
  604 + connect(&worker, SIGNAL(progressed(int,int)), this, SLOT(onProgressed(int,int)));
  605 + connect(this, SIGNAL(stopcopy()), &worker, SLOT(workerStop()));
  606 + connect(&worker, SIGNAL(finished()), &programCopyThd,SLOT(quit()));
  607 + connect(&programCopyThd, SIGNAL(finished()), this, SLOT(onProgressFinished()));
  608 + //connect(ui->ctrBtnCancel, SIGNAL(clicked(bool)), &worker, SLOT(workerStop()));
579 609
  610 + programCopyThd.start();
  611 + qDebug() << "thread start";
  612 + }
  613 + else{
  614 + ui->ctrLbRemainTime->setText(tr("USB 인식을 실패하였습니다."));
  615 + QTimer::singleShot(1000,this,SLOT(close()));
  616 + }
580 } 617 }
581 618
582 void FileProcessDlg::configDownload(){ 619 void FileProcessDlg::configDownload(){
app/gui/oven_control/fileprocessor.cpp
@@ -65,7 +65,7 @@ quint64 FileProcessor::getDirSize(const QString &amp;str){ @@ -65,7 +65,7 @@ quint64 FileProcessor::getDirSize(const QString &amp;str){
65 sizex += getDirSize(fileInfo.absoluteFilePath()); 65 sizex += getDirSize(fileInfo.absoluteFilePath());
66 } 66 }
67 else{ 67 else{
68 - qDebug() << fileInfo.absoluteFilePath() << fileInfo.size(); 68 + //qDebug() << fileInfo.absoluteFilePath() << fileInfo.size();
69 sizex += fileInfo.size(); 69 sizex += fileInfo.size();
70 } 70 }
71 } 71 }