aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Bubke <marco.bubke@qt.io>2022-04-11 17:20:37 +0200
committerMarco Bubke <marco.bubke@qt.io>2022-04-13 14:16:20 +0000
commit4bd71ebf6aee53a9ac15f9c7fe0f4819c91ae96b (patch)
treed9671c48c9ede695db34ac1590a1800a1bca54aa
parent63aaa65439ab46f256382f0267d45067b0d6c4ec (diff)
QmlDesigner: Fix poor snapshot quality
It removes the image cache in the AssetsLibraryView too because it is not used. Fix ODR violation too. Fixes: QDS-6553 Change-Id: I83d8f8b7cd385e2c8352986e4b5a5abd76ac7d5b Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
-rw-r--r--share/qtcreator/qml/qmlpuppet/commands/createscenecommand.h13
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5captureimagenodeinstanceserver.cpp26
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5captureimagenodeinstanceserver.h4
-rw-r--r--src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp64
-rw-r--r--src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.h4
-rw-r--r--src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp6
-rw-r--r--src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h4
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp6
-rw-r--r--src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h2
-rw-r--r--src/plugins/qmldesigner/components/previewtooltip/previewimagetooltip.cpp3
-rw-r--r--src/plugins/qmldesigner/designercore/imagecache/imagecachecollector.cpp11
-rw-r--r--src/plugins/qmldesigner/designercore/imagecache/imagecachecollector.h4
-rw-r--r--src/plugins/qmldesigner/designercore/include/nodeinstanceview.h9
-rw-r--r--src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp33
-rw-r--r--src/plugins/qmldesigner/qmldesignerprojectmanager.cpp2
-rw-r--r--src/plugins/studiowelcome/qml/welcomepage/HoverOverDesaturate.qml1
16 files changed, 99 insertions, 93 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/commands/createscenecommand.h b/share/qtcreator/qml/qmlpuppet/commands/createscenecommand.h
index 5ebe7638f7..1eb6ba5018 100644
--- a/share/qtcreator/qml/qmlpuppet/commands/createscenecommand.h
+++ b/share/qtcreator/qml/qmlpuppet/commands/createscenecommand.h
@@ -25,9 +25,10 @@
#pragma once
-#include <qmetatype.h>
+#include <QSize>
#include <QUrl>
#include <QVector>
+#include <qmetatype.h>
#include "instancecontainer.h"
#include "reparentcontainer.h"
@@ -55,6 +56,8 @@ public:
const QUrl &resourceUrl,
const QHash<QString, QVariantMap> &edit3dToolStates,
const QString &language,
+ QSize captureImageMinimumSize,
+ QSize captureImageMaximumSize,
qint32 stateInstanceId)
: instances(instanceContainer)
, reparentInstances(reparentContainer)
@@ -68,6 +71,8 @@ public:
, resourceUrl(resourceUrl)
, edit3dToolStates(edit3dToolStates)
, language(language)
+ , captureImageMinimumSize(captureImageMinimumSize)
+ , captureImageMaximumSize(captureImageMaximumSize)
, stateInstanceId{stateInstanceId}
{}
@@ -86,6 +91,8 @@ public:
out << command.edit3dToolStates;
out << command.language;
out << command.stateInstanceId;
+ out << command.captureImageMinimumSize;
+ out << command.captureImageMaximumSize;
return out;
}
@@ -105,6 +112,8 @@ public:
in >> command.edit3dToolStates;
in >> command.language;
in >> command.stateInstanceId;
+ in >> command.captureImageMinimumSize;
+ in >> command.captureImageMaximumSize;
return in;
}
@@ -122,6 +131,8 @@ public:
QUrl resourceUrl;
QHash<QString, QVariantMap> edit3dToolStates;
QString language;
+ QSize captureImageMinimumSize;
+ QSize captureImageMaximumSize;
qint32 stateInstanceId = 0;
};
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5captureimagenodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5captureimagenodeinstanceserver.cpp
index cff435bdd4..dccfb19d57 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5captureimagenodeinstanceserver.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5captureimagenodeinstanceserver.cpp
@@ -38,16 +38,22 @@ namespace QmlDesigner {
namespace {
-QImage renderImage(ServerNodeInstance rootNodeInstance)
+QImage renderImage(ServerNodeInstance rootNodeInstance, QSize minimumSize, QSize maximumSize)
{
rootNodeInstance.updateDirtyNodeRecursive();
QSize previewImageSize = rootNodeInstance.boundingRect().size().toSize();
- if (previewImageSize.isEmpty())
- previewImageSize = {150, 150};
+ if (previewImageSize.isEmpty()) {
+ previewImageSize = minimumSize;
+ } else if (previewImageSize.width() < minimumSize.width()
+ || previewImageSize.height() < minimumSize.height()) {
+ previewImageSize.scale(minimumSize, Qt::KeepAspectRatio);
+ }
- if (previewImageSize.width() > 150 || previewImageSize.height() > 150)
- previewImageSize.scale({150, 150}, Qt::KeepAspectRatio);
+ if (previewImageSize.width() > maximumSize.width()
+ || previewImageSize.height() > maximumSize.height()) {
+ previewImageSize.scale(maximumSize, Qt::KeepAspectRatio);
+ }
QImage previewImage = rootNodeInstance.renderPreviewImage(previewImageSize);
@@ -73,7 +79,7 @@ void Qt5CaptureImageNodeInstanceServer::collectItemChangesAndSendChangeCommands(
DesignerSupport::polishItems(quickWindow());
- QImage image = renderImage(rooNodeInstance);
+ QImage image = renderImage(rooNodeInstance, m_minimumSize, m_maximumSize);
nodeInstanceClient()->capturedData(CapturedDataCommand{std::move(image)});
@@ -82,4 +88,12 @@ void Qt5CaptureImageNodeInstanceServer::collectItemChangesAndSendChangeCommands(
}
}
+void QmlDesigner::Qt5CaptureImageNodeInstanceServer::createScene(const CreateSceneCommand &command)
+{
+ m_minimumSize = command.captureImageMinimumSize;
+ m_maximumSize = command.captureImageMaximumSize;
+
+ Qt5PreviewNodeInstanceServer::createScene(command);
+}
+
} // namespace
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5captureimagenodeinstanceserver.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5captureimagenodeinstanceserver.h
index 7c26e47a87..2642294849 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5captureimagenodeinstanceserver.h
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5captureimagenodeinstanceserver.h
@@ -36,10 +36,14 @@ public:
: Qt5PreviewNodeInstanceServer(nodeInstanceClient)
{}
+ void createScene(const CreateSceneCommand &command) override;
+
protected:
void collectItemChangesAndSendChangeCommands() override;
private:
+ QSize m_minimumSize;
+ QSize m_maximumSize;
};
} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp
index 8b0a2cda8a..390eca6365 100644
--- a/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp
+++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.cpp
@@ -50,31 +50,17 @@
namespace QmlDesigner {
-namespace {
-ProjectExplorer::Target *activeTarget(ProjectExplorer::Project *project)
-{
- if (project)
- return project->activeTarget();
-
- return {};
-}
-} // namespace
-
-class ImageCacheData
+class AssetsLibraryView::ImageCacheData
{
public:
Sqlite::Database database{Utils::PathString{
- Core::ICore::cacheResourcePath("imagecache-v2.db").toString()},
+ Core::ICore::cacheResourcePath("fontimagecache.db").toString()},
Sqlite::JournalMode::Wal,
Sqlite::LockingMode::Normal};
ImageCacheStorage<Sqlite::Database> storage{database};
- ImageCacheConnectionManager connectionManager;
- ImageCacheCollector collector{connectionManager};
ImageCacheFontCollector fontCollector;
- ImageCacheGenerator generator{collector, storage};
ImageCacheGenerator fontGenerator{fontCollector, storage};
TimeStampProvider timeStampProvider;
- AsynchronousImageCache cache{storage, generator, timeStampProvider};
AsynchronousImageCache asynchronousFontImageCache{storage, fontGenerator, timeStampProvider};
SynchronousImageCache synchronousFontImageCache{storage, timeStampProvider, fontCollector};
};
@@ -94,9 +80,8 @@ bool AssetsLibraryView::hasWidget() const
WidgetInfo AssetsLibraryView::widgetInfo()
{
if (m_widget.isNull()) {
- m_widget = new AssetsLibraryWidget{imageCacheData()->cache,
- imageCacheData()->asynchronousFontImageCache,
- imageCacheData()->synchronousFontImageCache};
+ m_widget = new AssetsLibraryWidget{imageCacheData()->asynchronousFontImageCache,
+ imageCacheData()->synchronousFontImageCache};
}
return createWidgetInfo(m_widget.data(),
@@ -133,49 +118,18 @@ void AssetsLibraryView::setResourcePath(const QString &resourcePath)
m_lastResourcePath = resourcePath;
if (m_widget.isNull()) {
- m_widget = new AssetsLibraryWidget{m_imageCacheData->cache,
- m_imageCacheData->asynchronousFontImageCache,
- m_imageCacheData->synchronousFontImageCache};
+ m_widget = new AssetsLibraryWidget{imageCacheData()->asynchronousFontImageCache,
+ imageCacheData()->synchronousFontImageCache};
}
m_widget->setResourcePath(resourcePath);
}
-ImageCacheData *AssetsLibraryView::imageCacheData()
+AssetsLibraryView::ImageCacheData *AssetsLibraryView::imageCacheData()
{
- std::call_once(imageCacheFlag, [this]() {
- m_imageCacheData = std::make_unique<ImageCacheData>();
- auto setTargetInImageCache =
- [imageCacheData = m_imageCacheData.get()](ProjectExplorer::Target *target) {
- if (target == imageCacheData->collector.target())
- return;
-
- if (target)
- imageCacheData->cache.clean();
-
- imageCacheData->collector.setTarget(target);
- };
-
- if (auto project = ProjectExplorer::SessionManager::startupProject(); project) {
- m_imageCacheData->collector.setTarget(project->activeTarget());
- connect(project,
- &ProjectExplorer::Project::activeTargetChanged,
- this,
- setTargetInImageCache);
- }
- connect(ProjectExplorer::SessionManager::instance(),
- &ProjectExplorer::SessionManager::startupProjectChanged,
- this,
- [=](ProjectExplorer::Project *project) {
- setTargetInImageCache(activeTarget(project));
- });
- });
+ std::call_once(imageCacheFlag,
+ [this]() { m_imageCacheData = std::make_unique<ImageCacheData>(); });
return m_imageCacheData.get();
}
-AsynchronousImageCache &AssetsLibraryView::imageCache()
-{
- return imageCacheData()->cache;
-}
-
} // namespace QmlDesigner
diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.h b/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.h
index ae623a183b..743d0bb30e 100644
--- a/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.h
+++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibraryview.h
@@ -34,7 +34,6 @@
namespace QmlDesigner {
class AssetsLibraryWidget;
-class ImageCacheData;
class AsynchronousImageCache;
class AssetsLibraryView : public AbstractView
@@ -54,9 +53,8 @@ public:
void setResourcePath(const QString &resourcePath);
- AsynchronousImageCache &imageCache();
-
private:
+ class ImageCacheData;
ImageCacheData *imageCacheData();
std::once_flag imageCacheFlag;
diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp
index 1b6c4f64fb..162fadcf78 100644
--- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp
+++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.cpp
@@ -110,16 +110,14 @@ bool AssetsLibraryWidget::eventFilter(QObject *obj, QEvent *event)
return QObject::eventFilter(obj, event);
}
-AssetsLibraryWidget::AssetsLibraryWidget(AsynchronousImageCache &imageCache,
- AsynchronousImageCache &asynchronousFontImageCache,
- SynchronousImageCache &synchronousFontImageCache)
+AssetsLibraryWidget::AssetsLibraryWidget(AsynchronousImageCache &asynchronousFontImageCache,
+ SynchronousImageCache &synchronousFontImageCache)
: m_itemIconSize(24, 24)
, m_fontImageCache(synchronousFontImageCache)
, m_assetsIconProvider(new AssetsLibraryIconProvider(synchronousFontImageCache))
, m_fileSystemWatcher(new Utils::FileSystemWatcher(this))
, m_assetsModel(new AssetsLibraryModel(m_fileSystemWatcher, this))
, m_assetsWidget(new QQuickWidget(this))
- , m_imageCache{imageCache}
{
m_assetCompressionTimer.setInterval(200);
m_assetCompressionTimer.setSingleShot(true);
diff --git a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h
index abf91c3a8c..3128b823b3 100644
--- a/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h
+++ b/src/plugins/qmldesigner/components/assetslibrary/assetslibrarywidget.h
@@ -60,8 +60,7 @@ class AssetsLibraryWidget : public QFrame
Q_OBJECT
public:
- AssetsLibraryWidget(AsynchronousImageCache &imageCache,
- AsynchronousImageCache &asynchronousFontImageCache,
+ AssetsLibraryWidget(AsynchronousImageCache &asynchronousFontImageCache,
SynchronousImageCache &synchronousFontImageCache);
~AssetsLibraryWidget();
@@ -110,7 +109,6 @@ private:
std::unique_ptr<PreviewTooltipBackend> m_fontPreviewTooltipBackend;
QShortcut *m_qmlSourceUpdateShortcut = nullptr;
- AsynchronousImageCache &m_imageCache;
QPointer<Model> m_model;
QStringList m_assetsToDrag;
bool m_updateRetry = false;
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
index 6596a10b4a..9267e36793 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
@@ -62,7 +62,7 @@ ProjectExplorer::Target *activeTarget(ProjectExplorer::Project *project)
}
} // namespace
-class ImageCacheData
+class ItemLibraryView::ImageCacheData
{
public:
Sqlite::Database database{Utils::PathString{
@@ -71,7 +71,7 @@ public:
Sqlite::LockingMode::Normal};
ImageCacheStorage<Sqlite::Database> storage{database};
ImageCacheConnectionManager connectionManager;
- ImageCacheCollector collector{connectionManager};
+ ImageCacheCollector collector{connectionManager, QSize{300, 300}, QSize{600, 600}};
ImageCacheFontCollector fontCollector;
ImageCacheGenerator generator{collector, storage};
ImageCacheGenerator fontGenerator{fontCollector, storage};
@@ -182,7 +182,7 @@ void ItemLibraryView::usedImportsChanged(const QList<Import> &usedImports)
m_widget->updateUsedImports(usedImports);
}
-ImageCacheData *ItemLibraryView::imageCacheData()
+ItemLibraryView::ImageCacheData *ItemLibraryView::imageCacheData()
{
std::call_once(imageCacheFlag, [this]() {
m_imageCacheData = std::make_unique<ImageCacheData>();
diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h
index 8d85383d5d..b7b91eaf3f 100644
--- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h
+++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h
@@ -34,7 +34,6 @@
namespace QmlDesigner {
class ItemLibraryWidget;
-class ImageCacheData;
class AsynchronousImageCache;
class ItemLibraryView : public AbstractView
@@ -65,6 +64,7 @@ protected:
void updateImports();
private:
+ class ImageCacheData;
ImageCacheData *imageCacheData();
std::once_flag imageCacheFlag;
diff --git a/src/plugins/qmldesigner/components/previewtooltip/previewimagetooltip.cpp b/src/plugins/qmldesigner/components/previewtooltip/previewimagetooltip.cpp
index 3b70d79fd1..1e418642f2 100644
--- a/src/plugins/qmldesigner/components/previewtooltip/previewimagetooltip.cpp
+++ b/src/plugins/qmldesigner/components/previewtooltip/previewimagetooltip.cpp
@@ -68,7 +68,8 @@ void PreviewImageTooltip::setImage(const QImage &image, bool scale)
if (scale) {
m_ui->imageLabel->setPixmap(pm.scaled(m_ui->imageLabel->width(),
m_ui->imageLabel->height(),
- Qt::KeepAspectRatio));
+ Qt::KeepAspectRatio,
+ Qt::SmoothTransformation));
} else {
m_ui->imageLabel->setPixmap(pm);
}
diff --git a/src/plugins/qmldesigner/designercore/imagecache/imagecachecollector.cpp b/src/plugins/qmldesigner/designercore/imagecache/imagecachecollector.cpp
index f5164a9721..530724315a 100644
--- a/src/plugins/qmldesigner/designercore/imagecache/imagecachecollector.cpp
+++ b/src/plugins/qmldesigner/designercore/imagecache/imagecachecollector.cpp
@@ -61,8 +61,12 @@ QString fileToString(const QString &filename)
} // namespace
ImageCacheCollector::ImageCacheCollector(ImageCacheConnectionManager &connectionManager,
+ QSize captureImageMinimumSize,
+ QSize captureImageMaximumSize,
ImageCacheCollectorNullImageHandling nullImageHandling)
: m_connectionManager{connectionManager}
+ , captureImageMinimumSize{captureImageMinimumSize}
+ , captureImageMaximumSize{captureImageMaximumSize}
, nullImageHandling{nullImageHandling}
{}
@@ -76,6 +80,8 @@ void ImageCacheCollector::start(Utils::SmallStringView name,
{
RewriterView rewriterView{RewriterView::Amend, nullptr};
NodeInstanceView nodeInstanceView{m_connectionManager};
+ nodeInstanceView.setCaptureImageMinimumAndMaximumSize(captureImageMinimumSize,
+ captureImageMaximumSize);
const QString filePath{name};
std::unique_ptr<Model> model{QmlDesigner::Model::create("QtQuick/Item", 2, 1)};
@@ -107,7 +113,10 @@ void ImageCacheCollector::start(Utils::SmallStringView name,
|| !image.isNull()) {
QSize smallImageSize = image.size().scaled(QSize{96, 96}.boundedTo(image.size()),
Qt::KeepAspectRatio);
- QImage smallImage = image.isNull() ? QImage{} : image.scaled(smallImageSize);
+ QImage smallImage = image.isNull() ? QImage{}
+ : image.scaled(smallImageSize,
+ Qt::IgnoreAspectRatio,
+ Qt::SmoothTransformation);
captureCallback(image, smallImage);
}
};
diff --git a/src/plugins/qmldesigner/designercore/imagecache/imagecachecollector.h b/src/plugins/qmldesigner/designercore/imagecache/imagecachecollector.h
index 2e2803114a..465e2d4d3f 100644
--- a/src/plugins/qmldesigner/designercore/imagecache/imagecachecollector.h
+++ b/src/plugins/qmldesigner/designercore/imagecache/imagecachecollector.h
@@ -51,6 +51,8 @@ class ImageCacheCollector final : public ImageCacheCollectorInterface
{
public:
ImageCacheCollector(ImageCacheConnectionManager &connectionManager,
+ QSize captureImageMinimumSize,
+ QSize captureImageMaximumSize,
ImageCacheCollectorNullImageHandling nullImageHandling = {});
~ImageCacheCollector();
@@ -75,6 +77,8 @@ public:
private:
ImageCacheConnectionManager &m_connectionManager;
QPointer<ProjectExplorer::Target> m_target;
+ QSize captureImageMinimumSize;
+ QSize captureImageMaximumSize;
ImageCacheCollectorNullImageHandling nullImageHandling{};
};
diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
index 3281026f52..62efb225d4 100644
--- a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
+++ b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
@@ -161,6 +161,13 @@ public:
m_crashCallback = std::move(crashCallback);
}
+ void setCaptureImageMinimumAndMaximumSize(QSize captureImageMinimumSize,
+ QSize captureImageMaximumSize)
+ {
+ m_captureImageMinimumSize = captureImageMinimumSize;
+ m_captureImageMaximumSize = captureImageMaximumSize;
+ }
+
void startNanotrace();
void endNanotrace();
@@ -293,6 +300,8 @@ private:
QHash<QString, QStringList> m_qsbPathToFilterMap;
int m_remainingQsbTargets = 0;
QTimer m_rotBlockTimer;
+ QSize m_captureImageMinimumSize{150, 150};
+ QSize m_captureImageMaximumSize{1000, 1000};
};
} // namespace ProxyNodeInstanceView
diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
index 018ef55659..8dbe236ca0 100644
--- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
@@ -1138,24 +1138,27 @@ CreateSceneCommand NodeInstanceView::createCreateSceneCommand()
if (stateNode.isValid() && stateNode.metaInfo().isSubclassOf("QtQuick.State", 1, 0))
stateInstanceId = stateNode.internalId();
- return CreateSceneCommand(instanceContainerList,
- reparentContainerList,
- idContainerList,
- valueContainerList,
- bindingContainerList,
- auxiliaryContainerVector,
- importVector,
- mockupTypesVector,
- model()->fileUrl(),
+ return CreateSceneCommand(
+ instanceContainerList,
+ reparentContainerList,
+ idContainerList,
+ valueContainerList,
+ bindingContainerList,
+ auxiliaryContainerVector,
+ importVector,
+ mockupTypesVector,
+ model()->fileUrl(),
#ifndef QMLDESIGNER_TEST
- QUrl::fromLocalFile(QmlDesigner::DocumentManager::currentResourcePath()
- .toFileInfo().absoluteFilePath()),
+ QUrl::fromLocalFile(
+ QmlDesigner::DocumentManager::currentResourcePath().toFileInfo().absoluteFilePath()),
#else
- QUrl::fromLocalFile(QFileInfo(model()->fileUrl().toLocalFile()).absolutePath()),
+ QUrl::fromLocalFile(QFileInfo(model()->fileUrl().toLocalFile()).absolutePath()),
#endif
- m_edit3DToolStates[model()->fileUrl()],
- lastUsedLanguage,
- stateInstanceId);
+ m_edit3DToolStates[model()->fileUrl()],
+ lastUsedLanguage,
+ m_captureImageMinimumSize,
+ m_captureImageMaximumSize,
+ stateInstanceId);
}
ClearSceneCommand NodeInstanceView::createClearSceneCommand() const
diff --git a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
index e9de2cb251..538c3939f2 100644
--- a/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
+++ b/src/plugins/qmldesigner/qmldesignerprojectmanager.cpp
@@ -108,6 +108,8 @@ public:
{}
ImageCacheConnectionManager connectionManager;
ImageCacheCollector collector{connectionManager,
+ QSize{300, 300},
+ QSize{1000, 1000},
ImageCacheCollectorNullImageHandling::DontCaptureNullImage};
TimeStampProvider timeStampProvider;
AsynchronousImageFactory factory;
diff --git a/src/plugins/studiowelcome/qml/welcomepage/HoverOverDesaturate.qml b/src/plugins/studiowelcome/qml/welcomepage/HoverOverDesaturate.qml
index 18e645c324..189694d330 100644
--- a/src/plugins/studiowelcome/qml/welcomepage/HoverOverDesaturate.qml
+++ b/src/plugins/studiowelcome/qml/welcomepage/HoverOverDesaturate.qml
@@ -116,6 +116,7 @@ Item {
id: image
width: 240
height: 125
+ mipmap: true
fillMode: Image.PreserveAspectFit
}
}