void listeurFic::listerDossier(QString nomDossier){ QFileInfo fi(QString(nomDossier.data())); QString chemin=fi.absoluteFilePath(); // QStringList filters; // filters << "*.txt" << "*.html" << "*"; QFileInfoList files = QDir(chemin).entryInfoList(); files.removeFirst(); files.removeFirst(); foreach( QFileInfo file, files ) if(file.isReadable() && !file.isHidden()) { if(file.isFile()) listeFichiers.append(file); else { files.removeOne(file); listerDossier(file.absoluteFilePath()); } } }
FileList *Computer::getFileList(QString filter) { FileList *fileList = new FileList; QFileInfoList list = this->directory.entryInfoList(); QFileIconProvider *provider; QStringList date; QString tmp; while (!list.isEmpty()) { date=list.first().lastModified().toString().split(" "); tmp=date.at(2)+" "+date.at(1)+" "+date.at(4); tmp.remove("."); fileList->date.append(tmp); fileList->name.append(list.first().fileName()); fileList->size.append(QString::number(list.first().size())); provider=new QFileIconProvider; fileList->icon.append(provider->icon(list.first())); if (list.first().isDir()) fileList->type.append("dir"); else { if (!fileList->name.last().contains(filter)) { fileList->date.removeLast(); fileList->name.removeLast(); fileList->size.removeLast(); fileList->icon.removeLast(); } fileList->type.append("file"); } delete provider; list.removeFirst(); } if (fileList->name.length()==0) return fileList; //usun . i .. if (fileList->name.count()>0) { // if (fileList.name.first()==".") // { int x=fileList->name.indexOf("."); if (x!=-1) { fileList->date.removeAt(x); fileList->name.removeAt(x); fileList->size.removeAt(x); fileList->type.removeAt(x); fileList->icon.removeAt(x); } x=fileList->name.indexOf(".."); if (x!=-1) { fileList->date.removeAt(x); fileList->name.removeAt(x); fileList->size.removeAt(x); fileList->type.removeAt(x); fileList->icon.removeAt(x); } } return fileList; }