forked from qt-creator/qt-creator
QmlDesigner: Fix icon generation dependencies missing in content lib
Change-Id: I07641feaa55d8b8c374c3e9e6efdce2e1dcc9246 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
@@ -879,13 +879,23 @@ void ContentLibraryView::addLibItem(const ModelNode &node, const QPixmap &iconPi
|
|||||||
};
|
};
|
||||||
|
|
||||||
if (iconPixmap.isNull()) {
|
if (iconPixmap.isNull()) {
|
||||||
// copy qml to a temp folder as icon generation fails sometimes when generating directly from
|
// copy qml and its dependencies to a temp folder as icon generation fails sometimes when
|
||||||
// the bundle folder
|
// generating directly from the bundle folder
|
||||||
m_tempDir = std::make_unique<QTemporaryDir>();
|
m_tempDir = std::make_unique<QTemporaryDir>();
|
||||||
QTC_ASSERT(m_tempDir->isValid(), return);
|
QTC_ASSERT(m_tempDir->isValid(), return);
|
||||||
Utils::FilePath qmlPathTemp = Utils::FilePath::fromString(m_tempDir->path()).pathAppended(qml);
|
auto tempDirPath = Utils::FilePath::fromString(m_tempDir->path());
|
||||||
|
|
||||||
|
Utils::FilePath qmlPathTemp = tempDirPath.pathAppended(qml);
|
||||||
bundlePath.pathAppended(qml).copyFile(qmlPathTemp);
|
bundlePath.pathAppended(qml).copyFile(qmlPathTemp);
|
||||||
|
|
||||||
|
for (const QString &assetPath : depAssetsList) {
|
||||||
|
Utils::FilePath assetPathSource = DocumentManager::currentResourcePath().pathAppended(assetPath);
|
||||||
|
Utils::FilePath assetPathTarget = tempDirPath.pathAppended(assetPath);
|
||||||
|
assetPathTarget.parentDir().ensureWritableDir();
|
||||||
|
auto result = assetPathSource.copyFile(assetPathTarget);
|
||||||
|
QTC_ASSERT_EXPECTED(result,);
|
||||||
|
}
|
||||||
|
|
||||||
getImageFromCache(qmlPathTemp.toFSPathString(), saveIcon);
|
getImageFromCache(qmlPathTemp.toFSPathString(), saveIcon);
|
||||||
} else {
|
} else {
|
||||||
saveIcon(iconPixmap);
|
saveIcon(iconPixmap);
|
||||||
|
Reference in New Issue
Block a user