Commit c3b0bdeacf14f54bca6db3e4ea00b377681f2890
1 parent
1f78015ebd
Exists in
master
and in
2 other branches
설정 프로그램 업로드 버그 수정
- 파일 목록 리스트 복사 루틴 디버그
Showing
2 changed files
with
60 additions
and
23 deletions
Show diff stats
app/gui/oven_control/fileprocessdlg.cpp
... | ... | @@ -48,20 +48,32 @@ void ProgramCopyWorker::workerMain(){ |
48 | 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 | 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 | 58 | foreach(QString srcpath, m_arrSrcDirList){ |
57 | 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 | 74 | QFileInfo finfo(filepath); |
63 | 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 | 77 | if(QFile::exists(destFilePath)){ |
66 | 78 | QFile::rename(destFilePath, QString("%1.bak").arg(destFilePath)); |
67 | 79 | } |
... | ... | @@ -72,12 +84,12 @@ void ProgramCopyWorker::workerMain(){ |
72 | 84 | emit progressed(nCurProgress,nRemainSec); |
73 | 85 | if(QThread::currentThread()->isInterruptionRequested()){ |
74 | 86 | sync(); |
75 | - emit finished(); | |
76 | 87 | QThread::currentThread()->quit(); |
77 | 88 | break; |
78 | 89 | } |
79 | 90 | QThread::currentThread()->msleep(10); |
80 | 91 | } |
92 | + qDebug() << "File List Copy Finished"; | |
81 | 93 | |
82 | 94 | if(QThread::currentThread()->isInterruptionRequested() == false){ |
83 | 95 | foreach(QString srcpath, m_arrSrcDirList){ |
... | ... | @@ -93,31 +105,27 @@ void ProgramCopyWorker::workerMain(){ |
93 | 105 | |
94 | 106 | QDir destDir(targetpath); |
95 | 107 | if(destDir.exists()) { |
96 | - qDebug() << "remove target path"; | |
108 | + qDebug() << "rename target path"; | |
97 | 109 | QDir().rename(targetpath, QString("%1_").arg(targetpath)); |
98 | 110 | } |
99 | 111 | |
100 | 112 | foreach(QString strDir, strdirlist){ |
101 | 113 | QDir srcItem(strDir); |
102 | 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 | 119 | nCpyFileSize += finfo.size(); |
112 | 120 | nCurProgress = (nCpyFileSize *100) / nTotalFileSize; |
113 | 121 | nRemainSec = (nTotalFileSize-nCpyFileSize)/200000; |
122 | + //qDebug() << srcFilepath << destFilePath << "total size " << nTotalFileSize << "nCpyFileSize " << nCpyFileSize; | |
114 | 123 | emit progressed(nCurProgress,nRemainSec); |
115 | 124 | if(QThread::currentThread()->isInterruptionRequested()){ |
116 | 125 | sync(); |
117 | - emit finished(); | |
118 | 126 | break; |
119 | 127 | } |
120 | - QThread::currentThread()->msleep(100); | |
128 | + //QThread::currentThread()->msleep(100); | |
121 | 129 | } |
122 | 130 | if(QThread::currentThread()->isInterruptionRequested()) break; |
123 | 131 | } |
... | ... | @@ -125,12 +133,15 @@ void ProgramCopyWorker::workerMain(){ |
125 | 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 | 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 | 142 | QFileInfo finfo(filepath); |
132 | 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 | 145 | if(QFile::exists( QString("%1.bak").arg(destFilePath))){ |
135 | 146 | QFile::remove(destFilePath); |
136 | 147 | QFile::rename(QString("%1.bak").arg(destFilePath), destFilePath); |
... | ... | @@ -160,12 +171,9 @@ void ProgramCopyWorker::workerMain(){ |
160 | 171 | else{ |
161 | 172 | foreach(QString srcpath, m_arrSrcDirList){ |
162 | 173 | qDebug() << "src dir : " << srcpath; |
163 | - | |
164 | 174 | QDir srcdir(srcpath); |
165 | - | |
166 | 175 | QString targetpath =QString("%1%2").arg(m_strDestDir).arg(srcpath.mid(srcpath.lastIndexOf('/'))); |
167 | 176 | qDebug() << "target dir : " << targetpath; |
168 | - | |
169 | 177 | QDir destDir(targetpath); |
170 | 178 | QDir renameDir(QString("%1_").arg(targetpath)); |
171 | 179 | if(renameDir.exists()) { |
... | ... | @@ -576,7 +584,36 @@ void FileProcessDlg::onProgressed(int progress, int sec){ |
576 | 584 | } |
577 | 585 | |
578 | 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 | 619 | void FileProcessDlg::configDownload(){ | ... | ... |
app/gui/oven_control/fileprocessor.cpp
... | ... | @@ -65,7 +65,7 @@ quint64 FileProcessor::getDirSize(const QString &str){ |
65 | 65 | sizex += getDirSize(fileInfo.absoluteFilePath()); |
66 | 66 | } |
67 | 67 | else{ |
68 | - qDebug() << fileInfo.absoluteFilePath() << fileInfo.size(); | |
68 | + //qDebug() << fileInfo.absoluteFilePath() << fileInfo.size(); | |
69 | 69 | sizex += fileInfo.size(); |
70 | 70 | } |
71 | 71 | } | ... | ... |