From e238c8f0a4caf3d1487205093cffee9f56b56516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20L=C3=B6hning?= Date: Wed, 19 Oct 2022 10:49:14 +0200 Subject: [PATCH 1/2] ClangFormat: Fix compilation with LLVM 15 Change-Id: I7990e8331c317d3bc363be610b2585d37dee4445 Reviewed-by: Reviewed-by: Christian Kandeler (cherry picked from commit a1bfcbf30d493e1e1fab94851fe50fed81cd3d6e) Reviewed-by: Qt CI Bot Reviewed-by: Eike Ziller --- src/plugins/clangformat/clangformatutils.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp index 230078558e5..1e0429d80f0 100644 --- a/src/plugins/clangformat/clangformatutils.cpp +++ b/src/plugins/clangformat/clangformatutils.cpp @@ -118,7 +118,11 @@ clang::format::FormatStyle qtcStyle() style.ColumnLimit = 100; style.CommentPragmas = "^ IWYU pragma:"; style.CompactNamespaces = false; +#if LLVM_VERSION_MAJOR >= 15 + style.PackConstructorInitializers = FormatStyle::PCIS_BinPack; +#else style.ConstructorInitializerAllOnOneLineOrOnePerLine = false; +#endif style.ConstructorInitializerIndentWidth = 4; style.ContinuationIndentWidth = 4; style.Cpp11BracedListStyle = true; From 70f532c43f74d0dfdd12222cd95f412e06128a6f Mon Sep 17 00:00:00 2001 From: Mahmoud Badri Date: Thu, 20 Oct 2022 17:42:46 +0300 Subject: [PATCH 2/2] QmlDesigner: Allow drag-n-drop a bundle material to materials section Fixes: QDS-8041 Change-Id: I848f636f41c58e11c719517f4073243a76e293b6 Reviewed-by: Miikka Heikkinen --- .../materialBrowserQmlSource/MaterialBrowser.qml | 15 +++++++++++++++ .../materialbrowser/materialbrowserwidget.cpp | 14 ++++++++++++-- .../materialbrowser/materialbrowserwidget.h | 3 +++ 3 files changed, 30 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml b/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml index ad9356d44db..1e8cdfda5d1 100644 --- a/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml +++ b/share/qtcreator/qmldesigner/materialBrowserQmlSource/MaterialBrowser.qml @@ -187,6 +187,21 @@ Item { width: root.width caption: qsTr("Materials") hideHeader: !materialBrowserBundleModel.matBundleExists + dropEnabled: true + + onDropEnter: (drag) => { + drag.accepted = rootView.draggedBundleMaterial + userMaterialsSection.highlight = rootView.draggedBundleMaterial + } + + onDropExit: { + userMaterialsSection.highlight = false + } + + onDrop: { + userMaterialsSection.highlight = false + materialBrowserBundleModel.addToProject(rootView.draggedBundleMaterial) + } Grid { id: grid diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp index 333c579e26d..0d4e36590c2 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.cpp @@ -139,14 +139,24 @@ bool MaterialBrowserWidget::eventFilter(QObject *obj, QEvent *event) mimeData->setData(Constants::MIME_TYPE_BUNDLE_MATERIAL, data); mimeData->removeFormat("text/plain"); + if (!m_draggedBundleMaterial) { + m_draggedBundleMaterial = m_bundleMaterialToDrag; + emit draggedBundleMaterialChanged(); + } + emit bundleMaterialDragStarted(m_bundleMaterialToDrag); model->startDrag(mimeData, m_bundleMaterialToDrag->icon().toLocalFile()); - m_bundleMaterialToDrag = {}; + m_bundleMaterialToDrag = nullptr; } } } else if (event->type() == QMouseEvent::MouseButtonRelease) { m_materialToDrag = {}; - m_bundleMaterialToDrag = {}; + m_bundleMaterialToDrag = nullptr; + + if (m_draggedBundleMaterial) { + m_draggedBundleMaterial = nullptr; + emit draggedBundleMaterialChanged(); + } } return QObject::eventFilter(obj, event); diff --git a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.h b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.h index 0d50a84cc60..638d3c048a3 100644 --- a/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.h +++ b/src/plugins/qmldesigner/components/materialbrowser/materialbrowserwidget.h @@ -58,6 +58,7 @@ class PreviewImageProvider; class MaterialBrowserWidget : public QFrame { Q_OBJECT + Q_PROPERTY(BundleMaterial *draggedBundleMaterial MEMBER m_draggedBundleMaterial NOTIFY draggedBundleMaterialChanged) public: MaterialBrowserWidget(MaterialBrowserView *view); @@ -81,6 +82,7 @@ public: signals: void bundleMaterialDragStarted(QmlDesigner::BundleMaterial *bundleMat); + void draggedBundleMaterialChanged(); protected: bool eventFilter(QObject *obj, QEvent *event) override; @@ -102,6 +104,7 @@ private: ModelNode m_materialToDrag; BundleMaterial *m_bundleMaterialToDrag = nullptr; + BundleMaterial *m_draggedBundleMaterial = nullptr; QPoint m_dragStartPoint; };