forked from qt-creator/qt-creator
QmlDesigner: Use QQuickWidget again
This is the revert of the reverts ;) Change-Id: I750dfffa6d509e058b97b605be5f2cc0a42c28f3 Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
This commit is contained in:
@@ -66,7 +66,7 @@ ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) :
|
|||||||
m_itemIconSize(24, 24),
|
m_itemIconSize(24, 24),
|
||||||
m_resIconSize(24, 24),
|
m_resIconSize(24, 24),
|
||||||
m_iconProvider(m_resIconSize),
|
m_iconProvider(m_resIconSize),
|
||||||
m_itemsView(new QQuickView()),
|
m_itemViewQuickWidget(new QQuickWidget),
|
||||||
m_resourcesView(new ItemLibraryTreeView(this)),
|
m_resourcesView(new ItemLibraryTreeView(this)),
|
||||||
m_filterFlag(QtBasic)
|
m_filterFlag(QtBasic)
|
||||||
{
|
{
|
||||||
@@ -75,16 +75,16 @@ ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) :
|
|||||||
setWindowTitle(tr("Library", "Title of library view"));
|
setWindowTitle(tr("Library", "Title of library view"));
|
||||||
|
|
||||||
/* create Items view and its model */
|
/* create Items view and its model */
|
||||||
m_itemsView->setResizeMode(QQuickView::SizeRootObjectToView);
|
m_itemViewQuickWidget->setResizeMode(QQuickWidget::SizeRootObjectToView);
|
||||||
m_itemLibraryModel = new ItemLibraryModel(this);
|
m_itemLibraryModel = new ItemLibraryModel(this);
|
||||||
|
|
||||||
QQmlContext *rootContext = m_itemsView->rootContext();
|
QQmlContext *rootContext = m_itemViewQuickWidget->rootContext();
|
||||||
rootContext->setContextProperty(QStringLiteral("itemLibraryModel"), m_itemLibraryModel.data());
|
rootContext->setContextProperty(QStringLiteral("itemLibraryModel"), m_itemLibraryModel.data());
|
||||||
rootContext->setContextProperty(QStringLiteral("itemLibraryIconWidth"), m_itemIconSize.width());
|
rootContext->setContextProperty(QStringLiteral("itemLibraryIconWidth"), m_itemIconSize.width());
|
||||||
rootContext->setContextProperty(QStringLiteral("itemLibraryIconHeight"), m_itemIconSize.height());
|
rootContext->setContextProperty(QStringLiteral("itemLibraryIconHeight"), m_itemIconSize.height());
|
||||||
rootContext->setContextProperty(QStringLiteral("rootView"), this);
|
rootContext->setContextProperty(QStringLiteral("rootView"), this);
|
||||||
|
|
||||||
m_itemsView->rootContext()->setContextProperty(QStringLiteral("highlightColor"), Utils::StyleHelper::notTooBrightHighlightColor());
|
m_itemViewQuickWidget->rootContext()->setContextProperty(QStringLiteral("highlightColor"), Utils::StyleHelper::notTooBrightHighlightColor());
|
||||||
|
|
||||||
/* create Resources view and its model */
|
/* create Resources view and its model */
|
||||||
m_resourcesFileSystemModel = new QFileSystemModel(this);
|
m_resourcesFileSystemModel = new QFileSystemModel(this);
|
||||||
@@ -93,7 +93,7 @@ ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) :
|
|||||||
m_resourcesView->setIconSize(m_resIconSize);
|
m_resourcesView->setIconSize(m_resIconSize);
|
||||||
|
|
||||||
/* create image provider for loading item icons */
|
/* create image provider for loading item icons */
|
||||||
m_itemsView->engine()->addImageProvider(QStringLiteral("qmldesigner_itemlibrary"), new Internal::ItemLibraryImageProvider);
|
m_itemViewQuickWidget->engine()->addImageProvider(QStringLiteral("qmldesigner_itemlibrary"), new Internal::ItemLibraryImageProvider);
|
||||||
|
|
||||||
/* other widgets */
|
/* other widgets */
|
||||||
QTabBar *tabBar = new QTabBar(this);
|
QTabBar *tabBar = new QTabBar(this);
|
||||||
@@ -122,9 +122,9 @@ ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) :
|
|||||||
lineEditLayout->addItem(new QSpacerItem(5, 5, QSizePolicy::Fixed, QSizePolicy::Fixed), 1, 2);
|
lineEditLayout->addItem(new QSpacerItem(5, 5, QSizePolicy::Fixed, QSizePolicy::Fixed), 1, 2);
|
||||||
connect(m_filterLineEdit.data(), SIGNAL(filterChanged(QString)), this, SLOT(setSearchFilter(QString)));
|
connect(m_filterLineEdit.data(), SIGNAL(filterChanged(QString)), this, SLOT(setSearchFilter(QString)));
|
||||||
|
|
||||||
QWidget *container = createWindowContainer(m_itemsView.data());
|
|
||||||
m_stackedWidget = new QStackedWidget(this);
|
m_stackedWidget = new QStackedWidget(this);
|
||||||
m_stackedWidget->addWidget(container);
|
m_stackedWidget->addWidget(m_itemViewQuickWidget.data());
|
||||||
m_stackedWidget->addWidget(m_resourcesView.data());
|
m_stackedWidget->addWidget(m_resourcesView.data());
|
||||||
|
|
||||||
QWidget *spacer = new QWidget(this);
|
QWidget *spacer = new QWidget(this);
|
||||||
@@ -228,7 +228,7 @@ void ItemLibraryWidget::setSearchFilter(const QString &searchFilter)
|
|||||||
{
|
{
|
||||||
if (m_stackedWidget->currentIndex() == 0) {
|
if (m_stackedWidget->currentIndex() == 0) {
|
||||||
m_itemLibraryModel->setSearchText(searchFilter);
|
m_itemLibraryModel->setSearchText(searchFilter);
|
||||||
m_itemsView->update();
|
m_itemViewQuickWidget->update();
|
||||||
} else {
|
} else {
|
||||||
QStringList nameFilterList;
|
QStringList nameFilterList;
|
||||||
if (searchFilter.contains('.')) {
|
if (searchFilter.contains('.')) {
|
||||||
@@ -299,8 +299,8 @@ void ItemLibraryWidget::reloadQmlSource()
|
|||||||
{
|
{
|
||||||
QString itemLibraryQmlFilePath = qmlSourcesPath() + QStringLiteral("/ItemsView.qml");
|
QString itemLibraryQmlFilePath = qmlSourcesPath() + QStringLiteral("/ItemsView.qml");
|
||||||
QTC_ASSERT(QFileInfo::exists(itemLibraryQmlFilePath), return);
|
QTC_ASSERT(QFileInfo::exists(itemLibraryQmlFilePath), return);
|
||||||
m_itemsView->engine()->clearComponentCache();
|
m_itemViewQuickWidget->engine()->clearComponentCache();
|
||||||
m_itemsView->setSource(QUrl::fromLocalFile(itemLibraryQmlFilePath));
|
m_itemViewQuickWidget->setSource(QUrl::fromLocalFile(itemLibraryQmlFilePath));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ItemLibraryWidget::setImportFilter(FilterChangeFlag flag)
|
void ItemLibraryWidget::setImportFilter(FilterChangeFlag flag)
|
||||||
@@ -373,10 +373,11 @@ void ItemLibraryWidget::setResourcePath(const QString &resourcePath)
|
|||||||
updateSearch();
|
updateSearch();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ungrabMouseOnQMLWorldWorkAround(QQuickView *quickView)
|
static void ungrabMouseOnQMLWorldWorkAround(QQuickWidget *quickWidget)
|
||||||
{
|
{
|
||||||
if (quickView->mouseGrabberItem())
|
const QQuickWidgetPrivate *widgetPrivate = QQuickWidgetPrivate::get(quickWidget);
|
||||||
quickView->mouseGrabberItem()->ungrabMouse();
|
if (widgetPrivate && widgetPrivate->offscreenWindow && widgetPrivate->offscreenWindow->mouseGrabberItem())
|
||||||
|
widgetPrivate->offscreenWindow->mouseGrabberItem()->ungrabMouse();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ItemLibraryWidget::startDragAndDrop(QVariant itemLibraryId)
|
void ItemLibraryWidget::startDragAndDrop(QVariant itemLibraryId)
|
||||||
@@ -391,7 +392,7 @@ void ItemLibraryWidget::startDragAndDrop(QVariant itemLibraryId)
|
|||||||
|
|
||||||
drag->exec();
|
drag->exec();
|
||||||
|
|
||||||
ungrabMouseOnQMLWorldWorkAround(m_itemsView.data());
|
ungrabMouseOnQMLWorldWorkAround(m_itemViewQuickWidget.data());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ItemLibraryWidget::removeImport(const QString &name)
|
void ItemLibraryWidget::removeImport(const QString &name)
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
#include <QFrame>
|
#include <QFrame>
|
||||||
#include <QToolButton>
|
#include <QToolButton>
|
||||||
#include <QFileIconProvider>
|
#include <QFileIconProvider>
|
||||||
#include <QQuickView>
|
#include <QQuickWidget>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QFileSystemModel;
|
class QFileSystemModel;
|
||||||
@@ -132,7 +132,7 @@ private:
|
|||||||
QPointer<QStackedWidget> m_stackedWidget;
|
QPointer<QStackedWidget> m_stackedWidget;
|
||||||
|
|
||||||
QPointer<Utils::FancyLineEdit> m_filterLineEdit;
|
QPointer<Utils::FancyLineEdit> m_filterLineEdit;
|
||||||
QScopedPointer<QQuickView> m_itemsView;
|
QScopedPointer<QQuickWidget> m_itemViewQuickWidget;
|
||||||
QScopedPointer<ItemLibraryTreeView> m_resourcesView;
|
QScopedPointer<ItemLibraryTreeView> m_resourcesView;
|
||||||
QShortcut *m_qmlSourceUpdateShortcut;
|
QShortcut *m_qmlSourceUpdateShortcut;
|
||||||
|
|
||||||
|
|||||||
@@ -34,70 +34,12 @@
|
|||||||
#include "gradientmodel.h"
|
#include "gradientmodel.h"
|
||||||
#include "qmlanchorbindingproxy.h"
|
#include "qmlanchorbindingproxy.h"
|
||||||
|
|
||||||
#include <QVBoxLayout>
|
|
||||||
|
|
||||||
namespace QmlDesigner {
|
namespace QmlDesigner {
|
||||||
|
|
||||||
void Quick2PropertyEditorView::execute()
|
|
||||||
{
|
|
||||||
m_view.setSource(m_source);
|
|
||||||
if (!m_source.isEmpty())
|
|
||||||
connect(&m_view, SIGNAL(statusChanged(QQuickView::Status)), this, SLOT(continueExecute()));
|
|
||||||
}
|
|
||||||
|
|
||||||
Quick2PropertyEditorView::Quick2PropertyEditorView(QWidget *parent) :
|
Quick2PropertyEditorView::Quick2PropertyEditorView(QWidget *parent) :
|
||||||
QWidget(parent)
|
QQuickWidget(parent)
|
||||||
{
|
{
|
||||||
m_containerWidget = createWindowContainer(&m_view);
|
setResizeMode(QQuickWidget::SizeRootObjectToView);
|
||||||
|
|
||||||
QVBoxLayout *layout = new QVBoxLayout(this);
|
|
||||||
setLayout(layout);
|
|
||||||
layout->addWidget(m_containerWidget);
|
|
||||||
layout->setMargin(0);
|
|
||||||
m_view.setResizeMode(QQuickView::SizeRootObjectToView);
|
|
||||||
}
|
|
||||||
|
|
||||||
QUrl Quick2PropertyEditorView::source() const
|
|
||||||
{
|
|
||||||
return m_source;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Quick2PropertyEditorView::setSource(const QUrl& url)
|
|
||||||
{
|
|
||||||
m_source = url;
|
|
||||||
execute();
|
|
||||||
}
|
|
||||||
|
|
||||||
QQmlEngine* Quick2PropertyEditorView::engine()
|
|
||||||
{
|
|
||||||
return m_view.engine();
|
|
||||||
}
|
|
||||||
|
|
||||||
QQmlContext* Quick2PropertyEditorView::rootContext()
|
|
||||||
{
|
|
||||||
return engine()->rootContext();
|
|
||||||
}
|
|
||||||
|
|
||||||
Quick2PropertyEditorView::Status Quick2PropertyEditorView::status() const
|
|
||||||
{
|
|
||||||
return Quick2PropertyEditorView::Status(m_view.status());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Quick2PropertyEditorView::continueExecute()
|
|
||||||
{
|
|
||||||
disconnect(&m_view, SIGNAL(statusChanged(QQuickView::Status)), this, SLOT(continueExecute()));
|
|
||||||
|
|
||||||
if (!m_view.errors().isEmpty()) {
|
|
||||||
QList<QQmlError> errorList = m_view.errors();
|
|
||||||
foreach (const QQmlError &error, errorList) {
|
|
||||||
qWarning() << error;
|
|
||||||
}
|
|
||||||
emit statusChanged(status());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
emit statusChanged(status());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Quick2PropertyEditorView::registerQmlTypes()
|
void Quick2PropertyEditorView::registerQmlTypes()
|
||||||
|
|||||||
@@ -30,54 +30,19 @@
|
|||||||
#ifndef QUICK2PROERTYEDITORVIEW_H
|
#ifndef QUICK2PROERTYEDITORVIEW_H
|
||||||
#define QUICK2PROERTYEDITORVIEW_H
|
#define QUICK2PROERTYEDITORVIEW_H
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QQuickWidget>
|
||||||
#include <QUrl>
|
|
||||||
#include <QQuickView>
|
|
||||||
#include <QQmlEngine>
|
|
||||||
#include <QQmlContext>
|
|
||||||
#include <QPointer>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
|
||||||
class QQmlError;
|
|
||||||
class QQmlComponent;
|
|
||||||
QT_END_NAMESPACE
|
|
||||||
|
|
||||||
namespace QmlDesigner {
|
namespace QmlDesigner {
|
||||||
|
|
||||||
class Quick2PropertyEditorView : public QWidget
|
class Quick2PropertyEditorView : public QQuickWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
Q_PROPERTY(QUrl source READ source WRITE setSource DESIGNABLE true)
|
|
||||||
public:
|
public:
|
||||||
explicit Quick2PropertyEditorView(QWidget *parent = 0);
|
explicit Quick2PropertyEditorView(QWidget *parent = 0);
|
||||||
|
|
||||||
QUrl source() const;
|
|
||||||
void setSource(const QUrl&);
|
|
||||||
|
|
||||||
QQmlEngine* engine();
|
|
||||||
QQmlContext* rootContext();
|
|
||||||
|
|
||||||
enum Status { Null, Ready, Loading, Error };
|
|
||||||
Status status() const;
|
|
||||||
|
|
||||||
static void registerQmlTypes();
|
static void registerQmlTypes();
|
||||||
|
|
||||||
signals:
|
|
||||||
void statusChanged(Quick2PropertyEditorView::Status);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
void execute();
|
|
||||||
|
|
||||||
private Q_SLOTS:
|
|
||||||
void continueExecute();
|
|
||||||
|
|
||||||
private:
|
|
||||||
QWidget *m_containerWidget;
|
|
||||||
QUrl m_source;
|
|
||||||
QQuickView m_view;
|
|
||||||
QPointer<QQmlComponent> m_component;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} //QmlDesigner
|
} //QmlDesigner
|
||||||
|
|||||||
@@ -45,7 +45,6 @@
|
|||||||
#include <QBoxLayout>
|
#include <QBoxLayout>
|
||||||
#include <QKeySequence>
|
#include <QKeySequence>
|
||||||
|
|
||||||
#include <QQuickView>
|
|
||||||
#include <QQmlContext>
|
#include <QQmlContext>
|
||||||
#include <QQmlEngine>
|
#include <QQmlEngine>
|
||||||
#include <QQuickItem>
|
#include <QQuickItem>
|
||||||
@@ -58,15 +57,15 @@ namespace QmlDesigner {
|
|||||||
|
|
||||||
int StatesEditorWidget::currentStateInternalId() const
|
int StatesEditorWidget::currentStateInternalId() const
|
||||||
{
|
{
|
||||||
Q_ASSERT(m_quickView->rootObject());
|
Q_ASSERT(rootObject());
|
||||||
Q_ASSERT(m_quickView->rootObject()->property("currentStateInternalId").isValid());
|
Q_ASSERT(rootObject()->property("currentStateInternalId").isValid());
|
||||||
|
|
||||||
return m_quickView->rootObject()->property("currentStateInternalId").toInt();
|
return rootObject()->property("currentStateInternalId").toInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatesEditorWidget::setCurrentStateInternalId(int internalId)
|
void StatesEditorWidget::setCurrentStateInternalId(int internalId)
|
||||||
{
|
{
|
||||||
m_quickView->rootObject()->setProperty("currentStateInternalId", internalId);
|
rootObject()->setProperty("currentStateInternalId", internalId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatesEditorWidget::setNodeInstanceView(NodeInstanceView *nodeInstanceView)
|
void StatesEditorWidget::setNodeInstanceView(NodeInstanceView *nodeInstanceView)
|
||||||
@@ -76,12 +75,11 @@ void StatesEditorWidget::setNodeInstanceView(NodeInstanceView *nodeInstanceView)
|
|||||||
|
|
||||||
void StatesEditorWidget::showAddNewStatesButton(bool showAddNewStatesButton)
|
void StatesEditorWidget::showAddNewStatesButton(bool showAddNewStatesButton)
|
||||||
{
|
{
|
||||||
m_quickView->rootContext()->setContextProperty("canAddNewStates", showAddNewStatesButton);
|
rootContext()->setContextProperty("canAddNewStates", showAddNewStatesButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
StatesEditorWidget::StatesEditorWidget(StatesEditorView *statesEditorView, StatesEditorModel *statesEditorModel)
|
StatesEditorWidget::StatesEditorWidget(StatesEditorView *statesEditorView, StatesEditorModel *statesEditorModel)
|
||||||
: QWidget(),
|
: QQuickWidget(),
|
||||||
m_quickView(new QQuickView()),
|
|
||||||
m_statesEditorView(statesEditorView),
|
m_statesEditorView(statesEditorView),
|
||||||
m_imageProvider(0),
|
m_imageProvider(0),
|
||||||
m_qmlSourceUpdateShortcut(0)
|
m_qmlSourceUpdateShortcut(0)
|
||||||
@@ -89,25 +87,20 @@ StatesEditorWidget::StatesEditorWidget(StatesEditorView *statesEditorView, State
|
|||||||
m_imageProvider = new Internal::StatesEditorImageProvider;
|
m_imageProvider = new Internal::StatesEditorImageProvider;
|
||||||
m_imageProvider->setNodeInstanceView(statesEditorView->nodeInstanceView());
|
m_imageProvider->setNodeInstanceView(statesEditorView->nodeInstanceView());
|
||||||
|
|
||||||
m_quickView->engine()->addImageProvider(QStringLiteral("qmldesigner_stateseditor"), m_imageProvider);
|
engine()->addImageProvider(QStringLiteral("qmldesigner_stateseditor"), m_imageProvider);
|
||||||
m_quickView->engine()->addImportPath(qmlSourcesPath());
|
engine()->addImportPath(qmlSourcesPath());
|
||||||
|
|
||||||
m_qmlSourceUpdateShortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_F4), this);
|
m_qmlSourceUpdateShortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_F4), this);
|
||||||
connect(m_qmlSourceUpdateShortcut, SIGNAL(activated()), this, SLOT(reloadQmlSource()));
|
connect(m_qmlSourceUpdateShortcut, SIGNAL(activated()), this, SLOT(reloadQmlSource()));
|
||||||
|
|
||||||
QVBoxLayout *layout = new QVBoxLayout(this);
|
setResizeMode(QQuickWidget::SizeRootObjectToView);
|
||||||
layout->setMargin(0);
|
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||||
layout->setSpacing(0);
|
|
||||||
QWidget *container = createWindowContainer(m_quickView.data());
|
|
||||||
layout->addWidget(container);
|
|
||||||
m_quickView->setResizeMode(QQuickView::SizeRootObjectToView);
|
|
||||||
container->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
|
||||||
|
|
||||||
m_quickView->rootContext()->setContextProperty(QStringLiteral("statesEditorModel"), statesEditorModel);
|
rootContext()->setContextProperty(QStringLiteral("statesEditorModel"), statesEditorModel);
|
||||||
m_quickView->rootContext()->setContextProperty(QStringLiteral("highlightColor"), Utils::StyleHelper::notTooBrightHighlightColor());
|
rootContext()->setContextProperty(QStringLiteral("highlightColor"), Utils::StyleHelper::notTooBrightHighlightColor());
|
||||||
|
|
||||||
|
|
||||||
m_quickView->rootContext()->setContextProperty("canAddNewStates", true);
|
rootContext()->setContextProperty("canAddNewStates", true);
|
||||||
|
|
||||||
setWindowTitle(tr("States", "Title of Editor widget"));
|
setWindowTitle(tr("States", "Title of Editor widget"));
|
||||||
|
|
||||||
@@ -127,21 +120,21 @@ void StatesEditorWidget::reloadQmlSource()
|
|||||||
{
|
{
|
||||||
QString statesListQmlFilePath = qmlSourcesPath() + QStringLiteral("/StatesList.qml");
|
QString statesListQmlFilePath = qmlSourcesPath() + QStringLiteral("/StatesList.qml");
|
||||||
QTC_ASSERT(QFileInfo::exists(statesListQmlFilePath), return);
|
QTC_ASSERT(QFileInfo::exists(statesListQmlFilePath), return);
|
||||||
m_quickView->engine()->clearComponentCache();
|
engine()->clearComponentCache();
|
||||||
m_quickView->setSource(QUrl::fromLocalFile(statesListQmlFilePath));
|
setSource(QUrl::fromLocalFile(statesListQmlFilePath));
|
||||||
|
|
||||||
QTC_ASSERT(m_quickView->rootObject(), return);
|
QTC_ASSERT(rootObject(), return);
|
||||||
connect(m_quickView->rootObject(), SIGNAL(currentStateInternalIdChanged()), m_statesEditorView.data(), SLOT(synchonizeCurrentStateFromWidget()));
|
connect(rootObject(), SIGNAL(currentStateInternalIdChanged()), m_statesEditorView.data(), SLOT(synchonizeCurrentStateFromWidget()));
|
||||||
connect(m_quickView->rootObject(), SIGNAL(createNewState()), m_statesEditorView.data(), SLOT(createNewState()));
|
connect(rootObject(), SIGNAL(createNewState()), m_statesEditorView.data(), SLOT(createNewState()));
|
||||||
connect(m_quickView->rootObject(), SIGNAL(deleteState(int)), m_statesEditorView.data(), SLOT(removeState(int)));
|
connect(rootObject(), SIGNAL(deleteState(int)), m_statesEditorView.data(), SLOT(removeState(int)));
|
||||||
m_statesEditorView.data()->synchonizeCurrentStateFromWidget();
|
m_statesEditorView.data()->synchonizeCurrentStateFromWidget();
|
||||||
setFixedHeight(m_quickView->initialSize().height());
|
setFixedHeight(initialSize().height());
|
||||||
|
|
||||||
connect(m_quickView->rootObject(), SIGNAL(expandedChanged()), this, SLOT(changeHeight()));
|
connect(rootObject(), SIGNAL(expandedChanged()), this, SLOT(changeHeight()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void StatesEditorWidget::changeHeight()
|
void StatesEditorWidget::changeHeight()
|
||||||
{
|
{
|
||||||
setFixedHeight(m_quickView->rootObject()->height());
|
setFixedHeight(rootObject()->height());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,11 +30,10 @@
|
|||||||
#ifndef STATESEDITORWIDGET_H
|
#ifndef STATESEDITORWIDGET_H
|
||||||
#define STATESEDITORWIDGET_H
|
#define STATESEDITORWIDGET_H
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QQuickWidget>
|
||||||
#include <QPointer>
|
#include <QPointer>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
class QQuickView;
|
|
||||||
class QShortcut;
|
class QShortcut;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
@@ -48,7 +47,7 @@ class NodeInstanceView;
|
|||||||
|
|
||||||
namespace Internal { class StatesEditorImageProvider; }
|
namespace Internal { class StatesEditorImageProvider; }
|
||||||
|
|
||||||
class StatesEditorWidget : public QWidget
|
class StatesEditorWidget : public QQuickWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
@@ -69,7 +68,6 @@ private slots:
|
|||||||
void changeHeight();
|
void changeHeight();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPointer<QQuickView> m_quickView;
|
|
||||||
QPointer<StatesEditorView> m_statesEditorView;
|
QPointer<StatesEditorView> m_statesEditorView;
|
||||||
Internal::StatesEditorImageProvider *m_imageProvider;
|
Internal::StatesEditorImageProvider *m_imageProvider;
|
||||||
QShortcut *m_qmlSourceUpdateShortcut;
|
QShortcut *m_qmlSourceUpdateShortcut;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
QT += quickwidgets
|
||||||
QT += widgets-private quick-private quickwidgets-private core-private gui-private #mouse ungrabbing workaround on quickitems
|
QT += widgets-private quick-private quickwidgets-private core-private gui-private #mouse ungrabbing workaround on quickitems
|
||||||
CONFIG += exceptions
|
CONFIG += exceptions
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user