forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/6.0' into 7.0
Change-Id: I8b1cdfb72b0e3e583c94447f13d0161b99fa93c1
This commit is contained in:
@@ -35,7 +35,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Download Ninja and CMake
|
- name: Download Ninja and CMake
|
||||||
shell: cmake -P {0}
|
shell: cmake -P {0}
|
||||||
|
@@ -1556,25 +1556,16 @@ void DesignerActionManager::createDefaultAddResourceHandler()
|
|||||||
|
|
||||||
// Having a single image type category creates too large of a filter, so we split images into
|
// Having a single image type category creates too large of a filter, so we split images into
|
||||||
// categories according to their mime types
|
// categories according to their mime types
|
||||||
const QList<QByteArray> mimeTypes = QImageReader::supportedMimeTypes();
|
|
||||||
auto transformer = [](const QByteArray& format) -> QString { return QString("*.") + format; };
|
auto transformer = [](const QByteArray& format) -> QString { return QString("*.") + format; };
|
||||||
QHash<QByteArray, QStringList> imageFormats;
|
auto imageFormats = Utils::transform(QImageReader::supportedImageFormats(), transformer);
|
||||||
for (const auto &mimeType : mimeTypes)
|
imageFormats.push_back("*.hdr");
|
||||||
imageFormats.insert(mimeType, Utils::transform(QImageReader::imageFormatsForMimeType(mimeType), transformer));
|
imageFormats.push_back("*.ktx");
|
||||||
imageFormats.insert("image/vnd.radiance", {"*.hdr"});
|
|
||||||
imageFormats.insert("image/ktx", {"*.ktx"});
|
|
||||||
|
|
||||||
// The filters will be displayed in reverse order to these lists in file dialog,
|
// The filters will be displayed in reverse order to these lists in file dialog,
|
||||||
// so declare most common types last
|
// so declare most common types last
|
||||||
QHash<QByteArray, QStringList>::const_iterator i = imageFormats.constBegin();
|
registerHandlers(imageFormats,
|
||||||
while (i != imageFormats.constEnd()) {
|
|
||||||
registerHandlers(i.value(),
|
|
||||||
ModelNodeOperations::addImageToProject,
|
ModelNodeOperations::addImageToProject,
|
||||||
QObject::tr("%1: %2")
|
ComponentCoreConstants::addImagesDisplayString);
|
||||||
.arg(ComponentCoreConstants::addImagesDisplayString)
|
|
||||||
.arg(QString::fromLatin1(i.key())));
|
|
||||||
++i;
|
|
||||||
}
|
|
||||||
registerHandlers({"*.otf", "*.ttf"},
|
registerHandlers({"*.otf", "*.ttf"},
|
||||||
ModelNodeOperations::addFontToProject,
|
ModelNodeOperations::addFontToProject,
|
||||||
ComponentCoreConstants::addFontsDisplayString);
|
ComponentCoreConstants::addFontsDisplayString);
|
||||||
|
@@ -612,6 +612,19 @@ void ItemLibraryWidget::addImportForItem(const QString &importUrl)
|
|||||||
m_model->changeImports({import}, {});
|
m_model->changeImports({import}, {});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static QHash<QByteArray, QStringList> allImageFormats()
|
||||||
|
{
|
||||||
|
const QList<QByteArray> mimeTypes = QImageReader::supportedMimeTypes();
|
||||||
|
auto transformer = [](const QByteArray& format) -> QString { return QString("*.") + format; };
|
||||||
|
QHash<QByteArray, QStringList> imageFormats;
|
||||||
|
for (const auto &mimeType : mimeTypes)
|
||||||
|
imageFormats.insert(mimeType, Utils::transform(QImageReader::imageFormatsForMimeType(mimeType), transformer));
|
||||||
|
imageFormats.insert("image/vnd.radiance", {"*.hdr"});
|
||||||
|
imageFormats.insert("image/ktx", {"*.ktx"});
|
||||||
|
|
||||||
|
return imageFormats;
|
||||||
|
}
|
||||||
|
|
||||||
void ItemLibraryWidget::addResources(const QStringList &files)
|
void ItemLibraryWidget::addResources(const QStringList &files)
|
||||||
{
|
{
|
||||||
DesignDocument *document = QmlDesignerPlugin::instance()->currentDesignDocument();
|
DesignDocument *document = QmlDesignerPlugin::instance()->currentDesignDocument();
|
||||||
@@ -637,8 +650,19 @@ void ItemLibraryWidget::addResources(const QStringList &files)
|
|||||||
|
|
||||||
QStringList filters { tr("All Files (%1)").arg("*.*") };
|
QStringList filters { tr("All Files (%1)").arg("*.*") };
|
||||||
QString filterTemplate = "%1 (%2)";
|
QString filterTemplate = "%1 (%2)";
|
||||||
for (const QString &key : qAsConst(sortedKeys))
|
for (const QString &key : qAsConst(sortedKeys)) {
|
||||||
filters.append(filterTemplate.arg(key, map.values(key).join(' ')));
|
const QStringList values = map.values(key);
|
||||||
|
if (values.contains("*.png")) { // Avoid long filter for images by splitting
|
||||||
|
const QHash<QByteArray, QStringList> imageFormats = allImageFormats();
|
||||||
|
QHash<QByteArray, QStringList>::const_iterator i = imageFormats.constBegin();
|
||||||
|
while (i != imageFormats.constEnd()) {
|
||||||
|
filters.append(filterTemplate.arg(key + QString::fromLatin1(i.key()), i.value().join(' ')));
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
filters.append(filterTemplate.arg(key, values.join(' ')));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static QString lastDir;
|
static QString lastDir;
|
||||||
const QString currentDir = lastDir.isEmpty() ? document->fileName().parentDir().toString() : lastDir;
|
const QString currentDir = lastDir.isEmpty() ? document->fileName().parentDir().toString() : lastDir;
|
||||||
|
Reference in New Issue
Block a user