diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2019-05-21 15:22:36 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2019-05-21 14:33:14 +0000 |
commit | 8aa227a7783b990e8dc4a5c9610eee4e8858a275 (patch) | |
tree | cdb0a85441716ce83db8cb9827e5ddba08cc1cfa | |
parent | 7eb29b650553548c75218fafb9990d1d034aba32 (diff) | |
download | qt-creator-8aa227a7783b990e8dc4a5c9610eee4e8858a275.tar.gz |
QmlDesigner: Fix stupid bug in resource browser
We were keeping skipped files as empty files.
Task-number: QDS-227
Change-Id: I5d7fca348e29d1accf3db29661a9d274b5b0f998
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
-rw-r--r-- | src/plugins/qmldesigner/components/itemlibrary/customfilesystemmodel.cpp | 16 | ||||
-rw-r--r-- | src/plugins/qmldesigner/components/itemlibrary/customfilesystemmodel.h | 1 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/plugins/qmldesigner/components/itemlibrary/customfilesystemmodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/customfilesystemmodel.cpp index 51dc03d94f..c09854b29a 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/customfilesystemmodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/customfilesystemmodel.cpp @@ -88,7 +88,7 @@ void CustomFileSystemModel::setFilter(QDir::Filters) } -QString filterMetaIcons(const QString &fileName) +bool filterMetaIcons(const QString &fileName) { QFileInfo info(fileName); @@ -101,7 +101,7 @@ QString filterMetaIcons(const QString &fileName) while (!currentDir.isRoot() && i < 3) { if (currentDir.dirName() == "designer") { if (!currentDir.entryList({"*.metainfo"}).isEmpty()) - return {}; + return false; } currentDir.cdUp(); @@ -109,10 +109,10 @@ QString filterMetaIcons(const QString &fileName) } if (info.dir().dirName() == "designer") - return {}; + return false; } - return fileName; + return true; } QModelIndex CustomFileSystemModel::setRootPath(const QString &newPath) @@ -179,6 +179,12 @@ void CustomFileSystemModel::setSearchFilter(const QString &nameFilterList) setRootPath(m_fileSystemModel->rootPath()); } +void CustomFileSystemModel::appendIfNotFiltered(const QString &file) +{ + if (filterMetaIcons(file)) + m_files.append(file); +} + QModelIndex CustomFileSystemModel::updatePath(const QString &newPath) { beginResetModel(); @@ -205,7 +211,7 @@ QModelIndex CustomFileSystemModel::updatePath(const QString &newPath) QDirIterator fileIterator(newPath, nameFilterList, QDir::Files, QDirIterator::Subdirectories); while (fileIterator.hasNext()) - m_files.append(filterMetaIcons(fileIterator.next())); + appendIfNotFiltered(fileIterator.next()); QDirIterator dirIterator(newPath, {}, QDir::Dirs | QDir::NoDotAndDotDot, QDirIterator::Subdirectories); while (dirIterator.hasNext()) diff --git a/src/plugins/qmldesigner/components/itemlibrary/customfilesystemmodel.h b/src/plugins/qmldesigner/components/itemlibrary/customfilesystemmodel.h index 69a0e4b131..e0d8148ce6 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/customfilesystemmodel.h +++ b/src/plugins/qmldesigner/components/itemlibrary/customfilesystemmodel.h @@ -63,6 +63,7 @@ public: private: QModelIndex updatePath(const QString &newPath); QModelIndex fileSystemModelIndex(const QModelIndex &index) const; + void appendIfNotFiltered(const QString &file); QFileSystemModel *m_fileSystemModel; QStringList m_files; |