I don't have time right now to go through your code, but in a past project, I wrote a recursive function to do just what you're wanting to do, you pass it the parent directory path as a string, and it does the rest for you...
void VideoManagerPage
::deleteVideoDirectory(QString video_dir
) {
//First delete any files in the current directory
QFileInfoList files
= dvd_dir.
entryInfoList(QDir::NoDotAndDotDot |
QDir::Files);
for(int file = 0; file < files.count(); file++)
{
dvd_dir.remove(files.at(file).fileName());
}
//Now recursively delete any child directories
QFileInfoList dirs
= dvd_dir.
entryInfoList(QDir::NoDotAndDotDot |
QDir::Dirs);
for(int dir = 0; dir < dirs.count(); dir++)
{
this->deleteVideoDirectory(dirs.at(dir).absoluteFilePath());
}
//Finally, remove empty parent directory
dvd_dir.rmdir(dvd_dir.path());
}
void VideoManagerPage::deleteVideoDirectory(QString video_dir)
{
QDir dvd_dir(video_dir);
//First delete any files in the current directory
QFileInfoList files = dvd_dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Files);
for(int file = 0; file < files.count(); file++)
{
dvd_dir.remove(files.at(file).fileName());
}
//Now recursively delete any child directories
QFileInfoList dirs = dvd_dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Dirs);
for(int dir = 0; dir < dirs.count(); dir++)
{
this->deleteVideoDirectory(dirs.at(dir).absoluteFilePath());
}
//Finally, remove empty parent directory
dvd_dir.rmdir(dvd_dir.path());
}
To copy to clipboard, switch view to plain text mode
Bookmarks