1.1 --- a/misc.cpp Tue Sep 06 15:04:50 2005 +0000
1.2 +++ b/misc.cpp Mon Sep 12 19:52:51 2005 +0000
1.3 @@ -123,6 +123,45 @@
1.4 return d;
1.5 }
1.6
1.7 +void removeDir(QDir d)
1.8 +{
1.9 + // Traverse directories
1.10 + d.setFilter( QDir::Dirs| QDir::Hidden | QDir::NoSymLinks );
1.11 + const QFileInfoList *dirlist = d.entryInfoList();
1.12 + QFileInfoListIterator itdir( *dirlist );
1.13 + QFileInfo *fi;
1.14 +
1.15 + while ( (fi = itdir.current()) != 0 )
1.16 + {
1.17 + if (fi->fileName() != "." && fi->fileName() != ".." )
1.18 + {
1.19 + if ( !d.cd(fi->fileName()) )
1.20 + qWarning ("removeDir() cannot find the directory "+fi->fileName());
1.21 + else
1.22 + {
1.23 + // Recursively remove subdirs
1.24 + removeDir (d);
1.25 + d.cdUp();
1.26 + }
1.27 + }
1.28 + ++itdir;
1.29 + }
1.30 + // Traverse files
1.31 + d.setFilter( QDir::Files| QDir::Hidden | QDir::NoSymLinks );
1.32 + const QFileInfoList *filelist = d.entryInfoList();
1.33 + QFileInfoListIterator itfile( *filelist );
1.34 +
1.35 + while ( (fi = itfile.current()) != 0 )
1.36 + {
1.37 + QFile (fi->filePath()).remove();
1.38 +
1.39 + ++itfile;
1.40 + }
1.41 +
1.42 + if (!d.rmdir(d.path()))
1.43 + qWarning ("removeDir("+d.path()+") failed!");
1.44 +}
1.45 +
1.46 // returns masked "<" ">" "&"
1.47 QString quotemeta(const QString &s)
1.48 {