diff options
author | The Qt Project <gerrit-noreply@qt-project.org> | 2020-04-24 11:34:38 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2020-04-24 11:34:38 +0000 |
commit | dd0a195f0c8f1b40611719c8e2c3fc4cc41860db (patch) | |
tree | fcbdb9d6441e407f15cd8dba60e4281fdf9a2aab /src/plugins/qmldesigner | |
parent | 88e07d8a7a5bb38207060652e013d50f02629e5c (diff) | |
parent | 93ef6afff9945f6b7d08e49a9b4cb5b661700424 (diff) |
Merge "Merge remote-tracking branch 'origin/4.12' into qds-1.50" into qds-1.50
Diffstat (limited to 'src/plugins/qmldesigner')
9 files changed, 49 insertions, 34 deletions
diff --git a/src/plugins/qmldesigner/CMakeLists.txt b/src/plugins/qmldesigner/CMakeLists.txt index f6ac481714..1650f83f08 100644 --- a/src/plugins/qmldesigner/CMakeLists.txt +++ b/src/plugins/qmldesigner/CMakeLists.txt @@ -144,6 +144,7 @@ extend_qtc_plugin(QmlDesigner extend_qtc_plugin(QmlDesigner SOURCES_PREFIX ../../../share/qtcreator/qml/qmlpuppet/interfaces + PUBLIC_INCLUDES ../../../share/qtcreator/qml/qmlpuppet/interfaces SOURCES nodeinstanceserverinterface.cpp commondefines.h @@ -202,6 +203,7 @@ extend_qtc_plugin(QmlDesigner extend_qtc_plugin(QmlDesigner SOURCES_PREFIX components/formeditor + PUBLIC_INCLUDES components/formeditor SOURCES abstractcustomtool.cpp abstractcustomtool.h abstractformeditortool.cpp abstractformeditortool.h @@ -258,6 +260,7 @@ extend_qtc_plugin(QmlDesigner extend_qtc_plugin(QmlDesigner SOURCES_PREFIX components/integration + PUBLIC_INCLUDES components/integration SOURCES componentaction.cpp componentaction.h componentview.cpp componentview.h @@ -471,6 +474,7 @@ extend_qtc_plugin(QmlDesigner extend_qtc_plugin(QmlDesigner SOURCES_PREFIX designercore + PUBLIC_INCLUDES designercore SOURCES metainfo/itemlibraryinfo.cpp metainfo/metainfo.cpp diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp index f708ba0c61..020369708a 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp @@ -238,11 +238,6 @@ QMimeData *ItemLibraryModel::getMimeData(const ItemLibraryEntry &itemLibraryEntr return mimeData; } -QList<ItemLibrarySection *> ItemLibraryModel::sections() const -{ - return m_sections; -} - void ItemLibraryModel::clearSections() { qDeleteAll(m_sections); diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h index 5d39a00085..bdbad13933 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h @@ -58,17 +58,8 @@ public: QMimeData *getMimeData(const ItemLibraryEntry &itemLibraryEntry); - QList<ItemLibrarySection*> sections() const; - - void clearSections(); - static void registerQmlTypes(); - int visibleSectionCount() const; - QList<ItemLibrarySection*> visibleSections() const; - - ItemLibrarySection *sectionByName(const QString §ionName); - void setSearchText(const QString &searchText); void setExpanded(bool, const QString §ion); @@ -80,13 +71,15 @@ signals: void searchTextChanged(); private: // functions + ItemLibrarySection *sectionByName(const QString §ionName); void updateVisibility(bool *changed); void addRoleNames(); void sortSections(); + void clearSections(); private: // variables - QList<ItemLibrarySection*> m_sections; + QList<QPointer<ItemLibrarySection>> m_sections; QHash<int, QByteArray> m_roleNames; QString m_searchText; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp index 378f1e897a..13230544ae 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarywidget.cpp @@ -101,13 +101,15 @@ ItemLibraryWidget::ItemLibraryWidget(QWidget *parent) : m_itemViewQuickWidget->engine()->addImportPath(propertyEditorResourcesPath() + "/imports"); m_itemLibraryModel = new ItemLibraryModel(this); - QQmlContext *rootContext = m_itemViewQuickWidget->rootContext(); - rootContext->setContextProperty(QStringLiteral("itemLibraryModel"), m_itemLibraryModel.data()); - rootContext->setContextProperty(QStringLiteral("itemLibraryIconWidth"), m_itemIconSize.width()); - rootContext->setContextProperty(QStringLiteral("itemLibraryIconHeight"), m_itemIconSize.height()); - rootContext->setContextProperty(QStringLiteral("rootView"), this); - - m_itemViewQuickWidget->rootContext()->setContextProperty(QStringLiteral("highlightColor"), Utils::StyleHelper::notTooBrightHighlightColor()); + m_itemViewQuickWidget->rootContext()->setContextProperties( + QVector<QQmlContext::PropertyPair>{ + {"itemLibraryModel", QVariant::fromValue(m_itemLibraryModel.data())}, + {"itemLibraryIconWidth", m_itemIconSize.width()}, + {"itemLibraryIconHeight", m_itemIconSize.height()}, + {"rootView", QVariant::fromValue(this)}, + {"highlightColor", Utils::StyleHelper::notTooBrightHighlightColor()} + } + ); /* create Resources view and its model */ m_resourcesFileSystemModel = new CustomFileSystemModel(this); diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp index d9a685c703..ddded6400b 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorqmlbackend.cpp @@ -379,9 +379,12 @@ void PropertyEditorQmlBackend::setup(const QmlObjectNode &qmlObjectNode, const Q // anchors m_backendAnchorBinding.setup(qmlObjectNode.modelNode()); - context()->setContextProperty(QLatin1String("anchorBackend"), &m_backendAnchorBinding); - - context()->setContextProperty(QLatin1String("transaction"), m_propertyEditorTransaction.data()); + context()->setContextProperties( + QVector<QQmlContext::PropertyPair>{ + {{"anchorBackend"}, QVariant::fromValue(&m_backendAnchorBinding)}, + {{"transaction"}, QVariant::fromValue(m_propertyEditorTransaction.data())} + } + ); qCInfo(propertyEditorBenchmark) << "anchors:" << time.elapsed(); @@ -457,9 +460,13 @@ void PropertyEditorQmlBackend::initialSetup(const TypeName &typeName, const QUrl QObject::connect(valueObject, &PropertyEditorValue::valueChanged, &backendValuesPropertyMap(), &DesignerPropertyMap::valueChanged); m_backendValuesPropertyMap.insert(QLatin1String("id"), QVariant::fromValue(valueObject)); - context()->setContextProperty(QLatin1String("anchorBackend"), &m_backendAnchorBinding); - context()->setContextProperty(QLatin1String("modelNodeBackend"), &m_backendModelNode); - context()->setContextProperty(QLatin1String("transaction"), m_propertyEditorTransaction.data()); + context()->setContextProperties( + QVector<QQmlContext::PropertyPair>{ + {{"anchorBackend"}, QVariant::fromValue(&m_backendAnchorBinding)}, + {{"modelNodeBackend"}, QVariant::fromValue(&m_backendModelNode)}, + {{"transaction"}, QVariant::fromValue(m_propertyEditorTransaction.data())} + } + ); contextObject()->setSpecificsUrl(qmlSpecificsFile); diff --git a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp index dafe5f3ff2..dee2e86401 100644 --- a/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp +++ b/src/plugins/qmldesigner/components/stateseditor/stateseditorwidget.cpp @@ -102,9 +102,12 @@ StatesEditorWidget::StatesEditorWidget(StatesEditorView *statesEditorView, State setResizeMode(QQuickWidget::SizeRootObjectToView); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - rootContext()->setContextProperty(QStringLiteral("statesEditorModel"), statesEditorModel); - - rootContext()->setContextProperty(QLatin1String("canAddNewStates"), true); + rootContext()->setContextProperties( + QVector<QQmlContext::PropertyPair>{ + {{"statesEditorModel"}, QVariant::fromValue(statesEditorModel)}, + {{"canAddNewStates"}, true} + } + ); Theme::setupTheme(engine()); diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index 8aacefff55..4abf7d2802 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp @@ -650,7 +650,7 @@ PropertyName NodeMetaInfoPrivate::defaultPropertyName() const static inline TypeName stringIdentifier( const TypeName &type, int maj, int min) { - return type + QString::number(maj).toLatin1() + '_' + QString::number(min).toLatin1(); + return type + QByteArray::number(maj) + '_' + QByteArray::number(min); } NodeMetaInfoPrivate::Pointer NodeMetaInfoPrivate::create(Model *model, const TypeName &type, int major, int minor) diff --git a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp index e811ca071e..234872d661 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlobjectnode.cpp @@ -381,11 +381,21 @@ void QmlObjectNode::destroy() timeline.destroyKeyframesForTarget(subNode); } - if (QmlFlowActionAreaNode::isValidQmlFlowActionAreaNode(modelNode())) - QmlFlowActionAreaNode(modelNode()).destroyTarget(); + bool wasFlowEditorTarget = false; + if (QmlFlowTargetNode::isFlowEditorTarget(modelNode())) { + QmlFlowTargetNode(modelNode()).destroyTargets(); + wasFlowEditorTarget = true; + } removeStateOperationsForChildren(modelNode()); + BindingProperty::deleteAllReferencesTo(modelNode()); + + QmlFlowViewNode root(view()->rootModelNode()); + modelNode().destroy(); + + if (wasFlowEditorTarget && root.isValid()) + root.removeDanglingTransitions(); } void QmlObjectNode::ensureAliasExport() diff --git a/src/plugins/qmldesigner/designersettings.cpp b/src/plugins/qmldesigner/designersettings.cpp index 4944cef9db..c2ec2106d1 100644 --- a/src/plugins/qmldesigner/designersettings.cpp +++ b/src/plugins/qmldesigner/designersettings.cpp @@ -84,6 +84,7 @@ void DesignerSettings::fromSettings(QSettings *settings) ); restoreValue(settings, DesignerSettingsKey::SIMPLE_COLOR_PALETTE_CONTENT, QStringList()); restoreValue(settings, DesignerSettingsKey::ALWAYS_DESIGN_MODE, true); + restoreValue(settings, DesignerSettingsKey::DISABLE_ITEM_LIBRARY_UPDATE_TIMER, true); settings->endGroup(); settings->endGroup(); |