Filtre avec QFileSystemModel et QListView
Bonjour,
je suis actuellement entrain de coder ma propre fenêtre de sélection de fichier a la manière d'un QFileDialog.
Mon problème provient de la mise en place des filtres.
Je vous explique. J'ai réussi a mettre en place un filtre pour par exemple n'afficher que les fichier JPG, cependant je souhaiterais que mon filtre permettent également de voir les dossier et pour ça je n'ai pas trouvé quel filtre mettre.
Pour information pour la suite je développe sous QtCreator avec Qt5.3+msvc 2013
donc voici comment est configuré de base mon QFileSystemModel:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| fileModel = new QFileSystemModel(this);
#if _WIN32
QString mPath = "C:/";
#elif __linux__
QString mPath = "/";
#endif
// Set filter
fileModel->setFilter(QDir::NoDotAndDotDot |
QDir::Files | QDir::Dirs);
// QFileSystemModel requires root path
fileModel->setRootPath(mPath);
// Attach the file model to the view
ui->listView_Fichier->setModel(fileModel); |
et voici comment je met en place mes filtres :
Code:
1 2 3 4 5
| void DialogFile::setNamesFilter(QStringList filter)
{
fileModel->setNameFilters(filter);
fileModel->setNameFilterDisables(false);
} |
et donc quand j'appelle ma fenêtre je fais :
Code:
1 2 3 4
| DialogFile dial;
dial.setCaption("Fichier lwo a ouvrir");
dial.setNamesFilter(QStringList() << "*.jpg << *.JPG");
dial.exec(); |
Or quand je me déplace dans mon arborescence ma qlistview ne m'affiche que les fichier JPG et pas les dossiers sur lesquelles je voudrais pouvoir double cliquer pour changer de répertoire.
Comment faire en sorte que mon filtre laisse passer les répertoires également?
Merci d'avance