forked from qt-creator/qt-creator
QmlDesigner: Preview size is now changeable
You can now change the preview size with
rootModelNode.setAuxiliaryData("previewSize@Internal", size);
If size is null it will use the bounding box size.
Change-Id: Icbe747ccc5a2e26e79783825d2ed94ecc640012b
Reviewed-by: Michael Winkelmann <michael.winkelmann@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
+15
-3
@@ -25,10 +25,12 @@
|
||||
|
||||
#include "qt5previewnodeinstanceserver.h"
|
||||
|
||||
#include "nodeinstanceclientinterface.h"
|
||||
#include "statepreviewimagechangedcommand.h"
|
||||
#include "changepreviewimagesizecommand.h"
|
||||
#include "createscenecommand.h"
|
||||
#include "nodeinstanceclientinterface.h"
|
||||
#include "removesharedmemorycommand.h"
|
||||
#include "statepreviewimagechangedcommand.h"
|
||||
|
||||
#include <QQuickView>
|
||||
#include <QQuickItem>
|
||||
#include <designersupportdelegate.h>
|
||||
@@ -100,7 +102,9 @@ QImage Qt5PreviewNodeInstanceServer::renderPreviewImage()
|
||||
QRectF boundingRect = rootNodeInstance().boundingRect();
|
||||
|
||||
QSize previewImageSize = boundingRect.size().toSize();
|
||||
previewImageSize.scale(QSize(160, 160), Qt::KeepAspectRatio);
|
||||
|
||||
if (!m_previewSize.isNull())
|
||||
previewImageSize.scale(m_previewSize, Qt::KeepAspectRatio);
|
||||
|
||||
QImage previewImage = rootNodeInstance().renderPreviewImage(previewImageSize);
|
||||
|
||||
@@ -113,4 +117,12 @@ void QmlDesigner::Qt5PreviewNodeInstanceServer::removeSharedMemory(const QmlDesi
|
||||
ImageContainer::removeSharedMemorys(command.keyNumbers());
|
||||
}
|
||||
|
||||
void Qt5PreviewNodeInstanceServer::changePreviewImageSize(
|
||||
const ChangePreviewImageSizeCommand &command)
|
||||
{
|
||||
m_previewSize = command.size;
|
||||
|
||||
collectItemChangesAndSendChangeCommands();
|
||||
}
|
||||
|
||||
} // namespace QmlDesigner
|
||||
|
||||
Reference in New Issue
Block a user