diff --git a/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp b/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp index 4aa9efbf5a9..1d28219b1a9 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.cpp @@ -34,73 +34,12 @@ #include "gradientmodel.h" #include "qmlanchorbindingproxy.h" -#include - namespace QmlDesigner { -void Quick2PropertyEditorView::execute() -{ - m_view.setSource(m_source); - - if (!m_source.isEmpty()) { - m_view.setSource(m_source); - connect(&m_view, SIGNAL(statusChanged(QQuickView::Status)), this, SLOT(continueExecute())); - } -} - Quick2PropertyEditorView::Quick2PropertyEditorView(QWidget *parent) : - QWidget(parent) + QQuickWidget(parent) { - m_containerWidget = createWindowContainer(&m_view); - - 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 errorList = m_view.errors(); - foreach (const QQmlError &error, errorList) { - qWarning() << error; - } - emit statusChanged(status()); - return; - } - - emit statusChanged(status()); + setResizeMode(QQuickWidget::SizeRootObjectToView); } void Quick2PropertyEditorView::registerQmlTypes() diff --git a/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.h b/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.h index da99157725c..0bc541bbf4a 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.h +++ b/src/plugins/qmldesigner/components/propertyeditor/quick2propertyeditorview.h @@ -30,54 +30,19 @@ #ifndef QUICK2PROERTYEDITORVIEW_H #define QUICK2PROERTYEDITORVIEW_H -#include -#include -#include -#include -#include -#include +#include -QT_BEGIN_NAMESPACE -class QQmlError; -class QQmlComponent; -QT_END_NAMESPACE namespace QmlDesigner { -class Quick2PropertyEditorView : public QWidget +class Quick2PropertyEditorView : public QQuickWidget { Q_OBJECT - Q_PROPERTY(QUrl source READ source WRITE setSource DESIGNABLE true) public: 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(); - -signals: - void statusChanged(Quick2PropertyEditorView::Status); - -protected: - void execute(); - -private Q_SLOTS: - void continueExecute(); - -private: - QWidget *m_containerWidget; - QUrl m_source; - QQuickView m_view; - QPointer m_component; - }; } //QmlDesigner