//------------------------------------------------------------------------------ void MainWindow::getTargetFiles(QListWidget *listWidget, QLineEdit *labelFileStatus, QStringList files) { for (int ii = 0; ii < files.count(); ii++) { QFileInfo *fileinfo = new QFileInfo(files[ii]); if(fileinfo->isFile()){ if(! getTargetFile(listWidget, files[ii], files.count() - ii - 1)){ break; } inputFilesPath = fileinfo->dir().absolutePath(); } else{ QMessageBox::StandardButton reply; reply = QMessageBox::information(this, tr("Confirm"), tr("Select all files in the folder?") + "\n\n" + files[ii], QMessageBox::Yes | QMessageBox::No | QMessageBox::Abort); if (reply == QMessageBox::Yes){ if(! getTargetFolder(listWidget, files[ii])){ break; } inputFilesPath = files[ii]; } else if(reply == QMessageBox::No){ continue; } else{ break; } } } rewriteFileStatus(listWidget, labelFileStatus); }
//------------------------------------------------------------------------------ bool MainWindow::getTargetFolder(QListWidget *listWidget, QString folder) { bool isContinue = true; QDir dir(folder); QStringList files = dir.entryList(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks | QDir::Readable); for( int ii = 0; ii < files.count(); ii++){ QFileInfo *fileinfo = new QFileInfo(folder + "/" + files[ii]); if(fileinfo->isFile()){ if(!getTargetFile(listWidget, folder + "/" + files[ii], files.count() - ii - 1)){ isContinue = false; break; } } else{ QMessageBox::StandardButton reply; reply = QMessageBox::information(this, tr("Confirm"), tr("Select all files in the folder?") + "\n\n" + folder + "/" + files[ii], QMessageBox::Yes | QMessageBox::No | QMessageBox::Abort); if (reply == QMessageBox::Yes){ if(! getTargetFolder(listWidget, folder + "/" + files[ii])){ isContinue = false; break; } } else if (reply == QMessageBox::No){ continue; } else{ isContinue = false; break; } } } return isContinue; }
RelativePath ProjectExporter::rebaseFromProjectFolderToBuildTarget (const RelativePath& path) const { return path.rebased (project.getProjectFolder(), getTargetFolder(), RelativePath::buildTargetFolder); }