forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -88,7 +88,7 @@ void CustomFileSystemModel::setFilter(QDir::Filters)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString filterMetaIcons(const QString &fileName)
|
bool filterMetaIcons(const QString &fileName)
|
||||||
{
|
{
|
||||||
|
|
||||||
QFileInfo info(fileName);
|
QFileInfo info(fileName);
|
||||||
@@ -101,7 +101,7 @@ QString filterMetaIcons(const QString &fileName)
|
|||||||
while (!currentDir.isRoot() && i < 3) {
|
while (!currentDir.isRoot() && i < 3) {
|
||||||
if (currentDir.dirName() == "designer") {
|
if (currentDir.dirName() == "designer") {
|
||||||
if (!currentDir.entryList({"*.metainfo"}).isEmpty())
|
if (!currentDir.entryList({"*.metainfo"}).isEmpty())
|
||||||
return {};
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
currentDir.cdUp();
|
currentDir.cdUp();
|
||||||
@@ -109,10 +109,10 @@ QString filterMetaIcons(const QString &fileName)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (info.dir().dirName() == "designer")
|
if (info.dir().dirName() == "designer")
|
||||||
return {};
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return fileName;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QModelIndex CustomFileSystemModel::setRootPath(const QString &newPath)
|
QModelIndex CustomFileSystemModel::setRootPath(const QString &newPath)
|
||||||
@@ -179,6 +179,12 @@ void CustomFileSystemModel::setSearchFilter(const QString &nameFilterList)
|
|||||||
setRootPath(m_fileSystemModel->rootPath());
|
setRootPath(m_fileSystemModel->rootPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CustomFileSystemModel::appendIfNotFiltered(const QString &file)
|
||||||
|
{
|
||||||
|
if (filterMetaIcons(file))
|
||||||
|
m_files.append(file);
|
||||||
|
}
|
||||||
|
|
||||||
QModelIndex CustomFileSystemModel::updatePath(const QString &newPath)
|
QModelIndex CustomFileSystemModel::updatePath(const QString &newPath)
|
||||||
{
|
{
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
@@ -205,7 +211,7 @@ QModelIndex CustomFileSystemModel::updatePath(const QString &newPath)
|
|||||||
QDirIterator fileIterator(newPath, nameFilterList, QDir::Files, QDirIterator::Subdirectories);
|
QDirIterator fileIterator(newPath, nameFilterList, QDir::Files, QDirIterator::Subdirectories);
|
||||||
|
|
||||||
while (fileIterator.hasNext())
|
while (fileIterator.hasNext())
|
||||||
m_files.append(filterMetaIcons(fileIterator.next()));
|
appendIfNotFiltered(fileIterator.next());
|
||||||
|
|
||||||
QDirIterator dirIterator(newPath, {}, QDir::Dirs | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
|
QDirIterator dirIterator(newPath, {}, QDir::Dirs | QDir::NoDotAndDotDot, QDirIterator::Subdirectories);
|
||||||
while (dirIterator.hasNext())
|
while (dirIterator.hasNext())
|
||||||
|
@@ -63,6 +63,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
QModelIndex updatePath(const QString &newPath);
|
QModelIndex updatePath(const QString &newPath);
|
||||||
QModelIndex fileSystemModelIndex(const QModelIndex &index) const;
|
QModelIndex fileSystemModelIndex(const QModelIndex &index) const;
|
||||||
|
void appendIfNotFiltered(const QString &file);
|
||||||
|
|
||||||
QFileSystemModel *m_fileSystemModel;
|
QFileSystemModel *m_fileSystemModel;
|
||||||
QStringList m_files;
|
QStringList m_files;
|
||||||
|
Reference in New Issue
Block a user