QmlDesigner: Allow uppercase file suffixes in asset import

Fixes: QDS-3720
Change-Id: I2b4af981bed943e53847bb3480ced185e157b5e7
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
This commit is contained in:
Miikka Heikkinen
2021-02-04 15:24:28 +02:00
parent 99a3ddbd23
commit ee85d7f9ca
3 changed files with 16 additions and 15 deletions

View File

@@ -120,7 +120,7 @@ public:
QIcon icon( const QFileInfo & info ) const override QIcon icon( const QFileInfo & info ) const override
{ {
QIcon icon; QIcon icon;
const QString suffix = info.suffix(); const QString suffix = info.suffix().toLower();
const QString filePath = info.absoluteFilePath(); const QString filePath = info.absoluteFilePath();
// Provide icon depending on suffix // Provide icon depending on suffix
@@ -288,7 +288,7 @@ void CustomFileSystemModel::setSearchFilter(const QString &nameFilterList)
QPair<QString, QByteArray> CustomFileSystemModel::resourceTypeAndData(const QModelIndex &index) const QPair<QString, QByteArray> CustomFileSystemModel::resourceTypeAndData(const QModelIndex &index) const
{ {
QFileInfo fi = fileInfo(index); QFileInfo fi = fileInfo(index);
QString suffix = fi.suffix(); QString suffix = fi.suffix().toLower();
if (!suffix.isEmpty()) { if (!suffix.isEmpty()) {
if (supportedImageSuffixes().contains(suffix)) { if (supportedImageSuffixes().contains(suffix)) {
// Data: Image format (suffix) // Data: Image format (suffix)
@@ -365,16 +365,17 @@ QModelIndex CustomFileSystemModel::updatePath(const QString &newPath)
nameFilterList.append(QString(QStringLiteral("*%1*")).arg(searchFilter)); nameFilterList.append(QString(QStringLiteral("*%1*")).arg(searchFilter));
} else { } else {
const QString filterTemplate("*%1*.%2"); const QString filterTemplate("*%1*.%2");
for (const QString &ext : supportedImageSuffixes()) auto appendFilters = [&](const QStringList &suffixes) {
nameFilterList.append(filterTemplate.arg(searchFilter, ext)); for (const QString &ext : suffixes) {
for (const QString &ext : supportedShaderSuffixes())
nameFilterList.append(filterTemplate.arg(searchFilter, ext));
for (const QString &ext : supportedFontSuffixes())
nameFilterList.append(filterTemplate.arg(searchFilter, ext));
for (const QString &ext : supportedAudioSuffixes())
nameFilterList.append(filterTemplate.arg(searchFilter, ext));
for (const QString &ext : supportedTexture3DSuffixes())
nameFilterList.append(filterTemplate.arg(searchFilter, ext)); nameFilterList.append(filterTemplate.arg(searchFilter, ext));
nameFilterList.append(filterTemplate.arg(searchFilter, ext.toUpper()));
}
};
appendFilters(supportedImageSuffixes());
appendFilters(supportedShaderSuffixes());
appendFilters(supportedFontSuffixes());
appendFilters(supportedAudioSuffixes());
appendFilters(supportedTexture3DSuffixes());
} }
m_files.clear(); m_files.clear();

View File

@@ -88,7 +88,7 @@ ItemLibraryAssetImportDialog::ItemLibraryAssetImportDialog(const QStringList &im
// Skip unsupported assets // Skip unsupported assets
QHash<QString, bool> supportMap; QHash<QString, bool> supportMap;
for (const auto &file : importFiles) { for (const auto &file : importFiles) {
QString suffix = QFileInfo(file).suffix(); QString suffix = QFileInfo(file).suffix().toLower();
if (!supportMap.contains(suffix)) { if (!supportMap.contains(suffix)) {
bool supported = false; bool supported = false;
for (const auto &exts : supportedExts) { for (const auto &exts : supportedExts) {

View File

@@ -210,7 +210,7 @@ ItemLibraryWidget::ItemLibraryWidget(AsynchronousImageCache &imageCache,
const QList<QUrl> urls = event->mimeData()->urls(); const QList<QUrl> urls = event->mimeData()->urls();
for (const QUrl &url : urls) { for (const QUrl &url : urls) {
QFileInfo fi(url.toLocalFile()); QFileInfo fi(url.toLocalFile());
if (suffixes.contains(fi.suffix())) { if (suffixes.contains(fi.suffix().toLower())) {
accept = true; accept = true;
break; break;
} }
@@ -564,7 +564,7 @@ void ItemLibraryWidget::importDroppedFiles(const QList<Utils::DropSupport::FileS
QStringList fileNames; QStringList fileNames;
for (const auto &file : files) { for (const auto &file : files) {
QFileInfo fi(file.filePath); QFileInfo fi(file.filePath);
if (m_resourcesFileSystemModel->supportedSuffixes().contains(fi.suffix())) if (m_resourcesFileSystemModel->supportedSuffixes().contains(fi.suffix().toLower()))
fileNames.append(fi.absoluteFilePath()); fileNames.append(fi.absoluteFilePath());
} }
if (!fileNames.isEmpty()) if (!fileNames.isEmpty())