QStringList KingaFileManager::GetFilesRecursively(QString folder_path) { QDir dir = QDir(folder_path); QStringList files; QStringList dirs; QStringList valid_files; valid_files << "*.jpg" << "*.jpeg" << "*.png"; QFileInfoList fileinfos = dir.entryInfoList(valid_files,QDir::Files|QDir::NoSymLinks); for(int i=0; i<fileinfos.size();i++) files << fileinfos.at(i).absoluteFilePath(); QFileInfoList dirinfos = dir.entryInfoList(QDir::Dirs|QDir::NoSymLinks|QDir::NoDotAndDotDot); for(int i=0; i<dirinfos.size();i++) files << GetFilesRecursively(dirinfos.at(i).absoluteFilePath()); return files; }
void MainWindow::DoCheckFiles(const QStringList &files) { if (files.isEmpty()) { return; } ClearResults(); QStringList fileNames; QString selection; foreach(selection, files) { fileNames << RemoveUnacceptedFiles(GetFilesRecursively(selection)); }
void KingaFileManager::OnAddRecursivelyClicked(void) { QString dirpath = QFileDialog::getExistingDirectory(this,tr("Select Folder"),QDir::homePath()); if(!dirpath.isNull()) FileListWidget->addItems(GetFilesRecursively(dirpath)); }