From aaa3fda1adaaa61ee7f075026ba3e92a6f1ee66e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kai=20K=C3=B6hne?= Date: Wed, 10 Mar 2021 11:22:43 +0100 Subject: [PATCH 01/35] Adapt locations of rcc and uic for Qt 6.1 They are now found in libexec, not bin. Task-number: QTBUG-88791 Change-Id: I34a13034833117f2360fdbbf41c54bbf2cfb55da Reviewed-by: hjk Reviewed-by: Joerg Bornemann --- src/plugins/qtsupport/baseqtversion.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 7b3fd99d118..c2d37968b25 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -1040,11 +1040,16 @@ QString BaseQtVersionPrivate::findHostBinary(HostBinaries binary) const switch (binary) { case Designer: case Linguist: - case Rcc: - case Uic: case QScxmlc: baseDir = q->hostBinPath().toString(); break; + case Rcc: + case Uic: + if (q->qtVersion() >= QtVersionNumber(6, 1)) + baseDir = q->hostLibexecPath().toString(); + else + baseDir = q->hostBinPath().toString(); + break; default: // Can't happen Q_ASSERT(false); From 3d917a01cc16f79303f6f95dcb63db44af7e290c Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 6 Apr 2021 14:02:13 +0200 Subject: [PATCH 02/35] QmlDesigner: Fix crash This case should not happen and is handled in a separate patch, but in case we miss another corner case this avoids the crash. Task-number: QTCREATORBUG-25437 Change-Id: I370e3e0b6901d8cdd857714a0766f0f8442a3d66 Reviewed-by: Aleksei German Reviewed-by: Marco Bubke --- .../components/connectioneditor/connectionmodel.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp b/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp index 41d98ca6082..c9d2de9e72d 100644 --- a/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp +++ b/src/plugins/qmldesigner/components/connectioneditor/connectionmodel.cpp @@ -39,6 +39,8 @@ #include #include +#include + #include #include #include @@ -370,7 +372,10 @@ void ConnectionModel::abstractPropertyChanged(const AbstractProperty &abstractPr void ConnectionModel::deleteConnectionByRow(int currentRow) { SignalHandlerProperty targetSignal = signalHandlerPropertyForRow(currentRow); + QTC_ASSERT(targetSignal.isValid(), return ); QmlDesigner::ModelNode node = targetSignal.parentModelNode(); + QTC_ASSERT(node.isValid(), return ); + QList allSignals = node.signalProperties(); if (allSignals.size() > 1) { if (allSignals.contains(targetSignal)) From ce5445d11393e83d3f6c4c297b70e56da3e23395 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 6 Apr 2021 14:12:49 +0200 Subject: [PATCH 03/35] QmlDesigner: Do not call allDirectSubNodes twice Change-Id: I6ce2d620848ec184d96cdceb5c0bcf323a937551 Reviewed-by: Marco Bubke --- .../components/formeditor/formeditorview.cpp | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp index 5341ff06d6e..b73335b1b26 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp @@ -129,19 +129,24 @@ void FormEditorView::setupFormEditorItemTree(const QmlItemNode &qmlItemNode) m_scene->synchronizeTransformation(rootItem); formEditorWidget()->setRootItemRect(qmlItemNode.instanceBoundingRect()); - for (const QmlObjectNode &nextNode : qmlItemNode.allDirectSubNodes()) { - if (QmlItemNode::isValidQmlItemNode(nextNode) && nextNode.toQmlItemNode().isFlowItem()) { - setupFormEditorItemTree(nextNode.toQmlItemNode()); + const QList allDirectSubNodes = qmlItemNode.allDirectSubNodes(); + for (const QmlObjectNode &childNode : allDirectSubNodes) { + if (QmlItemNode::isValidQmlItemNode(childNode) + && childNode.toQmlItemNode().isFlowItem()) { + setupFormEditorItemTree(childNode.toQmlItemNode()); } } - for (const QmlObjectNode &nextNode : qmlItemNode.allDirectSubNodes()) { - if (QmlVisualNode::isValidQmlVisualNode(nextNode) && nextNode.toQmlVisualNode().isFlowTransition()) { - setupFormEditorItemTree(nextNode.toQmlItemNode()); - } else if (QmlVisualNode::isValidQmlVisualNode(nextNode) && nextNode.toQmlVisualNode().isFlowDecision()) { - setupFormEditorItemTree(nextNode.toQmlItemNode()); - } else if (QmlVisualNode::isValidQmlVisualNode(nextNode) && nextNode.toQmlVisualNode().isFlowWildcard()) { - setupFormEditorItemTree(nextNode.toQmlItemNode()); + for (const QmlObjectNode &childNode : allDirectSubNodes) { + if (QmlVisualNode::isValidQmlVisualNode(childNode) + && childNode.toQmlVisualNode().isFlowTransition()) { + setupFormEditorItemTree(childNode.toQmlItemNode()); + } else if (QmlVisualNode::isValidQmlVisualNode(childNode) + && childNode.toQmlVisualNode().isFlowDecision()) { + setupFormEditorItemTree(childNode.toQmlItemNode()); + } else if (QmlVisualNode::isValidQmlVisualNode(childNode) + && childNode.toQmlVisualNode().isFlowWildcard()) { + setupFormEditorItemTree(childNode.toQmlItemNode()); } } } else { From 350d1cd09098316ba5aa1bd6145092b03b94ed24 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 6 Apr 2021 14:03:37 +0200 Subject: [PATCH 04/35] QmlDesigner: Properly react to deleted properties in ConnectionView If the property contained a node we reset the model. Task-number: QTCREATORBUG-25437 Change-Id: If7efebed87fe2936069a06e2bd03193806427a97 Reviewed-by: Aleksei German Reviewed-by: Thomas Hartmann --- .../components/connectioneditor/connectionview.cpp | 10 +++++++++- .../components/connectioneditor/connectionview.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/connectioneditor/connectionview.cpp b/src/plugins/qmldesigner/components/connectioneditor/connectionview.cpp index 88dd6a971db..6737d66d18d 100644 --- a/src/plugins/qmldesigner/components/connectioneditor/connectionview.cpp +++ b/src/plugins/qmldesigner/components/connectioneditor/connectionview.cpp @@ -102,7 +102,15 @@ void ConnectionView::nodeIdChanged(const ModelNode & /*node*/, const QString & / dynamicPropertiesModel()->resetModel(); } -void ConnectionView::propertiesAboutToBeRemoved(const QList & propertyList) +void ConnectionView::propertiesRemoved(const QList &propertyList) +{ + for (const AbstractProperty &property : propertyList) { + if (property.isDefaultProperty()) + connectionModel()->resetModel(); + } +} + +void ConnectionView::propertiesAboutToBeRemoved(const QList &propertyList) { foreach (const AbstractProperty &property, propertyList) { if (property.isBindingProperty()) { diff --git a/src/plugins/qmldesigner/components/connectioneditor/connectionview.h b/src/plugins/qmldesigner/components/connectioneditor/connectionview.h index dda496263d7..fb934ba3855 100644 --- a/src/plugins/qmldesigner/components/connectioneditor/connectionview.h +++ b/src/plugins/qmldesigner/components/connectioneditor/connectionview.h @@ -62,6 +62,7 @@ public: void nodeReparented(const ModelNode &node, const NodeAbstractProperty &newPropertyParent, const NodeAbstractProperty &oldPropertyParent, AbstractView::PropertyChangeFlags propertyChange) override; void nodeIdChanged(const ModelNode& node, const QString& newId, const QString& oldId) override; + void propertiesRemoved(const QList &propertyList) override; void propertiesAboutToBeRemoved(const QList& propertyList) override; void variantPropertiesChanged(const QList& propertyList, PropertyChangeFlags propertyChange) override; void bindingPropertiesChanged(const QList& propertyList, PropertyChangeFlags propertyChange) override; From c0f1cd8e539dd457fa26e329d22cf915b4402458 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 6 Apr 2021 14:46:44 +0200 Subject: [PATCH 05/35] macOS: Show icons for device types in menu When selecting a device icon for a kit, we should show the actual icons in the menu even on macOS, even though icons in menus is not customary there. Task-number: QTCREATORBUG-25443 Change-Id: If0aed679b9cd3b1645bd423af70059730a522f05 Reviewed-by: Christian Kandeler --- .../projectexplorer/kitmanagerconfigwidget.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp b/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp index dc0797c29e7..3d40b510cb8 100644 --- a/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp +++ b/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp @@ -307,12 +307,15 @@ void KitManagerConfigWidget::setIcon() for (const IDeviceFactory * const factory : qAsConst(allDeviceFactories)) { if (factory->icon().isNull()) continue; - iconMenu.addAction(factory->icon(), tr("Default for %1").arg(factory->displayName()), - [this, factory] { - m_iconButton->setIcon(factory->icon()); - m_modifiedKit->setDeviceTypeForIcon(factory->deviceType()); - emit dirty(); - }); + QAction *action = iconMenu.addAction(factory->icon(), + tr("Default for %1").arg(factory->displayName()), + [this, factory] { + m_iconButton->setIcon(factory->icon()); + m_modifiedKit->setDeviceTypeForIcon( + factory->deviceType()); + emit dirty(); + }); + action->setIconVisibleInMenu(true); } iconMenu.addSeparator(); iconMenu.addAction(Utils::PathChooser::browseButtonLabel(), [this] { From 85e2368b38f18429fdb03c288c9d2be90ad5945a Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Wed, 31 Mar 2021 18:40:17 +0200 Subject: [PATCH 06/35] CMakePM: Reparse CMake project when the file-api json files change CMake will reconfigure itself if you have modified the CMakeLists.txt files. Qt Creator needs to reparse the file-api json structure even if the "Auto-run CMake" is being disabled. "Auto-run CMake" will run CMake when the project files themselves have been changed e.g. modify and then save. CMake will use ninja / make to reconfigure itself, generate the file-api structure and Qt Creator needs to keep up. Change-Id: I12d8683b86f35bd6e0ebccec5300cd7ae8dce0b2 Reviewed-by: Eike Ziller --- src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index a94bd9cc1ba..b558cc0d9db 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -915,10 +915,6 @@ void CMakeBuildSystem::becameDirty() if (isParsing()) return; - const CMakeTool *tool = m_parameters.cmakeTool(); - if (!tool->isAutoRun()) - return; - setParametersAndRequestParse(BuildDirParameters(cmakeBuildConfiguration()), REPARSE_SCAN); } From c7d9ca11545ff817947f173dccdb1eac4aa1740a Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 6 Apr 2021 18:44:45 +0200 Subject: [PATCH 07/35] QmlDesigner: Fix Qt 6 imports This allows using a Qt 5 puppet with simple Qt 6 files. Change-Id: Ic3264ffbf8d798ff260305079a0bb281f9628795 Reviewed-by: Thomas Hartmann --- .../qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index 0f56b809f4a..1c5fb24a680 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -689,6 +689,12 @@ QObject *ObjectNodeInstance::createPrimitive(const QString &typeName, int majorN * QML type. This is the case for example if a C++ type is mocked up with a QML file. */ + if (!object && majorNumber == 6 && minorNumber == 0) { + object = QmlPrivateGate::createPrimitive(polishTypeName, 2, 15, context); + if (!object) + object = QmlPrivateGate::createPrimitive(polishTypeName, 1, 0, context); + } + if (!object) object = createPrimitiveFromSource(polishTypeName, majorNumber, minorNumber, context); From ccdd0d666d92fdf114c1aedec222274eeb1210d8 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 30 Mar 2021 12:24:15 +0200 Subject: [PATCH 08/35] LanguageClient: Do not send hover requests to unreachable server Change-Id: Icb4d3516a12b9475967de5ff5dcbf45cf5986195 Reviewed-by: Christian Stenger --- src/plugins/languageclient/languageclienthoverhandler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/languageclient/languageclienthoverhandler.cpp b/src/plugins/languageclient/languageclienthoverhandler.cpp index 3ef437ac793..d930fd8a8cb 100644 --- a/src/plugins/languageclient/languageclienthoverhandler.cpp +++ b/src/plugins/languageclient/languageclienthoverhandler.cpp @@ -59,7 +59,8 @@ void HoverHandler::identifyMatch(TextEditor::TextEditorWidget *editorWidget, { if (m_currentRequest.has_value()) abort(); - if (m_client.isNull() || !m_client->documentOpen(editorWidget->textDocument())) { + if (m_client.isNull() || !m_client->documentOpen(editorWidget->textDocument()) + || !m_client->reachable()) { report(Priority_None); return; } From 1e8879ee723b6b7f2fa4285e42a5473737f7bff9 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 30 Mar 2021 10:27:02 +0200 Subject: [PATCH 09/35] LanguageClient: track document highlight request based on widgets We can have multiple widgets per document, so we can have multiple different cursors for the same document. Tracking document highlights per widget prevents cancelling a potentially valid request for another text cursor of another widget. Change-Id: I800d9be5b44b327351252ab90305b8882efa87bb Reviewed-by: Christian Stenger --- src/plugins/languageclient/client.cpp | 19 +++++++++++-------- src/plugins/languageclient/client.h | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index 39822bccb49..3bbba9d2893 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -450,20 +450,23 @@ void Client::requestDocumentHighlights(TextEditor::TextEditorWidget *widget) return; } - auto runningRequest = m_highlightRequests.find(uri); + auto runningRequest = m_highlightRequests.find(widget); if (runningRequest != m_highlightRequests.end()) cancelRequest(runningRequest.value()); DocumentHighlightsRequest request( TextDocumentPositionParams(TextDocumentIdentifier(uri), Position(widget->textCursor()))); + auto connection = connect(widget, &QObject::destroyed, this, [this, widget]() { + auto runningRequest = m_highlightRequests.find(widget); + if (runningRequest != m_highlightRequests.end()) + cancelRequest(runningRequest.value()); + }); request.setResponseCallback( - [widget = QPointer(widget), this, uri] + [widget, this, uri, connection] (const DocumentHighlightsRequest::Response &response) { - m_highlightRequests.remove(uri); - if (!widget) - return; - + m_highlightRequests.remove(widget); + disconnect(connection); const Id &id = TextEditor::TextEditorWidget::CodeSemanticsSelection; QList selections; const Utils::optional &result = response.result(); @@ -487,7 +490,7 @@ void Client::requestDocumentHighlights(TextEditor::TextEditorWidget *widget) } widget->setExtraSelections(id, selections); }); - m_highlightRequests[uri] = request.id(); + m_highlightRequests[widget] = request.id(); sendContent(request); } @@ -698,7 +701,7 @@ void Client::cursorPositionChanged(TextEditor::TextEditorWidget *widget) QTimer *timer = m_documentHighlightsTimer[widget]; if (!timer) { const auto uri = DocumentUri::fromFilePath(widget->textDocument()->filePath()); - auto runningRequest = m_highlightRequests.find(uri); + auto runningRequest = m_highlightRequests.find(widget); if (runningRequest != m_highlightRequests.end()) cancelRequest(runningRequest.value()); timer = new QTimer; diff --git a/src/plugins/languageclient/client.h b/src/plugins/languageclient/client.h index dfb2d660659..fca5a6a040d 100644 --- a/src/plugins/languageclient/client.h +++ b/src/plugins/languageclient/client.h @@ -229,7 +229,7 @@ private: AssistProviders m_clientProviders; QMap m_resetAssistProvider; - QHash m_highlightRequests; + QHash m_highlightRequests; int m_restartsLeft = 5; QScopedPointer m_clientInterface; DiagnosticManager m_diagnosticManager; From f13d402b315ddba386fd2434724198ab1e6a5693 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 30 Mar 2021 10:33:09 +0200 Subject: [PATCH 10/35] LanguageClient: prevent multiple TextEditorWidget connections Change-Id: I97c7cb00bad898cc5f698bd3dcee23e44acfa9e2 Reviewed-by: Christian Stenger --- src/plugins/languageclient/client.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index 3bbba9d2893..54e54cb3cfe 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -707,13 +707,14 @@ void Client::cursorPositionChanged(TextEditor::TextEditorWidget *widget) timer = new QTimer; timer->setSingleShot(true); m_documentHighlightsTimer.insert(widget, timer); - connect(timer, &QTimer::timeout, this, [this, widget]() { + auto connection = connect(widget, &QWidget::destroyed, this, [widget, this]() { + delete m_documentHighlightsTimer.take(widget); + }); + connect(timer, &QTimer::timeout, this, [this, widget, connection]() { + disconnect(connection); requestDocumentHighlights(widget); m_documentHighlightsTimer.take(widget)->deleteLater(); }); - connect(widget, &QWidget::destroyed, this, [widget, this]() { - delete m_documentHighlightsTimer.take(widget); - }); } const Id selectionsId(TextEditor::TextEditorWidget::CodeSemanticsSelection); const QList semanticSelections = widget->extraSelections(selectionsId); From ae85170b663ad0f256b9cde53ac5ec7f61a1b302 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 30 Mar 2021 11:14:04 +0200 Subject: [PATCH 11/35] LanguageClient: untrack request on cancel Now we search for the key twice in the hash, but the hash shouldn't get to big and the lookup doesn't happen very often. Change-Id: I4751a8203321bb4c1ea5092b89593971d736e034 Reviewed-by: Christian Stenger --- src/plugins/languageclient/client.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp index 54e54cb3cfe..ece007c27d7 100644 --- a/src/plugins/languageclient/client.cpp +++ b/src/plugins/languageclient/client.cpp @@ -450,16 +450,14 @@ void Client::requestDocumentHighlights(TextEditor::TextEditorWidget *widget) return; } - auto runningRequest = m_highlightRequests.find(widget); - if (runningRequest != m_highlightRequests.end()) - cancelRequest(runningRequest.value()); + if (m_highlightRequests.contains(widget)) + cancelRequest(m_highlightRequests.take(widget)); DocumentHighlightsRequest request( TextDocumentPositionParams(TextDocumentIdentifier(uri), Position(widget->textCursor()))); auto connection = connect(widget, &QObject::destroyed, this, [this, widget]() { - auto runningRequest = m_highlightRequests.find(widget); - if (runningRequest != m_highlightRequests.end()) - cancelRequest(runningRequest.value()); + if (m_highlightRequests.contains(widget)) + cancelRequest(m_highlightRequests.take(widget)); }); request.setResponseCallback( [widget, this, uri, connection] @@ -701,9 +699,8 @@ void Client::cursorPositionChanged(TextEditor::TextEditorWidget *widget) QTimer *timer = m_documentHighlightsTimer[widget]; if (!timer) { const auto uri = DocumentUri::fromFilePath(widget->textDocument()->filePath()); - auto runningRequest = m_highlightRequests.find(widget); - if (runningRequest != m_highlightRequests.end()) - cancelRequest(runningRequest.value()); + if (m_highlightRequests.contains(widget)) + cancelRequest(m_highlightRequests.take(widget)); timer = new QTimer; timer->setSingleShot(true); m_documentHighlightsTimer.insert(widget, timer); From 0c01ef999895a2263cd59c5999f239131c36e89f Mon Sep 17 00:00:00 2001 From: Sergey Levin Date: Mon, 5 Apr 2021 12:38:55 +0300 Subject: [PATCH 12/35] Expand RunControl displayName Change-Id: I654ec71aeea945b59eb8a557254530dff97bed8c Reviewed-by: Christian Kandeler --- src/plugins/projectexplorer/runcontrol.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index 7f35f525aba..7c6e50b5152 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -363,7 +363,7 @@ void RunControl::setRunConfiguration(RunConfiguration *runConfig) d->runConfiguration = runConfig; d->runConfigId = runConfig->id(); d->runnable = runConfig->runnable(); - d->displayName = runConfig->displayName(); + d->displayName = runConfig->expandedDisplayName(); d->macroExpander = runConfig->macroExpander(); d->buildKey = runConfig->buildKey(); d->settingsData = runConfig->aspectData(); From 5d5ff574953822043619c23f9b251016ac3357fe Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 19 Mar 2021 13:21:30 +0100 Subject: [PATCH 13/35] AutoTest: Fix gtest detection If a test name starts with a number the codemodel handles the function-like macro differently and does not generate the arguments as it would do when using normal literals. Work around by explicitly handling the expression tokens. Fixes: QTCREATORBUG-25498 Change-Id: Ibf381af912403cb7b87c1c30b5a8fc7043c16056 Reviewed-by: Christian Kandeler --- src/plugins/autotest/autotestunittests.cpp | 3 +- src/plugins/autotest/gtest/gtestvisitors.cpp | 87 +++++++++++++------ .../unit_test/simple_gt/tests/gt1/main.cpp | 5 ++ 3 files changed, 69 insertions(+), 26 deletions(-) diff --git a/src/plugins/autotest/autotestunittests.cpp b/src/plugins/autotest/autotestunittests.cpp index e799eb7b43c..b65fb25c3d4 100644 --- a/src/plugins/autotest/autotestunittests.cpp +++ b/src/plugins/autotest/autotestunittests.cpp @@ -213,7 +213,7 @@ void AutoTestUnitTests::testCodeParserGTest() QVERIFY(parserSpy.wait(20000)); QVERIFY(modelUpdateSpy.wait()); - QCOMPARE(m_model->gtestNamesCount(), 7); + QCOMPARE(m_model->gtestNamesCount(), 8); QMultiMap expectedNamesAndSets; expectedNamesAndSets.insert(QStringLiteral("FactorialTest"), 3); @@ -222,6 +222,7 @@ void AutoTestUnitTests::testCodeParserGTest() expectedNamesAndSets.insert(QStringLiteral("QueueTest"), 2); expectedNamesAndSets.insert(QStringLiteral("DummyTest"), 1); // used as parameterized test expectedNamesAndSets.insert(QStringLiteral("DummyTest"), 1); // used as 'normal' test + expectedNamesAndSets.insert(QStringLiteral("NumberAsNameStart"), 1); expectedNamesAndSets.insert(QStringLiteral("NamespaceTest"), 1); QMultiMap foundNamesAndSets = m_model->gtestNamesAndSets(); diff --git a/src/plugins/autotest/gtest/gtestvisitors.cpp b/src/plugins/autotest/gtest/gtestvisitors.cpp index 80c2051f46a..9f622acb5b5 100644 --- a/src/plugins/autotest/gtest/gtestvisitors.cpp +++ b/src/plugins/autotest/gtest/gtestvisitors.cpp @@ -29,6 +29,8 @@ #include #include +#include + namespace Autotest { namespace Internal { @@ -45,7 +47,7 @@ bool GTestVisitor::visit(CPlusPlus::FunctionDefinitionAST *ast) return false; CPlusPlus::DeclaratorIdAST *id = ast->declarator->core_declarator->asDeclaratorId(); - if (!id || !ast->symbol || ast->symbol->argumentCount() != 2) + if (!id || !ast->symbol) return false; QString prettyName = @@ -61,33 +63,68 @@ bool GTestVisitor::visit(CPlusPlus::FunctionDefinitionAST *ast) if (!GTestUtils::isGTestMacro(prettyName)) return false; - CPlusPlus::Argument *testCaseNameArg = ast->symbol->argumentAt(0)->asArgument(); - CPlusPlus::Argument *testNameArg = ast->symbol->argumentAt(1)->asArgument(); - if (testCaseNameArg && testNameArg) { - const QString &testCaseName = m_overview.prettyType(testCaseNameArg->type()); - const QString &testName = m_overview.prettyType(testNameArg->type()); + QString testSuiteName; + QString testCaseName; + if (ast->symbol->argumentCount() != 2 && ast->declarator->initializer) { + // we might have a special case when second parameter is a literal starting with a number + if (auto expressionListParenAST = ast->declarator->initializer->asExpressionListParen()) { + // only try if we have 3 tokens between left and right paren (2 parameters and a comma) + if (expressionListParenAST->rparen_token - expressionListParenAST->lparen_token != 4) + return false; - const bool disabled = testName.startsWith(disabledPrefix); - const bool disabledCase = testCaseName.startsWith(disabledPrefix); - int line = 0; - int column = 0; - unsigned token = id->firstToken(); - m_document->translationUnit()->getTokenStartPosition(token, &line, &column); + const CPlusPlus::Token parameter1 + = translationUnit()->tokenAt(expressionListParenAST->lparen_token + 1); + const CPlusPlus::Token parameter2 + = translationUnit()->tokenAt(expressionListParenAST->rparen_token - 1); + const CPlusPlus::Token comma + = translationUnit()->tokenAt(expressionListParenAST->lparen_token + 2); + if (!comma.is(CPlusPlus::T_COMMA)) + return false; - GTestCodeLocationAndType locationAndType; - locationAndType.m_name = testName; - locationAndType.m_line = line; - locationAndType.m_column = column - 1; - locationAndType.m_type = TestTreeItem::TestCase; - locationAndType.m_state = disabled ? GTestTreeItem::Disabled - : GTestTreeItem::Enabled; - GTestCaseSpec spec; - spec.testCaseName = testCaseName; - spec.parameterized = GTestUtils::isGTestParameterized(prettyName); - spec.typed = GTestUtils::isGTestTyped(prettyName); - spec.disabled = disabledCase; - m_gtestFunctions[spec].append(locationAndType); + testSuiteName = QString::fromUtf8(parameter1.spell()); + testCaseName = QString::fromUtf8(parameter2.spell()); + // test (suite) name needs to be a alpha numerical literal ( _ and $ allowed) + const QRegularExpression alnum("^[[:alnum:]_$]+$"); + // test suite must not start with a number, test case may + if (!alnum.match(testSuiteName).hasMatch() + || (!testSuiteName.isEmpty() && testSuiteName.at(0).isNumber())) { + testSuiteName.clear(); + } + if (!alnum.match(testCaseName).hasMatch()) + testCaseName.clear(); + } + } else { + const CPlusPlus::Argument *testSuiteNameArg = ast->symbol->argumentAt(0)->asArgument(); + const CPlusPlus::Argument *testCaseNameArg = ast->symbol->argumentAt(1)->asArgument(); + if (testSuiteNameArg && testCaseNameArg) { + testSuiteName = m_overview.prettyType(testSuiteNameArg->type()); + testCaseName = m_overview.prettyType(testCaseNameArg->type()); + } } + if (testSuiteName.isEmpty() || testCaseName.isEmpty()) + return false; + + const bool disabled = testCaseName.startsWith(disabledPrefix); + const bool disabledCase = testSuiteName.startsWith(disabledPrefix); + int line = 0; + int column = 0; + unsigned token = id->firstToken(); + m_document->translationUnit()->getTokenStartPosition(token, &line, &column); + + GTestCodeLocationAndType locationAndType; + locationAndType.m_name = testCaseName; + locationAndType.m_line = line; + locationAndType.m_column = column - 1; + locationAndType.m_type = TestTreeItem::TestCase; + locationAndType.m_state = disabled ? GTestTreeItem::Disabled + : GTestTreeItem::Enabled; + GTestCaseSpec spec; + // FIXME GTestCaseSpec structure wrong nowadays (suite vs case / case vs function) + spec.testCaseName = testSuiteName; + spec.parameterized = GTestUtils::isGTestParameterized(prettyName); + spec.typed = GTestUtils::isGTestTyped(prettyName); + spec.disabled = disabledCase; + m_gtestFunctions[spec].append(locationAndType); return false; } diff --git a/src/plugins/autotest/unit_test/simple_gt/tests/gt1/main.cpp b/src/plugins/autotest/unit_test/simple_gt/tests/gt1/main.cpp index a4a394b3105..eb907c60079 100644 --- a/src/plugins/autotest/unit_test/simple_gt/tests/gt1/main.cpp +++ b/src/plugins/autotest/unit_test/simple_gt/tests/gt1/main.cpp @@ -70,6 +70,11 @@ TEST(FactorialTest_Iterative, DISABLED_HandlesPositiveInput) ASSERT_EQ(40320, factorial_it(8)); } +TEST(NumberAsNameStart, 1IsEnough) +{ + EXPECT_FALSE(false); +} + int main(int argc, char *argv[]) { ::testing::InitGoogleTest(&argc, argv); From dbb5a70f93bb19c7907abcdc3b26248b2959c208 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Wed, 31 Mar 2021 17:58:09 +0200 Subject: [PATCH 14/35] CMakePM: Remove non existing targets from cmake --target list Testing with a hello project like this: 1. Go to settings select "hello" target, deselect "all" 2. Go to CMakeLists.txt and rename the hello target to hello2 3. Run CMake <-- important, this will rescan the file-api target structure 4. Build Step 3 will notice that hello target is missing and remove it, since no targets are there "all" will be inserted and step 4 will work. Fixes: QTCREATORBUG-25477 Change-Id: I6a4461341550931006558e5fdecb5a4323afaf35 Reviewed-by: Eike Ziller --- src/plugins/cmakeprojectmanager/cmakebuildstep.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp index 90b7bd7db06..e0c81b999e2 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.cpp @@ -536,6 +536,14 @@ void CMakeBuildStep::recreateBuildTargetsModel() addItem(QString(), true); + // Remove the targets that do not exist in the build system + // This can result when selected targets get renamed + if (!targetList.empty()) { + Utils::erase(m_buildTargets, [targetList](const QString &bt) { return !targetList.contains(bt); }); + if (m_buildTargets.empty()) + m_buildTargets.push_back(m_allTarget); + } + for (const QString &buildTarget : qAsConst(targetList)) addItem(buildTarget, specialTargets(usesAllCapsTargets).contains(buildTarget)); From 821551827937f3e0764eff32a4235b3aaf07ee22 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 6 Apr 2021 17:20:16 +0200 Subject: [PATCH 15/35] Doc: Describe opening terminal windows from Projects view context menu Task-number: QTCREATORBUG-25162 Change-Id: I0f0939ce98c1de54577b4a67c9097bad9fafecf4 Reviewed-by: Christian Kandeler --- doc/qtcreator/src/howto/creator-views.qdoc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/qtcreator/src/howto/creator-views.qdoc b/doc/qtcreator/src/howto/creator-views.qdoc index b74b22b5764..7e659e20295 100644 --- a/doc/qtcreator/src/howto/creator-views.qdoc +++ b/doc/qtcreator/src/howto/creator-views.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -178,6 +178,11 @@ \li Add and remove subprojects. \endif \li Search from the selected directory. + \li Open a terminal window in the project directory. To specify the + terminal to use on Linux and \macos, select \uicontrol Tools > + \uicontrol Options > \uicontrol Environment > \uicontrol System. + \li Open a terminal window in the project directory that is configured + for building or running the project. \li Expand or collapse the tree view to show or hide all files and folders. \li Close all files in a project. From de072785cdb53877b1b4c1f64ffffd992f4ec689 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 31 Mar 2021 17:34:33 +0200 Subject: [PATCH 16/35] ProjectExplorer: Make sure we always scroll to the new current item ... in the issues pane. When fixing another issue, we accidentally lost auto-scrolling for cursor key navigation. Amends 74b773e68f. Fixes: QTCREATORBUG-25432 Change-Id: I67f9a9b198276ce38a19862dc66000ced6a9a6fa Reviewed-by: Eike Ziller --- src/plugins/projectexplorer/taskwindow.cpp | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp index 6701ebbf84d..26b147c0d37 100644 --- a/src/plugins/projectexplorer/taskwindow.cpp +++ b/src/plugins/projectexplorer/taskwindow.cpp @@ -78,7 +78,6 @@ class TaskView : public Utils::ListView { public: TaskView(QWidget *parent = nullptr); - void setCurrentAndScrollTo(const QModelIndex &index); ~TaskView() override; private: @@ -213,12 +212,6 @@ TaskView::TaskView(QWidget *parent) verticalScrollBar()->setSingleStep(vStepSize); } -void TaskView::setCurrentAndScrollTo(const QModelIndex &index) -{ - scrollTo(index); - setCurrentIndex(index); -} - TaskView::~TaskView() = default; void TaskView::resizeEvent(QResizeEvent *e) @@ -482,6 +475,7 @@ void TaskWindow::currentChanged(const QModelIndex &index) ITaskHandler *h = d->handler(action); action->setEnabled((task.isNull() || !h) ? false : h->canHandle(task)); } + d->m_listview->scrollTo(index); } void TaskWindow::saveSettings() @@ -563,7 +557,7 @@ void TaskWindow::showTask(unsigned int id) int sourceRow = d->m_model->rowForId(id); QModelIndex sourceIdx = d->m_model->index(sourceRow, 0); QModelIndex filterIdx = d->m_filter->mapFromSource(sourceIdx); - d->m_listview->setCurrentAndScrollTo(filterIdx); + d->m_listview->setCurrentIndex(filterIdx); popup(Core::IOutputPane::ModeSwitch); } @@ -692,7 +686,7 @@ void TaskWindow::setFocus() if (d->m_filter->rowCount()) { d->m_listview->setFocus(); if (d->m_listview->currentIndex() == QModelIndex()) - d->m_listview->setCurrentAndScrollTo(d->m_filter->index(0,0, QModelIndex())); + d->m_listview->setCurrentIndex(d->m_filter->index(0,0, QModelIndex())); } } @@ -725,7 +719,7 @@ void TaskWindow::goToNext() } else { currentIndex = d->m_filter->index(0, 0); } - d->m_listview->setCurrentAndScrollTo(currentIndex); + d->m_listview->setCurrentIndex(currentIndex); triggerDefaultHandler(currentIndex); } @@ -748,7 +742,7 @@ void TaskWindow::goToPrev() } else { currentIndex = d->m_filter->index(0, 0); } - d->m_listview->setCurrentAndScrollTo(currentIndex); + d->m_listview->setCurrentIndex(currentIndex); triggerDefaultHandler(currentIndex); } From 77d8a88a3e674e1f738e7e72a4c982989074dbe1 Mon Sep 17 00:00:00 2001 From: Matti Paaso Date: Fri, 19 Mar 2021 10:34:05 +0200 Subject: [PATCH 17/35] Add qt-creator module instructions Task-number: COIN-491 Change-Id: I3d1b8663c2c2c8d151db2a6ab0faab2ab8669011 Reviewed-by: Eike Ziller --- coin/dependencies.yaml | 2 + coin/instructions/common_environment.yaml | 77 +++++++++ coin/instructions/make_instructions.yaml | 185 ++++++++++++++++++++++ coin/instructions/qmake_module_build.yaml | 77 +++++++++ coin/module_config.yaml | 68 ++++++++ 5 files changed, 409 insertions(+) create mode 100644 coin/dependencies.yaml create mode 100644 coin/instructions/common_environment.yaml create mode 100644 coin/instructions/make_instructions.yaml create mode 100644 coin/instructions/qmake_module_build.yaml create mode 100644 coin/module_config.yaml diff --git a/coin/dependencies.yaml b/coin/dependencies.yaml new file mode 100644 index 00000000000..ca5901e14aa --- /dev/null +++ b/coin/dependencies.yaml @@ -0,0 +1,2 @@ +dependencies: {} + diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml new file mode 100644 index 00000000000..06f1c75b5e2 --- /dev/null +++ b/coin/instructions/common_environment.yaml @@ -0,0 +1,77 @@ +type: Group +instructions: + - type: Group + enable_if: + condition: property + property: target.compiler + in_values: [MSVC2019] + instructions: + - type: EnvironmentVariable + variableName: MAKEFLAGS + variableValue: "" + - type: EnvironmentVariable + variableName: LLVM_INSTALL_DIR + variableValue: "{{.Env.LLVM_DYNAMIC_LIBS_100}}" + enable_if: + condition: property + property: target.arch + equals_value: X86_64 + - type: EnvironmentVariable + variableName: LLVM_INSTALL_DIR + variableValue: "{{.Env.LLVM_DYNAMIC_LIBS_100}}" + enable_if: + condition: property + property: target.arch + equals_value: X86 + + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "{{.InstallDir}}\\bin;" + enable_if: + condition: property + property: target.os + equals_value: Windows + + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "C:\\Utils\\gnuwin32\\bin;" + enable_if: + condition: property + property: target.os + equals_value: Windows + + - type: EnvironmentVariable + variableName: LANG + variableValue: en_US.UTF-8 + enable_if: + condition: property + property: host.os + in_values: [MacOS, Linux] + + - type: Group + instructions: + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "{{.InstallDir}}/bin:" + - type: EnvironmentVariable + variableName: DISPLAY + variableValue: ":0" + - type: PrependToEnvironmentVariable + variableName: PATH + variableValue: "/opt/rh/devtoolset-7/root/usr/bin:" + enable_if: + condition: property + property: host.os + equals_value: Linux + + - type: Group + instructions: + - type: EnvironmentVariable + variableName: LLVM_INSTALL_DIR + variableValue: "{{.Env.LLVM_DYNAMIC_LIBS_100}}" + enable_if: + condition: property + property: host.os + in_values: [Linux, MacOS] + + diff --git a/coin/instructions/make_instructions.yaml b/coin/instructions/make_instructions.yaml new file mode 100644 index 00000000000..1c0026db351 --- /dev/null +++ b/coin/instructions/make_instructions.yaml @@ -0,0 +1,185 @@ +type: Group +instructions: + - type: Group + instructions: + - type: ExecuteCommand + command: "mkdir {{.AgentWorkingDir}}/qt_temp" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to create folder qt_temp, check logs." + - type: ExecuteCommand + command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}/qt_temp/icu-linux-g++-Rhel7.2-x64.7z http://master.qt.io/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to download icu package, check logs." + - type: ExecuteCommand + command: "/usr/bin/7z x -y {{.AgentWorkingDir}}/qt_temp/icu-linux-g++-Rhel7.2-x64.7z -o{{.InstallDir}}/lib" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to extract icu package, check logs." + - type: ExecuteCommand + command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}/qt_temp/elfutils-release_0.175qt-linux-x86_64.7z http://master.qt.io/development_releases/prebuilt/elfutils/elfutils-release_0.175qt-linux-x86_64.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to download elfutils package, check logs." + - type: ExecuteCommand + command: "/usr/bin/7z x -y {{.AgentWorkingDir}}/qt_temp/elfutils-release_0.175qt-linux-x86_64.7z -o{{.AgentWorkingDir}}/qt_temp/elfutils" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to extract elfutils package, check logs." + - type: ExecuteCommand + command: "python {{.AgentWorkingDir}}/qt-creator/qt-creator/scripts/build.py --src {{.AgentWorkingDir}}/qt-creator/qt-creator --build {{.AgentWorkingDir}}/qt-creator/qt-creator_build --qt-path {{.AgentWorkingDir}}/build/qt5_install_dir --elfutils-path {{.AgentWorkingDir}}/qt_temp/elfutils" + maxTimeInSeconds: 36000 + maxTimeBetweenOutput: 3600 + userMessageOnFailure: "Failed to run build.py, check logs." + enable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_value: Linux + - condition: property + property: target.compiler + in_values: [GCC] + + - type: Group + instructions: + - type: ExecuteCommand + command: "python {{.AgentWorkingDir}}/qt-creator/qt-creator/scripts/build.py --src {{.AgentWorkingDir}}/qt-creator/qt-creator --build {{.AgentWorkingDir}}/qt-creator/qt-creator_build --qt-path {{.AgentWorkingDir}}/build/qt5_install_dir --keychain-unlock-script /Users/qt/unlock-keychain.sh" + maxTimeInSeconds: 36000 + maxTimeBetweenOutput: 3600 + userMessageOnFailure: "Failed to run build.py, check logs." + enable_if: + condition: property + property: host.os + equals_value: MacOS + + - type: Group + instructions: + - type: MakeDirectory + directory: "{{.AgentWorkingDir}}/qt_temp" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to create folder qt_temp, check logs." + - type: ExecuteCommand + command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}\\qt_temp\\elfutils-release_0.175qt-windows-x86_64.7z http://master.qt.io/development_releases/prebuilt/elfutils/elfutils-release_0.175qt-windows-x86_64.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to download elfutils package, check logs." + - type: ExecuteCommand + command: "C:\\Utils\\sevenzip\\7z.exe x -y {{.AgentWorkingDir}}\\qt_temp\\elfutils-release_0.175qt-windows-x86_64.7z -o{{.AgentWorkingDir}}\\qt_temp\\elfutils" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to extract elfutils package, check logs." + - type: ExecuteCommand + command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}\\qt_temp\\Python38-win-x64.7z http://master.qt.io/development_releases/prebuilt/python/Python38-win-x64.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to download python package, check logs." + - type: ExecuteCommand + command: "C:\\Utils\\sevenzip\\7z.exe x -y {{.AgentWorkingDir}}\\qt_temp\\Python38-win-x64.7z -o{{.AgentWorkingDir}}\\qt_temp\\python" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to extract python package, check logs." + - type: MakeDirectory + directory: "{{.AgentWorkingDir}}/qt_temp/openssl" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to create folder openssl, check logs." + - type: ExecuteCommand + command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}\\qt_temp\\openssl\\openssl_1.1.1d_prebuild_x64.7z http://ci-files02-hki.intra.qt.io/packages/jenkins/openssl/openssl_1.1.1d_prebuild_x64.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to download openssl package, check logs." + - type: ExecuteCommand + command: "C:\\Utils\\sevenzip\\7z.exe x -y {{.AgentWorkingDir}}\\qt_temp\\openssl\\openssl_1.1.1d_prebuild_x64.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to extract openssl package, check logs." + - type: ExecuteCommand + command: "cmd copy {{.AgentWorkingDir}}\\qt_temp\\openssl\\openssl_1.1.1d_prebuild_x64\\Win_x64\\bin\\*.dll {{.InstallDir}}\\bin\\" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to copy openssl ddl's, check logs." + - type: ExecuteCommand + command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}\\qt_temp\\opengl32sw-64.7z http://master.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to download opengl package, check logs." + - type: ExecuteCommand + command: "C:\\Utils\\sevenzip\\7z.exe x -y {{.AgentWorkingDir}}\\qt_temp\\opengl32sw-64.7z -o{{.InstallDir}}\\bin" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to extract opengl package, check logs." + - type: ExecuteCommand + command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}\\qt_temp\\d3dcompiler_47-x64.7z http://master.qt.io/development_releases/prebuilt/d3dcompiler/msvc2013/d3dcompiler_47-x64.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to download d3dcompiler package, check logs." + - type: ExecuteCommand + command: "C:\\Utils\\sevenzip\\7z.exe x -y {{.AgentWorkingDir}}\\qt_temp\\d3dcompiler_47-x64.7z -o{{.InstallDir}}\\bin" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to extract d3dcompiler package, check logs." + - type: ExecuteCommand + command: "python -u {{.AgentWorkingDir}}\\qt-creator\\qt-creator\\scripts\\build.py --src {{.AgentWorkingDir}}\\qt-creator\\qt-creator --build {{.AgentWorkingDir}}\\qt-creator\\qt-creator_build --qt-path {{.AgentWorkingDir}}/build/qt5_install_dir --python-path {{.AgentWorkingDir}}\\qt_temp\\python --elfutils-path {{.AgentWorkingDir}}\\qt_temp\\elfutils" + maxTimeInSeconds: 36000 + maxTimeBetweenOutput: 3600 + userMessageOnFailure: "Failed to run build.py, check logs." + enable_if: + condition: and + conditions: + - condition: property + property: target.compiler + in_values: [MSVC2013, MSVC2015, MSVC2017, MSVC2019] + - condition: property + property: target.arch + equals_value: X86_64 + + - type: Group + instructions: + - type: MakeDirectory + directory: "{{.AgentWorkingDir}}/qt_temp" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to create folder qt_temp, check logs." + - type: ExecuteCommand + command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}\\qt_temp\\Python38-win-x86.7z http://master.qt.io/development_releases/prebuilt/python/Python38-win-x86.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to download python package, check logs." + - type: ExecuteCommand + command: "C:\\Utils\\sevenzip\\7z.exe x -y {{.AgentWorkingDir}}\\qt_temp\\Python38-win-x86.7z -o{{.AgentWorkingDir}}\\qt_temp\\python" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to extract python package, check logs." + - type: ExecuteCommand + command: "python -u {{.AgentWorkingDir}}\\qt-creator\\qt-creator\\scripts\\build.py --src {{.AgentWorkingDir}}\\qt-creator\\qt-creator --build {{.AgentWorkingDir}}\\qt-creator\\qt-creator_build --python-path {{.AgentWorkingDir}}\\qt_temp\\python --no-qtcreator" + maxTimeInSeconds: 36000 + maxTimeBetweenOutput: 3600 + userMessageOnFailure: "Failed to run build.py, check logs." + enable_if: + condition: and + conditions: + - condition: property + property: target.compiler + in_values: [MSVC2013, MSVC2015, MSVC2017, MSVC2019] + - condition: property + property: target.arch + equals_value: X86 + + - type: SignPackage + directory: "{{.AgentWorkingDir}}/qt-creator/qt-creator_build/install/" + maxTimeInSeconds: 1200 + maxTimeBetweenOutput: 1200 + enable_if: + condition: property + property: host.os + equals_value: Windows + + - type: UploadArtifact + archiveDirectory: "{{.AgentWorkingDir}}/qt-creator/qt-creator_build/install/" + transferType: UploadModuleBuildArtifact + maxTimeInSeconds: 1800 + maxTimeBetweenOutput: 1800 + diff --git a/coin/instructions/qmake_module_build.yaml b/coin/instructions/qmake_module_build.yaml new file mode 100644 index 00000000000..55751de8027 --- /dev/null +++ b/coin/instructions/qmake_module_build.yaml @@ -0,0 +1,77 @@ +type: Group +instructions: + - type: MakeDirectory + directory: ".git" + - type: SetBuildDirectory + directory: "{{.SourceDir}}" + disable_if: + condition: property + property: features + contains_value: OutOfSourceBuild + - type: Group + instructions: + - type: SetBuildDirectory + directory: "{{.AgentWorkingDir}}/build" + - type: MakeDirectory + directory: "{{.BuildDir}}" + enable_if: + condition: property + property: features + contains_value: OutOfSourceBuild + - type: ChangeDirectory + directory: "{{.BuildDir}}" + - type: InstallSourceArchive + maxTimeInSeconds: 600 + maxTimeBetweenOutput: 600 + project: qtsdk/qtsdk + ref: master + directory: "build/qtsdk" + userMessageOnFailure: "Failed to install qtsdk, check logs" + enable_if: + condition: property + property: host.os + in_values: [MacOS, Linux, Windows] + - type: ExecuteCommand + command: "python -u /home/qt/work/build/qtsdk/packaging-tools/install_qt.py --qt-path /home/qt/work/build/qt5_install_dir --temp-path /home/qt/work/build/qt_temp --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qt5compat/qt5compat-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtbase/qtbase-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtdeclarative/qtdeclarative-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtgraphicaleffects/qtgraphicaleffects-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtimageformats/qtimageformats-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtlocation/qtlocation-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtmacextras/qtmacextras-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquick3d/qtquick3d-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols/qtquickcontrols-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols2/qtquickcontrols2-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquicktimeline/qtquicktimeline-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtscript/qtscript-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtserialport/qtserialport-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtshadertools/qtshadertools-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtsvg/qtsvg-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttools/qttools-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttranslations/qttranslations-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtx11extras/qtx11extras-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtxmlpatterns/qtxmlpatterns-Linux-CentOS_8_3-GCC-Linux-CentOS_8_3-X86_64.7z --qt-module file:///home/qt/work/build/downloads/qtdocumentation/qt-everywhere-documentation.7z --icu7z http://master.qt.io/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to install qt, check logs." + enable_if: + condition: property + property: host.os + equals_value: Linux + - type: ExecuteCommand + command: "python -u /Users/qt/work/build/qtsdk/packaging-tools/install_qt.py --qt-path /Users/qt/work/build/qt5_install_dir --temp-path /Users/qt/work/build/qt_temp --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qt5compat/qt5compat-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtbase/qtbase-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtdeclarative/qtdeclarative-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtgraphicaleffects/qtgraphicaleffects-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtimageformats/qtimageformats-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtlocation/qtlocation-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtmacextras/qtmacextras-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquick3d/qtquick3d-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols/qtquickcontrols-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols2/qtquickcontrols2-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquicktimeline/qtquicktimeline-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtscript/qtscript-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtserialport/qtserialport-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtshadertools/qtshadertools-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtsvg/qtsvg-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttools/qttools-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttranslations/qttranslations-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtx11extras/qtx11extras-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtxmlpatterns/qtxmlpatterns-MacOS-MacOS_11_00-Clang-MacOS-MacOS_11_00-X86_64.7z --qt-module file:///Users/qt/work/build/downloads/qtdocumentation/qt-everywhere-documentation.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to install qt, check logs." + enable_if: + condition: property + property: host.os + equals_value: MacOS + - type: ExecuteCommand + command: "C:\\Python27\\Scripts\\pip.exe install pywin32" + maxTimeInSeconds: 1200 + maxTimeBetweenOutput: 120 + userMessageOnFailure: "Failed to install win32api, check logs." + enable_if: + condition: property + property: host.os + equals_value: Windows + - type: ExecuteCommand + command: "python -u {{.AgentWorkingDir}}\\build\\qtsdk\\packaging-tools\\install_qt.py --qt-path {{.AgentWorkingDir}}\\build\\qt5_install_dir --temp-path {{.AgentWorkingDir}}\\build\\qt_temp --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qt5compat/qt5compat-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtbase/qtbase-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtdeclarative/qtdeclarative-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtgraphicaleffects/qtgraphicaleffects-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtimageformats/qtimageformats-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtlocation/qtlocation-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtmacextras/qtmacextras-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquick3d/qtquick3d-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols/qtquickcontrols-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquickcontrols2/qtquickcontrols2-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtquicktimeline/qtquicktimeline-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtscript/qtscript-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtserialport/qtserialport-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtshadertools/qtshadertools-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtsvg/qtsvg-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttools/qttools-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qttranslations/qttranslations-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtx11extras/qtx11extras-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z --qt-module http://ci-files02-hki-infra.intra.qt.io/packages/jenkins/qt/6.1.0/release_content//qtxmlpatterns/qtxmlpatterns-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z" + maxTimeInSeconds: 3600 + maxTimeBetweenOutput: 360 + userMessageOnFailure: "Failed to install qt, check logs." + enable_if: + condition: and + conditions: + - condition: property + property: host.os + equals_value: Windows + - condition: property + property: target.arch + equals_value: X86_64 + + - !include "{{qt-creator/qt-creator}}/make_instructions.yaml" + diff --git a/coin/module_config.yaml b/coin/module_config.yaml new file mode 100644 index 00000000000..0692ac7cd39 --- /dev/null +++ b/coin/module_config.yaml @@ -0,0 +1,68 @@ +version: 2 +accept_configuration: + condition: or + conditions: + - condition: property + property: features + contains_value: LicenseCheck + - condition: and + conditions: + - condition: property + property: host.os + equals_value: Windows + - condition: property + property: host + equals_property: target + - condition: property + property: target.compiler + equals_value: MSVC2019 + - condition: and + conditions: + - condition: property + property: host.os + equals_value: Linux + - condition: and + conditions: + - condition: property + property: host.os + equals_value: MacOS + +run_license_check: &run_license_check + type: Group + enable_if: + condition: property + property: features + contains_value: LicenseCheck + instructions: + - type: EnvironmentVariable + variableName: QT_MODULE_TO_TEST + variableValue: "qt-creator/qt-creator" + - type: ChangeDirectory + directory: "{{.AgentWorkingDir}}" + - type: ExecuteCommand + command: echo " should run perl qt/qtqa-latest/tests/prebuild/license/tst_licenses.pl" + maxTimeInSeconds: 7200 + maxTimeBetweenOutput: 120 + userMessageOnFailure: > + Failed .... + +common_environment: &common_environment + type: Group + instructions: + - !include "{{qt-creator/qt-creator}}/common_environment.yaml" + +make_instructions: &make_instructions + type: Group + instructions: + - !include "{{qt-creator/qt-creator}}/qmake_module_build.yaml" + + +instructions: + Build: + - *common_environment + - *make_instructions + + Test: [] + + LicenseCheck: + - *run_license_check From f4df67293554d9508da13d2905bf41d180a884d0 Mon Sep 17 00:00:00 2001 From: Michael Winkelmann Date: Wed, 7 Apr 2021 11:38:31 +0200 Subject: [PATCH 18/35] DefaultAnnotationsModel: handle default case as string Change-Id: I8a631f89f849b05c52e559b83ec63104156454df Reviewed-by: Thomas Hartmann --- .../components/annotationeditor/defaultannotations.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/qmldesigner/components/annotationeditor/defaultannotations.cpp b/src/plugins/qmldesigner/components/annotationeditor/defaultannotations.cpp index 3623dceeb95..f1fc72ab42d 100644 --- a/src/plugins/qmldesigner/components/annotationeditor/defaultannotations.cpp +++ b/src/plugins/qmldesigner/components/annotationeditor/defaultannotations.cpp @@ -139,9 +139,6 @@ QVariantMap DefaultAnnotationsModel::asVariantMapFromJson(const QJsonDocument &d case QJsonValue::Double: map[key] = double{0.0}; break; - case QJsonValue::String: - map[key] = QString{}; - break; case QJsonValue::Bool: map[key] = false; break; @@ -161,6 +158,10 @@ QVariantMap DefaultAnnotationsModel::asVariantMapFromJson(const QJsonDocument &d else if (type == QStringLiteral("color")) map[key] = QVariant::fromValue(QColor(val.toString())); } + default: + case QJsonValue::String: + map[key] = QString{}; + break; } } From e216a4edf4c8cb06d43dfdd08c3732aeb4ccd481 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 7 Apr 2021 12:47:01 +0200 Subject: [PATCH 19/35] QmlDesigner: Add more known enums Change-Id: Ib5e7b724967480d2c8428bb0379dbbe67e0b6daa Reviewed-by: Thomas Hartmann --- .../designercore/model/texttomodelmerger.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 432667c63a4..fdc0edb2eb0 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -104,10 +104,20 @@ QStringList globalQtEnums() QStringList knownEnumScopes() { - static const QStringList list = { - "TextInput", "TextEdit", "Material", "Universal", "Font", "Shape", "ShapePath", - "AbstractButton", "Text", "ShaderEffectSource", "Grid" - }; + static const QStringList list = {"TextInput", + "TextEdit", + "Material", + "Universal", + "Font", + "Shape", + "ShapePath", + "AbstractButton", + "Text", + "ShaderEffectSource", + "Grid", + "ItemLayer", + "ImageLayer", + "SpriteLayer"}; return list; } From 0af187299aa0cc9271336942dcbc0ecb718f6bca Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 6 Apr 2021 18:44:12 +0200 Subject: [PATCH 20/35] QmlDesigner: Allow imports without version Change-Id: I67faea759f33d4e8467cf9c16ec2f82b339f0646 Reviewed-by: Marco Bubke --- .../designercore/model/texttomodelmerger.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index fdc0edb2eb0..a751bf5b1f0 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -123,7 +123,7 @@ QStringList knownEnumScopes() bool supportedQtQuickVersion(const QString &version) { - return supportedVersionsList().contains(version); + return version.isEmpty() || supportedVersionsList().contains(version); } QString stripQuotes(const QString &str) @@ -797,11 +797,8 @@ void TextToModelMerger::setupImports(const Document::Ptr &doc, differenceHandler.modelMissesImport(newImport); } else { QString importUri = toString(import->importUri); - if (importUri == QStringLiteral("Qt") && version == QStringLiteral("4.7")) { - importUri = QStringLiteral("QtQuick"); - version = QStringLiteral("1.0"); - } - + if (version.isEmpty()) + version = "2.15"; const Import newImport = Import::createLibraryImport(importUri, version, as, m_rewriterView->importDirectories()); @@ -956,9 +953,13 @@ void TextToModelMerger::setupUsedImports() } for (const QmlJS::Import &import : allImports) { + QString version = import.info.version().toString(); + if (version.isEmpty()) + version = "2.15"; if (!import.info.name().isEmpty() && usedImportsSet.contains(import.info.name())) { if (import.info.type() == ImportType::Library) - usedImports.append(Import::createLibraryImport(import.info.name(), import.info.version().toString(), import.info.as())); + usedImports.append( + Import::createLibraryImport(import.info.name(), version, import.info.as())); else if (import.info.type() == ImportType::Directory || import.info.type() == ImportType::File) usedImports.append(Import::createFileImport(import.info.name(), import.info.version().toString(), import.info.as())); } From 4bf879a7701e6c2f6c61c87f7d5db858c4a07eed Mon Sep 17 00:00:00 2001 From: Johanna Vanhatapio Date: Thu, 1 Apr 2021 15:17:08 +0300 Subject: [PATCH 21/35] Doc: Update info on the Library view Task-number: QDS-4007 Change-Id: I981dfa54b4497b0517f1348aff8cc2d992a2cb2a Reviewed-by: Leena Miettinen --- doc/qtcreator/images/qtquick-assets-tab.png | Bin 48379 -> 15803 bytes .../images/qtquick-components-tab-add.png | Bin 20346 -> 8725 bytes .../images/qtquick-components-tab.png | Bin 19623 -> 21553 bytes .../src/qtquick/qtquick-library.qdoc | 25 ++++---- .../images/studio-3d-effects.png | Bin 0 -> 9787 bytes .../images/studio-3d-materials.png | Bin 0 -> 8901 bytes .../images/studio-binding-editor.png | Bin 4811 -> 3491 bytes .../images/studio-qml-imports-slconnector.png | Bin 5555 -> 8175 bytes ...dio-qtquick-3d-custom-effect-navigator.png | Bin 7395 -> 4637 bytes .../studio-qtquick-3d-custom-effect.png | Bin 6787 -> 3463 bytes ...o-qtquick-3d-custom-material-navigator.png | Bin 10713 -> 5625 bytes .../studio-qtquick-3d-custom-material.png | Bin 27897 -> 9720 bytes .../images/studio-qtquick-3d-pass.png | Bin 10916 -> 5215 bytes ...udio-qtquick-3d-shader-custom-material.png | Bin 0 -> 3784 bytes .../studio-qtquick-3d-shader-effect.png | Bin 0 -> 3309 bytes .../images/studio-qtquick-3d-shader-info.png | Bin 10355 -> 5037 bytes .../studio-qtquick-3d-shader-properties.png | Bin 10855 -> 4849 bytes .../studio-qtquick-3d-shader-utilities.png | Bin 11054 -> 5781 bytes .../src/qtdesignstudio-simulink.qdoc | 14 ++--- ...ignstudio-3d-custom-effects-materials.qdoc | 59 +++++++++--------- .../qtdesignstudio-3d-custom-shaders.qdoc | 14 ++++- .../qtdesignstudio-3d-effects.qdoc | 23 ++++--- .../qtdesignstudio-3d-materials.qdoc | 35 ++++++----- 23 files changed, 96 insertions(+), 74 deletions(-) create mode 100644 doc/qtdesignstudio/images/studio-3d-effects.png create mode 100644 doc/qtdesignstudio/images/studio-3d-materials.png create mode 100644 doc/qtdesignstudio/images/studio-qtquick-3d-shader-custom-material.png create mode 100644 doc/qtdesignstudio/images/studio-qtquick-3d-shader-effect.png diff --git a/doc/qtcreator/images/qtquick-assets-tab.png b/doc/qtcreator/images/qtquick-assets-tab.png index c653cca67b32ad20eabede8cccafaccccfc31f2f..ed3e86ef75eb2b4e29e3b6b7713f41a887bc6d91 100644 GIT binary patch literal 15803 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 Gp$PyZz-{pW literal 20346 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 diff --git a/doc/qtcreator/images/qtquick-components-tab.png b/doc/qtcreator/images/qtquick-components-tab.png index 7ddf21135d02e8fe068f21b09f337347b5ce7aa3..b3b3a129d69c779672f88fd2f83a79fcb7756fcb 100644 GIT binary patch literal 21553 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 literal 19623 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 SaLIho(P5shelF{r5}E)u?>|of diff --git a/doc/qtcreator/src/qtquick/qtquick-library.qdoc b/doc/qtcreator/src/qtquick/qtquick-library.qdoc index 728377d6bf1..a45bc18cf61 100644 --- a/doc/qtcreator/src/qtquick/qtquick-library.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-library.qdoc @@ -67,6 +67,7 @@ \li \l {Logic Helpers} \endif \li \l Animations + \li \l{Using 3D Components}{3D Components} \endlist For more information about creating your own components, see @@ -74,14 +75,17 @@ \section2 Adding and Removing Modules - When you create projects, modules typically needed in them are added by - default. For example, an empty application project contains only basic - components, while a 3D application project contains additional 3D - components. + When you \l{Creating Projects}{create projects}, modules typically needed in + them are added by default. For example, an empty application project + contains only basic components, while a 3D application project contains + additional 3D components. - To add modules to the project, select \inlineimage plus.png - , and then select the module to add from the list of available - modules. + To view the list of available modules, select \inlineimage plus.png + . Most commonly used modules are placed at the top of the list in + alphabetical order. You can search for components and modules by entering + search criteria in the \uicontrol Search field. + + Select the module to add it to \uicontrol Library > \uicontrol Components. \image qtquick-components-tab-add.png "Select Modules to Add" @@ -90,11 +94,8 @@ \uicontrol QtQuick.Controls module, the following import statement is added to the code: \c {import QtQuick.Controls}. - You can search for components and modules by entering search criteria - in the \uicontrol Search field. - - The added components and modules are packaged with your UI into the final - application package, so it is recommended that you select + Since the added components and modules are packaged with your UI into the + final application package, it is recommended that you select \uicontrol {Remove Module} to remove the ones you don't use in the project. \section1 Assets diff --git a/doc/qtdesignstudio/images/studio-3d-effects.png b/doc/qtdesignstudio/images/studio-3d-effects.png new file mode 100644 index 0000000000000000000000000000000000000000..8420288dac6abec2f55154b9067c63b11f1ca7f4 GIT binary patch literal 9787 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 KxvXqcek{6_3-epbM~@!a1RIw z2w3pJ($ccw%K!iWS2?)(+PnH#*gA(YXxln@_yNZ6w1IbFU25D-yn3=|E4XojEwxeyu6IF7U_AVuKNF9QBl#) z$VgsZ{@Rw*ef!!NLRUFBIHb**WfIVSZA#Y0&<^Ds*3)f3~qP z1B14ney}zJL)M~w{%!lxW_1_`WNR~oUitrDyWvXv{{8>|U)i^R|E}}17AX=D zA+*iUsK38IFf2yTE7--w#m2^_$;)6>D8u6Y`?VVy7G)XjTeN7-oH_Hh%<`)5SiG-Y zTf0ForF?N)wuwo0fM3?GEvXIK3xr=g##?O$&=o433CvU%YtVzC~^O7PT!} zH1GVZrY#*dB`dSr7F|1EHSc`+zQs8QdJ|eR1GD`77iSx1`x`IXx5zGY^3nqnjEu5& z%}U)>?=&yPsXf4?&EMFw?XXAdL64es0Ub+hq9-=Z>hRBQXV7jqu%g1+p&~aock$w! zwzll7tgO(e_{N5iU9*CB)dzce2Sqr0`S}^|yS1-<-(vfm=?gb>&pY3dQQ2YZROyyj z;Z1t^-S#uiSrY*}i>?v$7U1y0yqK zb5YZ*S<4Pi+I7CeEU2TWzsk8#s1lg_8*vVZA-_( zi5>0x+MAo38yg${uWHz}rF>somR?G#opX}4Ljpr+=;HQ(qFAqa^-gWs#;uu#p`qF> z-!^hHFmTQCba4!+xbc$bE;u!{yUQ`To5rzO23a#N$&^u2Na9N(l7yl26c;Q%3`} zg-%AyycdzJ9sG{_uur)NfecN)H=9dkW*YK_6uw+2Eo zDUS@~muC7rX4}4A^Jw}ZpIoCI(wg!UWxiXPsV2KVD7U%q@ZZBOS!wvjWSVfoJJ+s_=YNnX0kVKK?!RxBGrexU6T=q?0 z_GN;$3HvUy4ldo+I-Z90SrPl@2==*c*}G@9!H=I=@i*HIm(Bf}*E(J0K(?yif=yS# z_w-~`+`hskYBJ}zlg9M9ox4AA?qki;-YI$ie1_O*l>_aaqCSr{N1S}GEyCWrR!IA> z(Qp4SHH%YgMfIdS8`drnNn_2wT*ofN*-buV|MZu|5m%|l$RD^t9XRr$KI z;`Xo&;Rz=qn=;qlPMCb)!)}i z3jX$_MW1}5z5L_cNH4BUk1dw{{NH_lM}ec2sHSfBv*Tgctbe_!F%pUr>#wuc6x^x= zL!ZI}w1on}sBvmGT0|p7dj6YPyR&aQ$Q%zYITYB{d+>|Dz&GDbj$&>Vf;XId+7)Dy zHXO8QZAj+Oy>U{2W25j10sdAV&&{f`R$n%5`C?j-$IPUPATXYJS7*WRyrKnPK{S!WgX;)ib(p!_T&7vS^(l;@$J%?5wUvsZy#jGQWwnx4G{duA@fAbyfi4N<( z=x9#-u|xUcw!QIZ-bCz3II7DL&Ap^2N>g;v#T+g1-2FPsif*3f)}FmiG&ggClb4Rd zgm8~_G8rG2_-t>AJEgDfwd}n~^|FTOJqIuR?6f}puKB35P7-JFdN)q~&0RkKYHoN1 zsj5tM@m`ZM%jLGtujGT0{NLo~*|jR!9Aom@<0QnC$6&O3>ZM{Y?XZ>aqfb8Zi)RVD zCcP!_z@7DhPDlPEX)O*r@K$&COWCrO-M(pmH%dlSKJh%vRQXV-XQw?Lg9^Dm$+^*vMkPK%{MT(qOGB_(D1I;t=szBc6voe zrvGsi3%{SXYfB>k9r>#c)#O70%O>8bnP}MvAX|>+g+0tgYDyiv{`8VCGxDc^* zzGYa-hKW<=w#!f26fR-*u`_Jhq?e1o{%$dBTf^}EMtZVxjcWbDQ|6(ymsEN_?vGad zVSGV(jbWDS>yw)so!Dk1u+Fqlm5b;+`_a=UB5?v|SkEra;?78OJ)tunIhcC3E_(en zVvciCY3%p43XJ^<4L?40Sn|ZyEIn=oNr_5pHgs$_q;!a@nsg z5D$}ZiAWSoY;|p!I{(ddL;pho0uArQe+b|EG->;Vk{6d6Z|o{fsPXgNHMOO&)mO+z z=HSIh6TU2yi$`V}C=@o^KS-JLNAh0vmpu|a0!Nl;zL(xnaQ(IPzHfY|IyMKn&6#TS zXw8&~^_wQia0WK>X1XzyDjun0vp#h!tZ7@*{R#i>uSxh`d%pSZk~3kGlGC52Ydiin z5?{!4^FXIi@}s!fCxtQ^6YOj^JC^wuT|6CdY^Fn2O6zZ~OEDe$cK%a6ZgbUg*$lfS z<*FeycK6Cp)QYAr6}{W%n=^;0USpj0_A64UYe=UA_^>C5uNXVZ$&~+}c`yUG0!X-($JB z4nd*fDj>vBdbza=ET>5?mF~qD3V0 z;=RymeFq&Qe=X+*DM9-+WQW$Dg`ge^%)!xhfN~z6pj!lu8 zueNA~+6oJ(Ee=-=ws~!@*JCeT9woZAB51)PwV8JgE@ooAyP`>p-Cuj25Jzah(+`)X zo#)unqt&!ZLuPh-P=CGF?Dw}$S^d5x9riK8`;Ld?cAIPG>_0>lCrs5ndhh!a>pMe=})u$h&o0Z+4}Z1*C>-6X82~<~Qr( zEFV9c7=w2wixTU8ZJRSAUHXlC_F}#@MoH^K?#W8uJ?gZ{{LtamMr9ZGRP2p+E~>Z_ zy~FtAvgx|XZ<@7!uep>{YQJ`0o#HAll^Yy0-5&?tx+6JzqO!Sq;M0DsReOVO%6u1} zzduQvFK;Suai4va@d_i;!)D8#@gz&7r+S=T@hyTc^zV+ddiIlSrz#&_dFbEr8!4)X z>gS3UKiGF@z0nnqwa=n;&h_2;v+eW#&_8#?#f$Wt~$(69AooUl;%Y literal 4811 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 bWm(5`^6gxvvPqfuK$+Ro)z4*}Q$iB}o;#D0 diff --git a/doc/qtdesignstudio/images/studio-qml-imports-slconnector.png b/doc/qtdesignstudio/images/studio-qml-imports-slconnector.png index bfabdc8c529d720fb14d2e1705d4f819f9150097..65f9a158ee4849ebfb0aea87237de23915f7e688 100644 GIT binary patch literal 8175 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 literal 7395 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 KKbLh*2~7Y&Q4DAR diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-custom-effect.png b/doc/qtdesignstudio/images/studio-qtquick-3d-custom-effect.png index c430657dae443dfe02574df07059ff74a5b3a53a..c77fb1bd520e07850ecd928e3609174300a0501d 100644 GIT binary patch literal 3463 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 Y*RP!6DB%5-fq{X+)78&qol`;+0LW%{+5i9m diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-custom-material-navigator.png b/doc/qtdesignstudio/images/studio-qtquick-3d-custom-material-navigator.png index 43131421afedb0789320acc15b01f990c07e4f91..20a69d87cabc07ac75504bdcf451a73de3a13cde 100644 GIT binary patch literal 5625 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 literal 10713 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 diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-custom-material.png b/doc/qtdesignstudio/images/studio-qtquick-3d-custom-material.png index a6499d990dedd9e08f9d827ceb052a0d9efc4ea2..6a8032d82b79b020660704874d11aba6b220f532 100644 GIT binary patch literal 9720 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 KT-G@yGywqk2s3~H literal 27897 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

?|C)o#C+hvKiLpQ3 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 literal 74365 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 nV5pcL@wiT%k%57s`WLgygTe~DWM4f=gEP- From 526fe8bf0bc467ad3f631cfae259ce56b34b85dd Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 7 Apr 2021 13:51:48 +0200 Subject: [PATCH 23/35] QmlDesigner: Fix crash The transition property can be empty. Task-number: QDS-4082 Change-Id: Iaa38fbd865c88f11f195975e7f608952bbdae851 Reviewed-by: Aleksei German Reviewed-by: Thomas Hartmann --- .../components/transitioneditor/transitioneditorwidget.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.cpp b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.cpp index a62fe1fd8ca..a981537a4fb 100644 --- a/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.cpp +++ b/src/plugins/qmldesigner/components/transitioneditor/transitioneditorwidget.cpp @@ -328,8 +328,11 @@ void TransitionEditorWidget::init() if (root.isValid() && root.hasProperty("transitions")) { NodeAbstractProperty transitions = root.nodeAbstractProperty("transitions"); - if (transitions.isValid()) - transition = transitions.directSubNodes().constFirst(); + if (transitions.isValid()) { + const QList directSubNodes = transitions.directSubNodes(); + if (!directSubNodes.isEmpty()) + transition = directSubNodes.constFirst(); + } } m_graphicsScene->setTransition(transition); From 69344a53dbfca94b34fc42976647af86a4dadfad Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Fri, 5 Mar 2021 15:26:04 +0100 Subject: [PATCH 24/35] QmlDesigner.FlowView: Update flow items in instancesCompleted When a instances are completed we call updateGeometry on all transitions to ensure the click region is correctly initialized. Change-Id: I75e81c0010e952a7d0567b3396e95eb134bd86fc Reviewed-by: Thomas Hartmann --- .../components/formeditor/formeditorview.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp index b73335b1b26..0ee760b9a13 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorview.cpp @@ -637,8 +637,21 @@ void FormEditorView::auxiliaryDataChanged(const ModelNode &node, const PropertyN } } +static void updateTransitions(FormEditorScene *scene, const QmlItemNode &qmlItemNode) +{ + QmlFlowTargetNode flowItem(qmlItemNode); + if (flowItem.isValid() && flowItem.flowView().isValid()) { + const auto nodes = flowItem.flowView().transitions(); + for (const ModelNode &node : nodes) { + if (FormEditorItem *item = scene->itemForQmlItemNode(node)) + item->updateGeometry(); + } + }; +} + void FormEditorView::instancesCompleted(const QVector &completedNodeList) { + const bool isFlow = rootModelNode().isValid() && QmlItemNode(rootModelNode()).isFlowView(); QList itemNodeList; for (const ModelNode &node : completedNodeList) { const QmlItemNode qmlItemNode(node); @@ -646,6 +659,8 @@ void FormEditorView::instancesCompleted(const QVector &completedNodeL if (FormEditorItem *item = scene()->itemForQmlItemNode(qmlItemNode)) { scene()->synchronizeParent(qmlItemNode); itemNodeList.append(item); + if (isFlow && qmlItemNode.isFlowItem()) + updateTransitions(scene(), qmlItemNode); } } } From 1741aa41c5a3bdb07877002bd54380709876558f Mon Sep 17 00:00:00 2001 From: Michael Winkelmann Date: Wed, 7 Apr 2021 14:45:18 +0200 Subject: [PATCH 25/35] DefaultAnnotationsModel: Add missing break Change-Id: Ic8545a2f57cd969c48b29023d35c11cf484a31e4 Reviewed-by: Christian Kandeler --- .../components/annotationeditor/defaultannotations.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/annotationeditor/defaultannotations.cpp b/src/plugins/qmldesigner/components/annotationeditor/defaultannotations.cpp index f1fc72ab42d..de3084bb012 100644 --- a/src/plugins/qmldesigner/components/annotationeditor/defaultannotations.cpp +++ b/src/plugins/qmldesigner/components/annotationeditor/defaultannotations.cpp @@ -157,11 +157,13 @@ QVariantMap DefaultAnnotationsModel::asVariantMapFromJson(const QJsonDocument &d map[key] = QVariant::fromValue(val.toDouble()); else if (type == QStringLiteral("color")) map[key] = QVariant::fromValue(QColor(val.toString())); + break; } - default: case QJsonValue::String: map[key] = QString{}; break; + default: + break; } } From 49601e2acb28e3b81890eb73ece19d1bcef1d8ba Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 7 Apr 2021 11:19:36 +0200 Subject: [PATCH 26/35] Fix some warnings about unused variables Change-Id: Ib23d45e3a3523014826a863601b2f7f57dcb8e40 Reviewed-by: Christian Stenger --- .../components/annotationeditor/annotationtableview.cpp | 4 ++++ .../qmldesigner/components/timelineeditor/preseteditor.cpp | 2 -- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/annotationeditor/annotationtableview.cpp b/src/plugins/qmldesigner/components/annotationeditor/annotationtableview.cpp index 8e289a344c9..7dfee67c928 100644 --- a/src/plugins/qmldesigner/components/annotationeditor/annotationtableview.cpp +++ b/src/plugins/qmldesigner/components/annotationeditor/annotationtableview.cpp @@ -85,6 +85,7 @@ void CommentDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const { + Q_UNUSED(index) editor->setGeometry(option.rect); } @@ -104,6 +105,9 @@ QWidget *CommentTitleDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { + Q_UNUSED(option) + Q_UNUSED(index) + auto *editor = new QComboBox(parent); editor->setEditable(true); editor->setCompleter(completer()); diff --git a/src/plugins/qmldesigner/components/timelineeditor/preseteditor.cpp b/src/plugins/qmldesigner/components/timelineeditor/preseteditor.cpp index f755e4863e5..fd17b10d9a8 100644 --- a/src/plugins/qmldesigner/components/timelineeditor/preseteditor.cpp +++ b/src/plugins/qmldesigner/components/timelineeditor/preseteditor.cpp @@ -126,8 +126,6 @@ QIcon paintPreview(const QColor& background) QIcon paintPreview(const EasingCurve &curve, const QColor& background, const QColor& curveColor) { - const QColor curveLine = Theme::getColor(Theme::DStextColor); - QPixmap pm(iconWidth, iconHeight); pm.fill(background); From 7d03ffdc93fcc4d5133230c04bab72ef5e974422 Mon Sep 17 00:00:00 2001 From: Johanna Vanhatapio Date: Wed, 7 Apr 2021 14:56:14 +0300 Subject: [PATCH 27/35] Doc: Add links to new videos Fixes: QDS-3986 Change-Id: I259109d124eca7d825d8bd5f02698d90f546fff2 Reviewed-by: Leena Miettinen --- .../images/extraimages/images/bMXeeQw6BYs.jpg | Bin 0 -> 12253 bytes .../images/extraimages/images/u3kZJjlk3CY.jpg | Bin 0 -> 7956 bytes .../extraimages/qtcreator-extraimages.qdocconf | 4 +++- .../qtdesignstudio-extraimages.qdocconf | 4 +++- .../qtdesignstudio-3d-components.qdoc | 13 +++++++++++++ 5 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 doc/qtcreator/images/extraimages/images/bMXeeQw6BYs.jpg create mode 100644 doc/qtcreator/images/extraimages/images/u3kZJjlk3CY.jpg diff --git a/doc/qtcreator/images/extraimages/images/bMXeeQw6BYs.jpg b/doc/qtcreator/images/extraimages/images/bMXeeQw6BYs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c1e3b295ca742e7e681c99ee9b3a650d791c168 GIT binary patch literal 12253 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%0ABvr8#w+O{coVz+9lx6PgCYrpZk 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf b/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf index 5eacc4d3118..9cd8ce979e8 100644 --- a/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf +++ b/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf @@ -7,4 +7,6 @@ images/UfvA04CIXv0.jpg \ images/FzmLuRHQXaw.jpg \ images/pEETxSxYazg.jpg \ - images/V3Po15bNErw.jpg + images/V3Po15bNErw.jpg \ + images/bMXeeQw6BYs.jpg \ + images/u3kZJjlk3CY.jpg diff --git a/doc/qtcreator/images/extraimages/qtdesignstudio-extraimages.qdocconf b/doc/qtcreator/images/extraimages/qtdesignstudio-extraimages.qdocconf index c0f64117d24..28e1fbf6d62 100644 --- a/doc/qtcreator/images/extraimages/qtdesignstudio-extraimages.qdocconf +++ b/doc/qtcreator/images/extraimages/qtdesignstudio-extraimages.qdocconf @@ -12,4 +12,6 @@ images/FzmLuRHQXaw.jpg \ images/w1yhDl93YI0.jpg \ images/pEETxSxYazg.jpg \ - images/V3Po15bNErw.jpg + images/V3Po15bNErw.jpg \ + images/bMXeeQw6BYs.jpg \ + images/u3kZJjlk3CY.jpg diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc index 7ebdbbf7725..324d3dad5c5 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-components.qdoc @@ -43,6 +43,19 @@ To edit 3D components, select the component in \uicontrol {3D Editor} or in \uicontrol Navigator and set its properties in the \l Properties view. + \section1 Getting Started Videos + + The following video shows you how to add the components included in the + \uicontrol QtQuick3D module, such as 3D models, cameras, and lights, to your + scene: + \youtube u3kZJjlk3CY + + See the next video to learn more about the custom shader utilities, 3D + effects, and materials: + \youtube bMXeeQw6BYs + + \section1 More Information about 3D Components + \list \li \l {Setting Group Properties} From 68d6f6c21c0adc691111096c533f869d41ff452c Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 7 Apr 2021 17:57:05 +0200 Subject: [PATCH 28/35] StudioWelcome: Use the QSetting to disable UsageStatistics Instead of enabling/disabling the plugin we use the existing setting. Task-number: QDS-4128 Change-Id: Ibddf39b53aeac3741396c0329879ed1b29f8bf57 Reviewed-by: Marco Bubke --- .../qml/splashscreen/Welcome_splash.qml | 2 +- .../studiowelcome/studiowelcomeplugin.cpp | 110 ++++++++++-------- 2 files changed, 63 insertions(+), 49 deletions(-) diff --git a/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml b/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml index 240788a37a2..416693f5b81 100644 --- a/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml +++ b/src/plugins/studiowelcome/qml/splashscreen/Welcome_splash.qml @@ -305,6 +305,6 @@ Image { scale: 0.5 checked: usageStatisticModel.usageStatisticEnabled - onCheckedChanged: usageStatisticModel.setPluginEnabled(usageStatisticCheckBox.checked) + onCheckedChanged: usageStatisticModel.setTelemetryEnabled(usageStatisticCheckBox.checked) } } diff --git a/src/plugins/studiowelcome/studiowelcomeplugin.cpp b/src/plugins/studiowelcome/studiowelcomeplugin.cpp index 35889ce5222..0129b0e2265 100644 --- a/src/plugins/studiowelcome/studiowelcomeplugin.cpp +++ b/src/plugins/studiowelcome/studiowelcomeplugin.cpp @@ -49,36 +49,55 @@ #include #include #include -#include #include +#include #include #include #include #include #include #include +#include #include +#include +#include + namespace StudioWelcome { namespace Internal { const char DO_NOT_SHOW_SPLASHSCREEN_AGAIN_KEY[] = "StudioSplashScreen"; +const char DETAILED_USAGE_STATISTICS[] = "DetailedUsageStatistics"; +const char STATISTICS_COLLECTION_MODE[] = "StatisticsCollectionMode"; +const char NO_TELEMETRY[] = "NoTelemetry"; + QPointer s_view = nullptr; static StudioWelcomePlugin *s_pluginInstance = nullptr; -static bool isUsageStatistic(const ExtensionSystem::PluginSpec *spec) +std::unique_ptr makeUserFeedbackSettings() { - if (!spec) - return false; + QStringList domain = QCoreApplication::organizationDomain().split(QLatin1Char('.')); + std::reverse(domain.begin(), domain.end()); + QString productId = domain.join(QLatin1String(".")); + if (!productId.isEmpty()) + productId += "."; + productId += QCoreApplication::applicationName(); - return spec->name().contains("UsageStatistic"); -} + QString organization; + if (Utils::HostOsInfo::isMacHost()) { + organization = QCoreApplication::organizationDomain().isEmpty() + ? QCoreApplication::organizationName() + : QCoreApplication::organizationDomain(); + } else { + organization = QCoreApplication::organizationName().isEmpty() + ? QCoreApplication::organizationDomain() + : QCoreApplication::organizationName(); + } -ExtensionSystem::PluginSpec *getUsageStatisticPlugin() -{ - const auto plugins = ExtensionSystem::PluginManager::plugins(); - return Utils::findOrDefault(plugins, &isUsageStatistic); + std::unique_ptr settings(new QSettings(organization, "UserFeedback." + productId)); + settings->beginGroup("UserFeedback"); + return settings; } class UsageStatisticPluginModel : public QObject @@ -95,27 +114,21 @@ public: void setupModel() { - auto plugin = getUsageStatisticPlugin(); - if (plugin) - m_usageStatisticEnabled = plugin->isEnabledBySettings(); - else - m_usageStatisticEnabled = false; + auto settings = makeUserFeedbackSettings(); + QVariant value = settings->value(STATISTICS_COLLECTION_MODE); + m_usageStatisticEnabled = value.isValid() && value.toString() == DETAILED_USAGE_STATISTICS; emit usageStatisticChanged(); } - Q_INVOKABLE void setPluginEnabled(bool b) + Q_INVOKABLE void setTelemetryEnabled(bool b) { - auto plugin = getUsageStatisticPlugin(); - - if (!plugin) + if (m_usageStatisticEnabled == b) return; - if (plugin->isEnabledBySettings() == b) - return; + auto settings = makeUserFeedbackSettings(); - plugin->setEnabledBySettings(b); - ExtensionSystem::PluginManager::writeSettings(); + settings->setValue(STATISTICS_COLLECTION_MODE, b ? DETAILED_USAGE_STATISTICS : NO_TELEMETRY); // pause remove splash timer while dialog is open otherwise splash crashes upon removal s_pluginInstance->pauseRemoveSplashTimer(); @@ -139,9 +152,9 @@ class ProjectModel : public QAbstractListModel { Q_OBJECT public: - enum { FilePathRole = Qt::UserRole+1, PrettyFilePathRole }; + enum { FilePathRole = Qt::UserRole + 1, PrettyFilePathRole }; - Q_PROPERTY(bool communityVersion MEMBER m_communityVersion NOTIFY communityVersionChanged) + Q_PROPERTY(bool communityVersion MEMBER m_communityVersion NOTIFY communityVersionChanged) explicit ProjectModel(QObject *parent = nullptr); @@ -161,16 +174,12 @@ public: Q_INVOKABLE void openProjectAt(int row) { - const QString projectFile = data(index(row, 0), - ProjectModel::FilePathRole).toString(); + const QString projectFile = data(index(row, 0), ProjectModel::FilePathRole).toString(); if (QFileInfo::exists(projectFile)) ProjectExplorer::ProjectExplorerPlugin::openProjectWelcomePage(projectFile); } - Q_INVOKABLE int get(int) - { - return -1; - } + Q_INVOKABLE int get(int) { return -1; } Q_INVOKABLE void showHelp() { @@ -200,8 +209,11 @@ public: const QString projectFile = Core::ICore::resourcePath() + "/examples/" + example + "/" + example + ".qmlproject"; + ProjectExplorer::ProjectExplorerPlugin::openProjectWelcomePage(projectFile); - const QString qmlFile = Core::ICore::resourcePath() + "/examples/" + example + "/" + formFile; + const QString qmlFile = Core::ICore::resourcePath() + "/examples/" + example + "/" + + formFile; + Core::EditorManager::openEditor(qmlFile); } public slots: @@ -222,9 +234,9 @@ ProjectModel::ProjectModel(QObject *parent) this, &ProjectModel::resetProjects); - if (!Utils::findOrDefault(ExtensionSystem::PluginManager::plugins(), - Utils::equal(&ExtensionSystem::PluginSpec::name, QString("LicenseChecker")))) + Utils::equal(&ExtensionSystem::PluginSpec::name, + QString("LicenseChecker")))) m_communityVersion = true; } @@ -235,8 +247,8 @@ int ProjectModel::rowCount(const QModelIndex &) const QVariant ProjectModel::data(const QModelIndex &index, int role) const { - QPair data = - ProjectExplorer::ProjectExplorerPlugin::recentProjects().at(index.row()); + QPair data = ProjectExplorer::ProjectExplorerPlugin::recentProjects().at( + index.row()); switch (role) { case Qt::DisplayRole: return data.second; @@ -275,7 +287,6 @@ public: ~WelcomeMode() override; private: - QQuickWidget *m_modeWidget = nullptr; }; @@ -344,22 +355,25 @@ void StudioWelcomePlugin::extensionsInitialized() s_view->setWindowFlag(Qt::SplashScreen, true); s_view->setWindowModality(Qt::ApplicationModal); s_view->engine()->addImportPath("qrc:/studiofonts"); - #ifdef QT_DEBUG - s_view->engine()->addImportPath(QLatin1String(STUDIO_QML_PATH) - + "splashscreen/imports"); - s_view->setSource(QUrl::fromLocalFile(QLatin1String(STUDIO_QML_PATH) - + "splashscreen/main.qml")); - #else +#ifdef QT_DEBUG + s_view->engine()->addImportPath(QLatin1String(STUDIO_QML_PATH) + "splashscreen/imports"); + s_view->setSource( + QUrl::fromLocalFile(QLatin1String(STUDIO_QML_PATH) + "splashscreen/main.qml")); +#else s_view->engine()->addImportPath("qrc:/qml/splashscreen/imports"); s_view->setSource(QUrl("qrc:/qml/splashscreen/main.qml")); - #endif +#endif QTC_ASSERT(s_view->rootObject(), - qWarning() << "The StudioWelcomePlugin has a runtime depdendency on qt/qtquicktimeline."; - return); + qWarning() << "The StudioWelcomePlugin has a runtime depdendency on " + "qt/qtquicktimeline."; + return ); connect(s_view->rootObject(), SIGNAL(closeClicked()), this, SLOT(closeSplashScreen())); - connect(s_view->rootObject(), SIGNAL(configureClicked()), this, SLOT(showSystemSettings())); + connect(s_view->rootObject(), + SIGNAL(configureClicked()), + this, + SLOT(showSystemSettings())); s_view->show(); s_view->raise(); @@ -374,7 +388,7 @@ bool StudioWelcomePlugin::delayedInitialize() if (s_view.isNull()) return false; - QTC_ASSERT(s_view->rootObject() , return true); + QTC_ASSERT(s_view->rootObject(), return true); #ifdef ENABLE_CRASHPAD const bool crashReportingEnabled = true; From dde3fa12ac6d688ead6f3d8794d5e95481928b4a Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 7 Apr 2021 11:18:42 +0200 Subject: [PATCH 29/35] Editor: Fix RTL move line up/down Fixes: QTCREATORBUG-25515 Change-Id: I865592938ce0f6c36a9f783e9a379ce5e07d6b88 Reviewed-by: Christian Stenger --- src/plugins/texteditor/texteditor.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 45fa0f6f60d..182cb4ab9cc 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -2003,7 +2003,7 @@ void TextEditorWidgetPrivate::moveLineUpDown(bool up) move.setPosition(cursor.selectionStart()); move.movePosition(QTextCursor::StartOfBlock); move.setPosition(cursor.selectionEnd(), QTextCursor::KeepAnchor); - move.movePosition(move.atBlockStart() ? QTextCursor::Left: QTextCursor::EndOfBlock, + move.movePosition(move.atBlockStart() ? QTextCursor::PreviousCharacter: QTextCursor::EndOfBlock, QTextCursor::KeepAnchor); } else { move.movePosition(QTextCursor::StartOfBlock); @@ -2028,19 +2028,19 @@ void TextEditorWidgetPrivate::moveLineUpDown(bool up) } } - move.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor); + move.movePosition(QTextCursor::NextCharacter, QTextCursor::KeepAnchor); move.removeSelectedText(); if (up) { move.movePosition(QTextCursor::PreviousBlock); move.insertBlock(); - move.movePosition(QTextCursor::Left); + move.movePosition(QTextCursor::PreviousCharacter); } else { move.movePosition(QTextCursor::EndOfBlock); if (move.atBlockStart()) { // empty block move.movePosition(QTextCursor::NextBlock); move.insertBlock(); - move.movePosition(QTextCursor::Left); + move.movePosition(QTextCursor::PreviousCharacter); } else { move.insertBlock(); } From 17e2a80e10dfc7907cfe0e95c368710799edd1ef Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 7 Apr 2021 10:29:51 +0200 Subject: [PATCH 30/35] TextEditor: Prevent UI freeze when generating proposals Our fuzzy matcher slows down terribly if the input string has long-ish substrings that partially match the pattern. We therefore skip the fuzzy matching for proposal generation if we detect that the operation takes longer than expected. Fixes: QTCREATORBUG-25419 Change-Id: I57e0a57c620f42b80a0b02a93ff91fd1d2a35e44 Reviewed-by: David Schulz --- .../codeassist/genericproposalmodel.cpp | 49 +++++++++++++------ 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/src/plugins/texteditor/codeassist/genericproposalmodel.cpp b/src/plugins/texteditor/codeassist/genericproposalmodel.cpp index 8e891283abf..7236f90beb0 100644 --- a/src/plugins/texteditor/codeassist/genericproposalmodel.cpp +++ b/src/plugins/texteditor/codeassist/genericproposalmodel.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include #include @@ -297,28 +298,46 @@ void GenericProposalModel::filter(const QString &prefix) convertCaseSensitivity(TextEditorSettings::completionSettings().m_caseSensitivity); const QRegularExpression regExp = FuzzyMatcher::createRegExp(prefix, caseSensitivity); + QElapsedTimer timer; + timer.start(); + m_currentItems.clear(); const QString lowerPrefix = prefix.toLower(); + const bool checkInfix = prefix.size() >= 3; for (const auto &item : qAsConst(m_originalItems)) { const QString &text = item->text(); + + // Direct match? + if (text.startsWith(prefix)) { + m_currentItems.append(item); + item->setProposalMatch(text.length() == prefix.length() + ? AssistProposalItemInterface::ProposalMatch::Full + : AssistProposalItemInterface::ProposalMatch::Exact); + continue; + } + + if (text.startsWith(lowerPrefix, Qt::CaseInsensitive)) { + m_currentItems.append(item); + item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Prefix); + continue; + } + + if (checkInfix && text.contains(lowerPrefix, Qt::CaseInsensitive)) { + m_currentItems.append(item); + item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Infix); + continue; + } + + // Our fuzzy matcher can become unusably slow with certain inputs, so skip it + // if we'd become unresponsive. See QTCREATORBUG-25419. + if (timer.elapsed() > 100) + continue; + const QRegularExpressionMatch match = regExp.match(text); const bool hasPrefixMatch = match.capturedStart() == 0; - const bool hasInfixMatch = prefix.size() >= 3 && match.hasMatch(); - if (hasPrefixMatch || hasInfixMatch) { + const bool hasInfixMatch = checkInfix && match.hasMatch(); + if (hasPrefixMatch || hasInfixMatch) m_currentItems.append(item); - if (text.startsWith(prefix)) { - // Direct match - item->setProposalMatch(text.length() == prefix.length() - ? AssistProposalItemInterface::ProposalMatch::Full - : AssistProposalItemInterface::ProposalMatch::Exact); - continue; - } - - if (text.startsWith(lowerPrefix, Qt::CaseInsensitive)) - item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Prefix); - else if (text.contains(lowerPrefix, Qt::CaseInsensitive)) - item->setProposalMatch(AssistProposalItemInterface::ProposalMatch::Infix); - } } } From 24d88de2286c1296679e48821b5e236439bbd757 Mon Sep 17 00:00:00 2001 From: Miina Puuronen Date: Wed, 31 Mar 2021 13:48:52 +0300 Subject: [PATCH 31/35] QmlDesigner: Implement hiding component library categories Task-number: QDS-3822 Change-Id: I4e22385497c4e58725b7f7a62a4e4351d0b78661 Reviewed-by: Mahmoud Badri Reviewed-by: Thomas Hartmann --- .../itemLibraryQmlSources/ItemsView.qml | 67 +++++++++++++++++-- .../itemlibrarycategoriesmodel.cpp | 17 ++++- .../itemlibrary/itemlibrarycategoriesmodel.h | 1 + .../itemlibrary/itemlibrarycategory.cpp | 10 ++- .../itemlibrary/itemlibrarycategory.h | 6 +- .../itemlibrary/itemlibraryimport.cpp | 39 +++++++++-- .../itemlibrary/itemlibraryimport.h | 5 ++ .../itemlibrary/itemlibrarymodel.cpp | 43 ++++++++++++ .../components/itemlibrary/itemlibrarymodel.h | 13 ++++ 9 files changed, 187 insertions(+), 14 deletions(-) diff --git a/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemsView.qml b/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemsView.qml index 0c2f8136daf..7ae0892bf6f 100644 --- a/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemsView.qml +++ b/share/qtcreator/qmldesigner/itemLibraryQmlSources/ItemsView.qml @@ -78,11 +78,14 @@ ScrollView { property string importToRemove: "" property string importToAdd: "" + property var currentItem: null + property var currentCategory: null + property var currentImport: null // called from C++ to close context menu on focus out function closeContextMenu() { - importContextMenu.close() + moduleContextMenu.close() itemContextMenu.close() } @@ -107,25 +110,73 @@ ScrollView { 2 * cellVerticalMargin + cellVerticalSpacing StudioControls.Menu { - id: importContextMenu + id: moduleContextMenu StudioControls.MenuItem { text: qsTr("Remove Module") + visible: currentCategory === null + height: visible ? implicitHeight : 0 enabled: importToRemove !== "" onTriggered: rootView.removeImport(importToRemove) } - StudioControls.MenuSeparator {} + StudioControls.MenuSeparator { + visible: currentCategory === null + height: StudioTheme.Values.border + } StudioControls.MenuItem { text: qsTr("Expand All") + visible: currentCategory === null + height: visible ? implicitHeight : 0 onTriggered: itemLibraryModel.expandAll() } StudioControls.MenuItem { text: qsTr("Collapse All") + visible: currentCategory === null + height: visible ? implicitHeight : 0 onTriggered: itemLibraryModel.collapseAll() } + + StudioControls.MenuSeparator { + visible: currentCategory === null + height: StudioTheme.Values.border + } + + StudioControls.MenuItem { + text: qsTr("Hide Category") + visible: currentCategory + height: visible ? implicitHeight : 0 + onTriggered: { + itemLibraryModel.isAnyCategoryHidden = true + currentCategory.categoryVisible = false + } + } + + StudioControls.MenuSeparator { + visible: currentCategory + height: StudioTheme.Values.border + } + + StudioControls.MenuItem { + text: qsTr("Show Module Hidden Categories") + enabled: currentImport && !currentImport.importCatVisibleState + onTriggered: { + currentImport.importCatVisibleState = true + if (!itemLibraryModel.getIsAnyCategoryHidden()) + itemLibraryModel.isAnyCategoryHidden = false + } + } + + StudioControls.MenuItem { + text: qsTr("Show All Hidden Categories") + enabled: itemLibraryModel.isAnyCategoryHidden + onTriggered: { + itemLibraryModel.isAnyCategoryHidden = false + itemLibraryModel.showHiddenCategories() + } + } } StudioControls.Menu { @@ -166,11 +217,14 @@ ScrollView { } onShowContextMenu: { importToRemove = importRemovable ? importUrl : "" - importContextMenu.popup() + currentImport = model + currentCategory = null + moduleContextMenu.popup() } Column { spacing: 2 + property var currentImportModel: model // allows accessing the import model from inside the category section Repeater { model: categoryModel delegate: Section { @@ -188,6 +242,11 @@ ScrollView { expanded: categoryExpanded expandOnClick: false onToggleExpand: categoryExpanded = !categoryExpanded + onShowContextMenu: { + currentCategory = model + currentImport = parent.currentImportModel + moduleContextMenu.popup() + } Grid { id: itemGrid diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.cpp index 3176d1ebb70..a9a772c9533 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.cpp @@ -75,14 +75,18 @@ QVariant ItemLibraryCategoriesModel::data(const QModelIndex &index, int role) co bool ItemLibraryCategoriesModel::setData(const QModelIndex &index, const QVariant &value, int role) { - // currently only categoryExpanded property is updatable + // currently only categoryExpanded and categoryVisible properties is updatable if (index.isValid() && m_roleNames.contains(role)) { QVariant currValue = m_categoryList.at(index.row())->property(m_roleNames.value(role)); + if (currValue != value) { m_categoryList[index.row()]->setProperty(m_roleNames.value(role), value); if (m_roleNames.value(role) == "categoryExpanded") { ItemLibraryModel::saveExpandedState(value.toBool(), m_categoryList[index.row()]->categoryName()); + } else if (m_roleNames.value(role) == "categoryVisible") { + ItemLibraryModel::saveCategoryVisibleState(value.toBool(), + m_categoryList[index.row()]->categoryName()); } emit dataChanged(index, index, {role}); return true; @@ -139,6 +143,17 @@ void ItemLibraryCategoriesModel::resetModel() endResetModel(); } +void ItemLibraryCategoriesModel::showAllCategories(bool show) +{ + for (const auto &category : std::as_const(m_categoryList)) { + if (category->isCategoryVisible() != show) { + category->setCategoryVisible(show); + ItemLibraryModel::saveCategoryVisibleState(show, category->categoryName()); + } + } + emit dataChanged(index(0), index(m_categoryList.size() - 1), {m_roleNames.key("categoryVisible")}); +} + void ItemLibraryCategoriesModel::addRoleNames() { int role = 0; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.h index 982083569d0..276d47ac480 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategoriesmodel.h @@ -54,6 +54,7 @@ public: void sortCategorySections(); void resetModel(); + void showAllCategories(bool show = true); private: void addRoleNames(); diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategory.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategory.cpp index f55fd309219..5f46d1e1ce2 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategory.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategory.cpp @@ -87,6 +87,14 @@ bool ItemLibraryCategory::updateItemVisibility(const QString &searchText, bool * return hasVisibleItems; } +void ItemLibraryCategory::setCategoryVisible(bool isVisible) +{ + if (isVisible != m_isVisible) { + m_isVisible = isVisible; + emit categoryVisibilityChanged(); + } +} + bool ItemLibraryCategory::setVisible(bool isVisible) { if (isVisible != m_isVisible) { @@ -97,7 +105,7 @@ bool ItemLibraryCategory::setVisible(bool isVisible) return false; } -bool ItemLibraryCategory::isVisible() const +bool ItemLibraryCategory::isCategoryVisible() const { return m_isVisible; } diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategory.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategory.h index ad3f1579a00..1018402019f 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategory.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarycategory.h @@ -36,7 +36,7 @@ class ItemLibraryCategory : public QObject Q_OBJECT Q_PROPERTY(QString categoryName READ categoryName FINAL) - Q_PROPERTY(bool categoryVisible READ isVisible NOTIFY visibilityChanged FINAL) + Q_PROPERTY(bool categoryVisible READ isCategoryVisible WRITE setCategoryVisible NOTIFY categoryVisibilityChanged FINAL) Q_PROPERTY(bool categoryExpanded READ categoryExpanded WRITE setExpanded NOTIFY expandedChanged FINAL) Q_PROPERTY(QObject *itemModel READ itemModel NOTIFY itemModelChanged FINAL) @@ -52,8 +52,9 @@ public: bool updateItemVisibility(const QString &searchText, bool *changed); + void setCategoryVisible(bool isVisible); bool setVisible(bool isVisible); - bool isVisible() const; + bool isCategoryVisible() const; void sortItems(); @@ -63,6 +64,7 @@ signals: void itemModelChanged(); void visibilityChanged(); void expandedChanged(); + void categoryVisibilityChanged(); private: ItemLibraryItemsModel m_itemModel; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.cpp index 79acb29d58a..40892db07b3 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.cpp @@ -116,19 +116,28 @@ bool ItemLibraryImport::updateCategoryVisibility(const QString &searchText, bool *changed = false; for (const auto &category : m_categoryModel.categorySections()) { - bool categoryChanged = false; - bool hasVisibleItems = category->updateItemVisibility(searchText, &categoryChanged); - categoryChanged |= category->setVisible(hasVisibleItems); + category->setCategoryVisible(ItemLibraryModel::loadCategoryVisibleState(category->categoryName())); - *changed |= categoryChanged; + if (!searchText.isEmpty() || category->isCategoryVisible()) { + bool categoryChanged = false; + bool hasVisibleItems = category->updateItemVisibility(searchText, &categoryChanged); + categoryChanged |= category->setVisible(hasVisibleItems); - if (hasVisibleItems) - hasVisibleCategories = true; + *changed |= categoryChanged; + + if (hasVisibleItems) + hasVisibleCategories = true; + } } return hasVisibleCategories; } +void ItemLibraryImport::showAllCategories(bool show) +{ + m_categoryModel.showAllCategories(show); +} + Import ItemLibraryImport::importEntry() const { return m_import; @@ -235,4 +244,22 @@ void ItemLibraryImport::updateRemovable() } } +// returns true if all categories are visible, otherwise false +bool ItemLibraryImport::importCatVisibleState() const +{ + if (m_categoryModel.rowCount() > 0) { + for (ItemLibraryCategory *cat : m_categoryModel.categorySections()) { + if (!cat->isCategoryVisible()) + return false; + } + } + + return true; +} + +void ItemLibraryImport::setImportCatVisibleState(bool show) +{ + m_categoryModel.showAllCategories(show); +} + } // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.h index 3b860e488b5..81717439f9a 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibraryimport.h @@ -43,6 +43,7 @@ class ItemLibraryImport : public QObject Q_PROPERTY(bool importExpanded READ importExpanded WRITE setImportExpanded NOTIFY importExpandChanged FINAL) Q_PROPERTY(bool importRemovable READ importRemovable NOTIFY importRemovableChanged FINAL) Q_PROPERTY(bool importUnimported READ importUnimported FINAL) + Q_PROPERTY(bool importCatVisibleState READ importCatVisibleState WRITE setImportCatVisibleState NOTIFY importCatVisibleStateChanged FINAL) Q_PROPERTY(QObject *categoryModel READ categoryModel NOTIFY categoryModelChanged FINAL) public: @@ -64,6 +65,7 @@ public: bool importVisible() const; bool importUsed() const; bool importRemovable() const; + bool importCatVisibleState() const; bool hasCategories() const; bool hasSingleCategory() const; ItemLibraryCategory *getCategorySection(const QString &categoryName) const; @@ -75,7 +77,9 @@ public: void setImportUsed(bool importUsed); void sortCategorySections(); void setImportExpanded(bool expanded = true); + void setImportCatVisibleState(bool show); void expandCategories(bool expand = true); + void showAllCategories(bool show = true); static QString userComponentsTitle(); static QString quick3DAssetsTitle(); @@ -89,6 +93,7 @@ signals: void importUsedChanged(); void importExpandChanged(); void importRemovableChanged(); + void importCatVisibleStateChanged(); private: void updateRemovable(); diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp index 91a930b7831..ae7fc0bc496 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp @@ -59,6 +59,49 @@ bool ItemLibraryModel::loadExpandedState(const QString §ionName) return expandedStateHash.value(sectionName, true); } +void ItemLibraryModel::saveCategoryVisibleState(bool isVisible, const QString &categoryName) +{ + categoryVisibleStateHash.insert(categoryName, isVisible); +} + +bool ItemLibraryModel::loadCategoryVisibleState(const QString &categoryName) +{ + return categoryVisibleStateHash.value(categoryName, true); +} + +void ItemLibraryModel::showHiddenCategories() +{ + for (const QPointer &import : std::as_const(m_importList)) { + if (import->hasCategories()) + import->showAllCategories(true); + } + + categoryVisibleStateHash.clear(); +} + +bool ItemLibraryModel::getIsAnyCategoryHidden() const +{ + for (const bool &catState : std::as_const(categoryVisibleStateHash)) { + if (!catState) + return true; + } + + return false; +} + +bool ItemLibraryModel::isAnyCategoryHidden() const +{ + return m_isAnyCategoryHidden; +} + +void ItemLibraryModel::setIsAnyCategoryHidden(bool state) +{ + if (state != m_isAnyCategoryHidden) { + m_isAnyCategoryHidden = state; + emit isAnyCategoryHiddenChanged(); + } +} + void ItemLibraryModel::expandAll() { int i = 0; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h index 2412550a3a0..1bb9447bd73 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.h @@ -41,6 +41,7 @@ class ItemLibraryImport; class ItemLibraryModel : public QAbstractListModel { Q_OBJECT + Q_PROPERTY(bool isAnyCategoryHidden READ isAnyCategoryHidden WRITE setIsAnyCategoryHidden NOTIFY isAnyCategoryHiddenChanged FINAL) public: explicit ItemLibraryModel(QObject *parent = nullptr); @@ -62,15 +63,25 @@ public: void setSearchText(const QString &searchText); void setFlowMode(bool); + bool isAnyCategoryHidden() const; + void setIsAnyCategoryHidden(bool state); + static void registerQmlTypes(); static void saveExpandedState(bool expanded, const QString §ionName); static bool loadExpandedState(const QString §ionName); + static void saveCategoryVisibleState(bool isVisible, const QString &categoryName); + static bool loadCategoryVisibleState(const QString &categoryName); Q_INVOKABLE void expandAll(); Q_INVOKABLE void collapseAll(); + Q_INVOKABLE void showHiddenCategories(); + Q_INVOKABLE bool getIsAnyCategoryHidden() const; Import entryToImport(const ItemLibraryEntry &entry); +signals: + void isAnyCategoryHiddenChanged(); + private: void updateVisibility(bool *changed); void addRoleNames(); @@ -82,8 +93,10 @@ private: QString m_searchText; bool m_flowMode = false; + bool m_isAnyCategoryHidden = false; inline static QHash expandedStateHash; + inline static QHash categoryVisibleStateHash; }; } // namespace QmlDesigner From 65db684c7d7ba1e2e706f1cb247affd93d8edc81 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 8 Apr 2021 14:17:42 +0200 Subject: [PATCH 32/35] ProjectExplorer: (Re-)Add run config variables As for the build config, we provide a global variant for use by external tools, and one for use in the respective run configuration itself. Also hide the deprecated "CurrentRun" variant, which was forgotten in b55825a420. Fixes: QTCREATORBUG-25561 Change-Id: I51aaff10301f7ff1256abf1c09ac9f5be136ab00 Reviewed-by: Eike Ziller --- .../projectexplorer/projectexplorer.cpp | 39 +++++++++++++++++++ .../projectexplorer/runconfiguration.cpp | 18 +++++++++ src/plugins/projectexplorer/target.cpp | 8 ++-- 3 files changed, 61 insertions(+), 4 deletions(-) diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index c0ca9796673..616894fec3f 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -353,6 +353,12 @@ static BuildConfiguration *activeBuildConfiguration() return target ? target->activeBuildConfiguration() : nullptr; } +static RunConfiguration *activeRunConfiguration() +{ + const Target * const target = activeTarget(); + return target ? target->activeRunConfiguration() : nullptr; +} + static bool isTextFile(const QString &fileName) { return Utils::mimeTypeForFile(fileName).inherits( @@ -1912,6 +1918,39 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er return QString(); }); + expander->registerVariable("ActiveProject:RunConfig:Name", + tr("Name of the active project's active run configuration."), + []() -> QString { + if (const RunConfiguration * const rc = activeRunConfiguration()) + return rc->displayName(); + return QString(); + }); + expander->registerFileVariables("ActiveProject:RunConfig:Executable", + tr("The executable of the active project's active run configuration."), + []() -> QString { + if (const RunConfiguration * const rc = activeRunConfiguration()) + return rc->commandLine().executable().toString(); + return QString(); + }); + expander->registerPrefix("ActiveProject:RunConfig:Env", + tr("Variables in the environment of the active project's active run configuration."), + [](const QString &var) { + if (const RunConfiguration * const rc = activeRunConfiguration()) { + if (const auto envAspect = rc->aspect()) + return envAspect->environment().expandedValueForKey(var); + } + return QString(); + }); + expander->registerVariable("ActiveProject:RunConfig:WorkingDir", + tr("The working directory of the active project's active run configuration."), + [] { + if (const RunConfiguration * const rc = activeRunConfiguration()) { + if (const auto wdAspect = rc->aspect()) + return wdAspect->workingDirectory(rc->macroExpander()).toString(); + } + return QString(); + }); + const auto fileHandler = [] { return SessionManager::sessionNameToFileName(SessionManager::activeSession()).toString(); }; diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 539cf2c8a87..55c89d0932c 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -188,6 +188,24 @@ RunConfiguration::RunConfiguration(Target *target, Utils::Id id) BuildConfiguration *bc = target->activeBuildConfiguration(); return bc ? bc->macroExpander() : target->macroExpander(); }); + m_expander.registerPrefix("RunConfig:Env", tr("Variables in the run environment"), + [this](const QString &var) { + const auto envAspect = aspect(); + return envAspect ? envAspect->environment().expandedValueForKey(var) : QString(); + }); + m_expander.registerVariable("RunConfig:WorkingDir", + tr("The run configuration's working directory"), + [this] { + const auto wdAspect = aspect(); + return wdAspect ? wdAspect->workingDirectory(&m_expander).toString() : QString(); + }); + m_expander.registerVariable("RunConfig:Name", tr("The run configuration's name."), + [this] { return displayName(); }); + m_expander.registerFileVariables("RunConfig:Executable", + tr("The run configuration's executable."), + [this] { return commandLine().executable().toString(); }); + + m_commandLineGetter = [this] { FilePath executable; if (const auto executableAspect = aspect()) diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index 967077ffd31..f2d79dec958 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -174,14 +174,14 @@ Target::Target(Project *project, Kit *k, _constructor_tag) : if (RunConfiguration * const rc = activeRunConfiguration()) return rc->displayName(); return QString(); - }); + }, false); d->m_macroExpander.registerFileVariables("CurrentRun:Executable", tr("The currently active run configuration's executable (if applicable)."), [this]() -> QString { if (RunConfiguration * const rc = activeRunConfiguration()) return rc->commandLine().executable().toString(); return QString(); - }); + }, false); d->m_macroExpander.registerPrefix("CurrentRun:Env", tr("Variables in the current run environment."), [this](const QString &var) { if (RunConfiguration * const rc = activeRunConfiguration()) { @@ -189,7 +189,7 @@ Target::Target(Project *project, Kit *k, _constructor_tag) : return envAspect->environment().expandedValueForKey(var); } return QString(); - }); + }, false); d->m_macroExpander.registerVariable("CurrentRun:WorkingDir", tr("The currently active run configuration's working directory."), [this] { @@ -198,7 +198,7 @@ Target::Target(Project *project, Kit *k, _constructor_tag) : return wdAspect->workingDirectory(&d->m_macroExpander).toString(); } return QString(); - }); + }, false); } Target::~Target() From 74c1e6ae6d9fedad155d83d6b6040238a301a770 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 8 Apr 2021 16:58:37 +0200 Subject: [PATCH 33/35] Doc: Describe running apps as root user on Linux Task-number: QTCREATORBUG-25162 Change-Id: I5db639a3cb77e1b2504b38cfda739e6892722a19 Reviewed-by: Christian Kandeler --- .../creator-only/creator-projects-settings-run-desktop.qdocinc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc index 732090a5238..aab400abda4 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc @@ -61,6 +61,9 @@ linked frameworks, such as the Qt framework itself. You do not need this option for debugging your application code. + On Linux, select the \uicontrol {Run as root user} check box to run the + application with root user permissions. + You can also create custom executable run configurations where you can set the executable to be run. For more information, see \l{Specifying a Custom Executable to Run}. From 24eb796231b7b3a01a801579ec81068102efb7ac Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Thu, 8 Apr 2021 14:57:57 +0200 Subject: [PATCH 34/35] CppEditor: Fix "Add Definition" quickfix for function parameters ... whose type is a template. Fixes: QTCREATORBUG-25560 Change-Id: I1d626f9376e8802a87ca1a28099932ccbf744d47 Reviewed-by: Christian Stenger --- src/libs/cplusplus/TypePrettyPrinter.cpp | 1 + src/plugins/cppeditor/cppquickfix_test.cpp | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libs/cplusplus/TypePrettyPrinter.cpp b/src/libs/cplusplus/TypePrettyPrinter.cpp index c85444a2287..871bb3a87f5 100644 --- a/src/libs/cplusplus/TypePrettyPrinter.cpp +++ b/src/libs/cplusplus/TypePrettyPrinter.cpp @@ -462,6 +462,7 @@ void TypePrettyPrinter::visit(Function *type) argumentText.showReturnTypes = true; argumentText.showArgumentNames = false; argumentText.showFunctionSignatures = true; + argumentText.showTemplateParameters = _overview->showTemplateParameters; _text += QLatin1Char('('); diff --git a/src/plugins/cppeditor/cppquickfix_test.cpp b/src/plugins/cppeditor/cppquickfix_test.cpp index 37ca090f7ea..0fcbe92e985 100644 --- a/src/plugins/cppeditor/cppquickfix_test.cpp +++ b/src/plugins/cppeditor/cppquickfix_test.cpp @@ -3839,7 +3839,7 @@ void CppEditorPlugin::test_quickfix_InsertDefFromDecl_headerSource_basic2() QByteArray expected; // Header File - original = "void f()@;\n"; + original = "void f(const std::vector &v)@;\n"; expected = original; testDocuments << QuickFixTestDocument::create("file.h", original, expected); @@ -3854,7 +3854,7 @@ void CppEditorPlugin::test_quickfix_InsertDefFromDecl_headerSource_basic2() "\n" "int x;\n" "\n" - "void f()\n" + "void f(const std::vector &v)\n" "{\n" "\n" "}\n" From 8413d6d58569b5ed02ca4778fbc2ff568e7b1f0a Mon Sep 17 00:00:00 2001 From: Tuomo Pelkonen Date: Thu, 8 Apr 2021 15:52:15 +0300 Subject: [PATCH 35/35] QmlDesigner: change default text location to TopLeftCorner Changed FormEditorFlowDecisionItem's default text location from TopRightCorner to TopLeftCorner Task-number: QDS-2508 Change-Id: I6c95ab859e7d82d94399d5249c027f5e772eb9d7 Reviewed-by: Thomas Hartmann --- .../qmldesigner/components/formeditor/formeditoritem.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp index ac9fbab89e3..6fac0dd0c36 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp @@ -2046,7 +2046,7 @@ void FormEditorFlowDecisionItem::updateGeometry() QRectF textRect(0, 0, 100, 20); - Qt::Corner corner = Qt::TopRightCorner; + Qt::Corner corner = Qt::TopLeftCorner; if (qmlItemNode().modelNode().hasAuxiliaryData("dialogLabelPosition")) corner = qmlItemNode().modelNode().auxiliaryData("dialogLabelPosition").value(); @@ -2191,7 +2191,7 @@ void FormEditorFlowDecisionItem::paint(QPainter *painter, const QStyleOptionGrap QRectF textRect(0, 0, 100, 20); - Qt::Corner corner = Qt::TopRightCorner; + Qt::Corner corner = Qt::TopLeftCorner; if (qmlItemNode().modelNode().hasAuxiliaryData("dialogLabelPosition")) corner = qmlItemNode().modelNode().auxiliaryData("dialogLabelPosition").value();

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 B`Huhq diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-pass.png b/doc/qtdesignstudio/images/studio-qtquick-3d-pass.png index 572ff78a086480d8b267ccae61d68179852c28ff..582481f1971f3eef39452fd7910619e1db739a15 100644 GIT binary patch literal 5215 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 GLK6UEJ}}Mz literal 10916 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 diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-shader-custom-material.png b/doc/qtdesignstudio/images/studio-qtquick-3d-shader-custom-material.png new file mode 100644 index 0000000000000000000000000000000000000000..cd015db9cd3405c1274919cfcb8f72e13afbbd09 GIT binary patch literal 3784 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 L>gTe~DWM4f=Qtud literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-shader-effect.png b/doc/qtdesignstudio/images/studio-qtquick-3d-shader-effect.png new file mode 100644 index 0000000000000000000000000000000000000000..995a7f5c4656f297e6c00c936ca01e3325d41823 GIT binary patch literal 3309 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 SPG?|XVDNPHb6Mw<&;$Vc@@VA% literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-qtquick-3d-shader-info.png b/doc/qtdesignstudio/images/studio-qtquick-3d-shader-info.png index 7e1667f16d6d63f2984ec55a2b4f3e43a4a07aeb..ab03546b2d0e2423901f4e7c85a1c4062463c8bf 100644 GIT binary patch literal 5037 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 literal 10355 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 literal 10855 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 dCQ$hQ$vj^3 zUtY0dg@c2`|Ns9J6BCU>XBd_3o)KzPSy{Qe%xKD#DUp$pyJv)k&e$DdWMt%AotBms z8ymZO_wLZp(A~Rd=kZTDo*;M@NU&^ct)5RYu0vj^(?xR-D{Dqs-OKUCejZ<;Gxxxq8`F%uJM?Xhd@YRZ3$_>;l^KSH8r!)p zTD0ii!KN8yrSTRnvF4?P9MRXrhkk*==+EaF3SyQ*Z zFZ<4#tV;{iV_eKMG&F8qJNx3wWUaYf`k^UW*+eR$L6jfb`_(`cBl zUEf+Zqw?Ua48P!bQ`ey75C87oeMfih#U%&N_OCl0-LU8S*&VyCt^WIPxlPd$t@X2Z z?=G_o$!^YwE%SF5GqAXN`O1-pXAU3SvGmx&_KxX3dDAMZCTe#V9_olJNsrJ>v3v3O z?vrmfZ$CVjG4tTj=X)9!@7_COx^Y1N{#DIoVbS^P@4vWt=+2B87mxQXozN|pSudp> zEt9@2ZOY=%&>1G76YZ0GV^g!&v_|LKMtuKyU#j8qtmRuaE}JElJ}b3iqCs}IlyCIZ zd0QlWYl18j%UrDks@KJMmnf#(R$*We4)%0$45_&FW_GnlaH7b8^I?)Mj&4C~j!S)U zU!7swA-Yjx&DCeSo-S4>O1Zcw#x1Kglm9h;^-SA4D<+iKUg!|B)K=~J*U^jD#&d7)Ev+j!Z+riz%MtnKcg~+?$zA?pvEw4nS3#ont5x>Ym~4pg z7ca3_byR-2EAH(5j&&RMSqSZX!z9xtc;MUW@}L{G>*DvEM@X3CQ^=9RKHHY?UZ}6 zbYo(~TT}Dwx9^@vt-UVo@oclZ{Ec-_x^Em>?3VH(HAUAXD#Cv%uk*yjX-3??H(lHH z!r;vMg@La>{_4=1G*SD*uA??Q*B+fTaN42HBwISoXy-bSsw)=yuMg^6tImDF6>^3&o&fYcq9i+u>Wq!IRbY6Oewvj{*+u8Z0Q_HOSKpr1y~Sh zQP;tzMhExzCtlI`!G7aJp`RXu?7?5A@{5|bS}@FAYV!7^A&2X;*6PUsuTq!6nDy!~b86 z4?l5<=cb#k=AkE1`_HSak%`}1TKcokx2`@mJNMM(t+n4bUdmKHQ274NT>q&$PUk*b zvrmt>-?PV{dU?Q0hKpCPo~RR?Jl9q9Xj$-{_B%EvtaiHQC(YJPogMU2iy`OfjVHQV znr~)?2L>*xiS6tTGt;}l>dn7KqG11|qbJp$@3St=xNE6vz(p<|Soip|0v^5@DYknloxWW+IwROpoCudTPJ5MioEOAXnYW}V~ z-8Jg6Y)(E=ds(E!&nO+95SrBWwfk(@_e)n-n%(w|{qfE#hv7uYvta()oq9zVOFGQs zw@uu&+@P@ke!RoC8(r78-aYwr;?EnYCRwgFb6-3>)5`zok>4AM`E^EbpB_}znPzwP z)TvnpGp--i60n|hsfuGyy!5-9M@yD&yXLCZ`loHl>V^CE-AkSHQYj?VLf&!u!xaj> zS6{yCvakF7?X9N!FQy&m)}2b-Sn~B^3(MZV>#A3h+rPd!(D+?HR@S!Ug>USS$q(I% z*-Wo{U4OKPr?8oGk@g||Sf9y@Z?LZoys2f4%nK%q1im+YQ zQePGrIOp=qFOl7r>d%>X>IJEbZd2r1q@CWpqerMO z?AtbF)K2_XA$@U&-P=OF)ebomOIqt!2f8jks1WDEx!POWL4W#cuYIeG97R|D>DyG& zm~7Mg_?Yw64ZJF;f-!Dow-v4=b6>t{*rE4y&#a;t?gRA=UvIj~mP{yNedz>ExGoNF z|C_M9UDCeGF?JObR1lP=fAaD!Vp551(2%>bR4ZWmDu>urOrpGjeoE?)mmTDLO)Y4N@7>?-XMfir#eo zI>B~{Tf)U(?U(Ei^VFU)X;SEV@n`4p-OmKtMKfUnG~w*`mpakL|NdSM_}?1z;F5xY&r!d(CYI_-ENtP?209Tv z{7iBizLYp=ZSR9{9R_ z>aQ~!4y<2n>Yb;o!f|jV*Wyrj*6$0>JyO}R%C9J9^Rg>D4v0t`*<<40v^D7Qfm5mB z*Q<0}^EYi~EswZs{>)*Dz=i75N;22qXqc{>b?*Ay{NvZ{-`QMdn51T>xBudT&Fl7k zD_F8+(Ra6#1&3W$GgL^2pUM0jwbOE~$d0UCY^B#$bDZG+>Vbb}e!7}0 z?bEn3lQp65=`?1BUWIoFJ3{!Rwr^~;ymV~X7Wj78>gw9q#qWw&UFBQ(@B`x%h065D%|NhkX+(pZNE?TT4m*ZahxUi?& zO@X^-^-9?yE$=D42V@FY#wmMPCmg%-u_dV0+DQBt>mH7Id!xCpUjI7Z`p=Wn|3+8z z3v>^Z-w>JWCb{J)XD2V`4xbi5fr71Xdovw!&$anE_L-9qARxq2Sur2ZC=DZeYeq4IF*M_GPnk^T_nwnQT2+H68Xc@r0vd~k{BeX)D=lbpnYq`pzJ-uua(u%1`B@cb#^mKgXVzsvK*UwSdafHK6Qfk(*?KXYa4c)nz zA79#S^C39qj4EgN*IQ9Dly@W?Zo6+?7P>!(F=EjV_WcRJZfsrOpwh3lVWM0VhofOj zsgUuUk~dC%f4A@D5${ac;j?pf-?~?;Qu{cM>v0!O>rsuF#66csa@`_5pKL#$HqB`& z*_PLZPhalZv81hb#S-;Qt(dcQ@&_f2o~}CabJH&MGMR~crvF^o%pl?%vAl8Nn|TrD zrmB4v-4>$nmhCvg(Y9J^&Eftq1NRWU*jb*>j>&xDPCO>0CsXKGvT(ngV0dkKcG|Nf z#pOZ&mP=`-NbuPytX8_aSM$$>fQ!;O*;kz|E_MsryOH<$8vVj6Q?nf(|8&u#} z&WlAy>X4P~PO%*6&Vb-Y9sg_vmkT>v9WF~br&J&2;&w`_0TSpcY7Sz_KQ_-*M-n|W;-3r{u_S$;S=&=jgGwg zZ{C=K*LTja?R?pxpLv_HXi7`BH`}8fDXM+1t*c8Mm>3us6khy)UB*&%P&8J1S6Io~ z7f~0tF3NVj-n9;^K+^V}P?eU28owU!Y96|w;=$CkIH^lf$jOS!#T=~v|2cPyRz53L(; zXQqOXq1lSeD5Znq8Rjg95Ao{MFkYT&?OXEPyX0zX-rXGqSC<}}Dm__k-J4_XAI?~Q z=i^nrV-#^H@fr7nw+CvB)9W0b-7}m2`9W1t@T-j+0SuI=0U?uh;rJ+3-wcJ$e|x3_Pf z9X;Fg`|owH4^O?Sawg>Fj`?Tr-Cx0BoN5~R^x?m-=BYAzVMRM4PCiUhZSTgxS!xlp zG|0U}@Q!}wlg^#4ZcA=0WZ&-kE9z*lrTFP0!o3B0meQjZT z-(CNEO0`%21ii0XyD2@TVd@3uJr8Qy_}A**YS~dYuQPGy`-8JuxSL;_tQK%sbFrgM#W7yF0D?VCQYGs||a_*EVmQKJhA{oFGbte<(#tm)hrHud9s&pFjz4Q9~E zPn&Su>%qe5opA=C%nmMQitB84*u1X3)F;N)oBl}ZLe!&%A1|BM1usi%c)j7vvn}(^ z@y7k;{le&C5p8vj_v`lqIm%m;7CvsOeW`gUHEja_borU*Tf42o|9{!*#1>VUc)@}# z+{EIX5EreH+&4(p>yiu)$GK_3kxErEM9&6&@tzSn>5_R*SGez zA4(1ETNlSI&EI-@kxcAfF*7+NgJu_%sAoSUSsP*d5C2`uhU$^EcIyH+t1R+)kYtCMW*%fWxcMhLvG0+C96ZP8jIz*FL;MZvktZ%C#8n ze(kG2cKT0@e(W#a+L^dPU}^f>(gl0j8}Tc<3v?vIMz4$Bzr#k1aTe>J13b!FH=?=x?Lb{N>6e%R$X(egl~dzSegZ>nBV5 zo$NRI_f3??+EVrNKCR2jq*7tI(K4Ev(rN3ZN8n4 zO^<$k{NTaO)$VVf3lvA*oBn-uN{w8~5tokqAIV!B+a(ufiu7x*3pdd?$JTyzS<0>O zqqT0!#V!{FPHpCQdUz@^+DB&n$?1xF*gx2aJeu@TPI=Y^s9yi4C#S56X-f#0!^^kY z_vDK8ZQOam1s9DSZ?Eq!Oq@NBYmddcL+igeE@P9ul6i> z?ekiQaSgXta_uaeKrb!*@2LeX|0A0s_OITR-Qu0MwrGp~>4S`K&s_WK#1f75dB&}mKcO>!X63V)=WX7f z|8(YI_WP#p^~@>h0 z0yG=yRt4pr{pv09YWD40J-SlIR_$B&Chzk9TYcLf-?+;kx~iztFSVZk@zfw~kyq10 z!fw648*%me)VouE#ZO~K55?n=vfH=JL50Eb1u)8eYH7UxBuR*(yO1BT`F9DaPDLd zrU_rQmhOA)W@5Bx!Zw9N$ys4bZOT~z8sw&ZYz^ltr|8*B zx2>psw?ivb^Ls@6`g<#j=9|^uD7z_}l@oA!#qqU~!gIcNC@|by7gTo9@YE^96(Jx%{YGSOs zqv^HM#4^!y^A6h0ej$;4>weW<-Nic`VmsFdRqfw%Rwne?v^%@c=;qG)XQ} zKL^u<(^^;8v?}UmY*AeoRCRji*+0M6ReQdkZ<=j*S7*)HCKkiBQ{U;im3+{?B^kQA zY3kH>p=%FsbP2t0_I%;FLpv7+d2exF)^%mlsg}@Fh3}6Ag}nQ!T0U`oboDxj@xofE z^RqU1Ow`hxI`x`w=ZYz=Ph@tb>bY8nXI=Mvo$bQxYxaHV7e#&J*-P$89M10MTXZXY zaV+cBgYN@0pKrXmH0YbASGUN@RTr zRx{&m%4r*)kfmC$@1Cp)`*|sS)0vGj$#IL;p5+LBcHgX+<3z_Jv%6>Prf%w(;<}7y z?^WjAwWS+#vrS%f$3?nXzFjoI)oAInV^_?hrKP7OS|wLpm$|W~|Jfha_ix4x?4*~tbUUdzSGMXR6AxFVI6ockn9>h5Zc-PoMk~jC=~qwE>z83@`W>1TipxGByK< zap8VQ*G)?Xh7PkO< zEp*k6nu}ec+G4sv<>J#cTy) z)HttGFXpbic@*TSFLS*Z8Ngl!6>LZ$0QN-6Opxps$&)KZ7#JLmIWA>jV3^9pz~BI5 zyx^V|J{9Eo30t*H&#eq{b#-NBWvxtblnIK6c=6oDrfvNPOO}5R9FjLWFJ0nvdcSe{ zxjlbAonFr%TG(pg@^5|8S<80<4aYx-+O;Rh%gks=>)pC?O2%%Byl**g?Vq#C7Iy4# zo%8scg52ToA2Lk!1qqMN%$wks5gK|`r9d%H@c9ng4zT6}@-jz)G+(v{mEP%y{BaVDEn#+*jki}-@WekX=J;@sQOi~2K===t`HO>gt_=G8?Ck6Z&0)*c zc|4Bj)&(;3Kh&<_J7{O&vEEBJVnfl>Cf1YhKIy!T4D)-mS>1DzrFYa~hh4VU<}0OD z)h?Zrl)A{zXTcpN;oQ=vzieNJ>uu0^@cBTkTuO(-(oMljpPic<{j51``RSy<>$mRR z3Q;%Ny3H)~blWSnx9gAVv0rWaoU*pG?)m!FtM$5_zg*gPY}dK>-8+uzbERxO{>VyE zaFUJZx?f(F?sKOEYlWBo*?sN%?(;diiC3;!z2+4DsBY(f_PJ+kM~T3N=4O}BR|!l% zt{!@&w)B_h)Xe<+P_2!{(?7Y_r@x-Hr97gVbBfjat5uH$a`&g}UiW(a`zg;Y>BaN( zsxnh|7Yb%q{>?cinjH3uWwFDx$}_*t-N?V9vv|(gwZpCqj=y=hd+)yp|I~R) zW4mWu-0OGV;@piT^ERw}CzgD0#e|E?Q)jfF5B^$tNb%6K%IFszvJq$Y&O6Tb?SVq9 zR_f~FPdlclUwx9(ICFQ;uO;syf-P?54 zre@xx^N-s*cCFZZ@wKb7dv$Q>o&%5Svf>h#Pv_@LT6raPdTiLM=CDrhzk%{S8yDFX z6i+^`_f#>uFDQKO(OXxK1%LVT_Lkzg)0xYQ=3Kb*_QpGn^>MDbACK(V98}mHFLENS z|7Mx@ZNCZMGIl>@dbPi^dXxR{QzgNxqt4d6>fd?u_Zhdu#Vtm2LSu9HH?Fw3$~yY1 zdy+B#{N+zRKXGb_ykpb+eCFI^H|9mniWBpg?sapu_v-Ym-S4~>_?;G8`)~L8_aCpR zuL+e#WtWd7v=O>+DS9Co7O49+YQSgnZC4<%>De$Ml08lF=P?rp_|W77IPz z3(8Ut3~O4?E8bvd->0SeKRYEg_34+Fmsi?`9Z`HFw*No3C@kZD2wjaTRv#Sh``ug}08dGVMV4QkKHVy1F{K2!Zw^D?A~E%b$ad>p_Jks89q~ z8>oz%D}yHO*N>k$QRS7}9j99w3=V3cUMgPy=2{j%dpbS7jx|D{y(7A-yW3Qpk->p2 z#A_F~Q1?@IfztTnf$Z7rXF3iZtLEyEB!LE za&uQrx};9wu3Ih&)?;bfQd^pwz+6(<#0-4r)(Smb&&(6?)z%T>GbMypu%ultY1 z{j~^B+-m=PzbwevQB!xl*>u{g_Cm_aEApYDJ))sY-^^ab8tNMG&y4fZ^UQE=$=0cU zp{u*L9gfJqetIXDhLy1Cfj!GMz6!rlUCndE5@hwdRZ~naXcv2yF16EInmr>n=1zU= ztLHWcDr4oRc7@)!TmkZ;cWBnRIhLw+8Cs!2-2sd5*-y;#PxiPOw3_GRR(ti?_IAgDao!*PF@@tb!}_&6xk@p(z|!o&AERgNq50Ko2UzSvgch}z2SXXJ;d&J ztEO~zOxDx+%L%gNu$JonKeqSSeU~0nKk?`1A0u>l(csUY*z?mV2}*cWME(bH6p;7x=Rj#H)9{JD1b!k&YT)8x&vYCK==nD|p}H<$bLA8%io zRyt3eZ!9zCqq|8(MxCSMKY_y&5*K@)Qk&A_^=?{wpN##&HE)_8I$ug%^0S9)O6$kP zpV&X=F*<~;45|CMY3+JhtGaEASFe7&`fz>q$90iMH z+x%Zk>UVrzrF4B=)9LM*yW6VUo?X(;kKX_Mdj6iT)A#TF8&>h&ncKVl)V0p+L-S?- z#ymWcKL5{a`ThSd?pp07bFez(>aKWMo3dq_H*bD?=A^RxpN}6|m4&`E{r|h{(1efI zb86lmo-7-CH+JrGKiR)O>g&JV)!b!1%XW{T^9!w4{ByeJ+^B#3w0i{CGw*jIk-yv(GCO8qXq|Npev@BQ)(KHHoij zSLbO>E&ura{yU5ES3ktv{pY>zb5Tm?TeCak#RAUl`~QV5dED*%e$VG~2l@NvycE*@ zx9{VoLoX7Q#ozu5=$dc+=bZHVH}~c19v{f=Kd0|=fxqtiY@y`*Uq=HszWZ?hcKolG z=j-qOdlvt1`Pa6MtK?4Ts;>CWd+;z0I#T=fA)I|MT8*sjRgAO)Ekks&18@e`nXykGF#tCHww#Rp#0< z(daE#{F~i%J;9bnt8f4R$=lD~QxbO_nz?;VebVQ) z>T7ql|81Rbzd!Y==;dcuP0ap3SsMT6#YbuVO;sd_IrLt<-_Ug-_&QmZ<{5#xa6|?*&U^y{lB$;e}DUS*@nXb zD-)kyzxKZ3;nTnRw!8m5o4I)EB-hPhcKb?SFS8aqA6;~RGQX~zZ2VF$vD@#j)VR5t zO)dJ7u5-A7LBJvYlwwGss+Y#zw^xHFzH9D3e<|Jj*!8_dMwh<+TgRJwd{?#7#Ch-D z&0GJk!vE+4i>KT5V$^uQ=;iK?dUodhHNQ(sSNvQhI643STh5olUrS0)I6QnPKCS;^ zS?!kJuO406_4l}Pti0Xt_{DFN!w#R<7S!6e^>O`q&(r@6EjRiuO%ZvmX?ghL^nA&5 z8KZa8ru)0>x_{s3y47dnPqXFPdiN&Ye<*i#PO)sPt?d6B1#egV{q|e7{_#Hl-O9GI z@wJt^HmhIydhp%R#a|-yTdl0Erpm>+>|K0L@8-3i@1|*aug`rn>-xSPmtFq*w%5OY zwOYIDvyRr%n8m@iZhJKY|JKj@`Rd5W#mD_hJ+^WTK47qp}UqSotZ1^wNhDMPhL2FsaN=|_a!ra_ULFm z{d9g!O`HV-N6L}&BCA|fyykwZc%Ad)&irekQn^2to|o_Z@~8Uyp^vwATv)uBi<_&B zuP?gp<=3D+xAoYBeW%Xa^=td`l#0CK(89QT0-m`Ni~4`mZrT3r*|h(!yJYz9o1MHE zr5}Cu-_ms~$M4rXF?!l=@kVQ^{p*j-cPCC>e=jUeX3@L%Rq20w6#b?aNrV}uf41MP zEWbbEckiUn$9tqKt9qXBiQIm-J?Crw{+>C1-@B)Y@JQ7i-S&N#(){qT+`Fhi{_UB)CYqpD@ z$@p=3=ZTl*@8+mPYD`KBwAfSeIBj$3zWnUi2PSJ&wycW#aqnBWy_NdkmRfDSj@#3_t%#eetdE6LVZ{#ewc zY5vyk!+YU$t0Tf*^WVH}>;AlDwS48n+lzbC8e>-ETywj5qx9L2iHFkC&YU;6uQ zS>(@IUOS)f5}G;v(!4d(y?8%;;Ae0M(3&c8^t#P&PnDuKskV}9HoQ9deG8x0#_e7| zr>@^q^}Sxn_I>``=WBy{>tFZC)V@6SSyrp`$ARMC|J>bP+TGY%FeN^J{hxK_=QS=? zSIzTX+7=h_zdiU{<;q9d-%p5KyBL4R#0n}7KwnppW|&8Ra}pI z5TdzrrMI(n%5(AccAwT-PQUW@cTCIciQS*u;y&H5-&IoX8tQeo;>X$a?RG0Sm1bZ5 z)MaBoRm$dT-OHxA{~qs+VqafTxZ1`vwp2JklmGvRLyQh?Az2q*=Smyz5wc+}{Ul zYLBdU@oluIelazd|N8y^AAW7UdTdX~=|h)Rm&v{AtNGggTW?E=Yu75dKNpLw%}v); zf0!uyR=)IvYTeJd8>8Z1t!{q!e184M@cqA^Z}fXv_2=_RZJm#mZ+h*mFA2Z2`!!vB zyNTVO6Tj5U%+~K+bK>*{PxHLHo0Eetf0z69&vzOONTq{eQgod`{f|54%dG=hsK4J@MPSv8-reyVuz`6)CBoU!JnB zkFGoY>%L51iQFBt`X>uM=L;O{n)B;-|MmL%;?uAHU)rR8Zhzd(iZ2J&wO_lp@!PuU z_w`TuR_jSTSsv8freEu~jgBv7IsWb(|Gb^6GCs8I`a8e8{QvWv zOD~GN2<)DH|NkoQ{Vx8;)pNg}(YR71R28yo_wI9Z|NJ<>pRK=%-<5Y}#pQeD`%R3b zm1O^K-@EI?;SDE6%lB8F(zsIjhM%{%YtDD;iaX}zduoHMgRgI7mUdqJrEv4Q`jzwR zeWO0#I(ecqJb$(VyWXv@f#Kh)!=}!v`Mo-R&g*M$-`mx`Sbl%+28U-$d!oZaUwuAt z)85{uwj|@U_42E8y84pm*OaZ={rp03C~LFZne3|9Ema@S3A_83cnLjStJ=(^x9{_H z`ErR!>ACaY?*7QMR(;9rCpBxXO5d}&v+(wXuTKxk-;Y`-ov}Okv!tkh{gd^wciZE4 zyt8?Epz;ShgMzcx(msKw{W9i-myVk6|KM5vZl`cji3DsM&v z*?nv}wD4!EvKx=Q8nc)4r|!0XjWgGa?zHjjPk1!tWa{(&fa|)u*|eX!i#&a9sTWw| zcymfu7w2={%jHj=ii?Tz%G>Q(u_7bli@0pelYR;7M6aVyI3K(5N+(6VHpsc~K=H6! zukLJ{onQ7myr}5={4bxbT)f@VnmZiHcdM+O+j->`PdAtTZWn)Qy=O|eLD8BU_Dhfa zF>P05eWqCSgCp5;{f9l9I+rGMwVzO2?4>qUg#TKOT&Pv*ryqhpCrzyaa(-6%irACSoJk)V{Uhs&WTkyQ(}V}wu_(s9eiZZmrLH}d3ScCpP%>k z_V)YL@ArnsRjO)DRhu6k9&Z2P0Q2o_x!Jk7S9SLM{dRkE{L)_vT8n}@i_V%}-?C-P zm220+LPC6Io1NX_E0z*!c1llE;b=wmMw{izX{o7CYro$ue?GU|>*%$pQ`h6`|E`PO zZ4&%`|NlD81~1mvpIf=bcj=y~oBC=t$f3951mg8$ca_XL_2=j3qh`60Vkx1~)0l#E zCdi3ylsj!KRPNGfmUAPa?{-Z2-O^hN&bo@nmRyf5_gwC^&Hmqy$Bvw$cGoj^Aw6Un6y8paANk_R>p3lCvCUQfq8` znGtq=)7!Uab>}Bnx+y(7DjvV4RVce=%C-$93*YVgoyR#hsv>G%&Chdlt(_MJh^-1a z_w!C6_w~5yw@XYW7Y9xh-2cO4Q`Z@muFFgLwRu@0XIK_5`zEo4U3v8;h22XUbUYF* zTP6zVoZop-eP-VzzV;T;*KTVkaohhm$e*|4A)D_py*(eCX1+~7qF*p|mR)U?--?iU zH&?emlV0?w_sJac;F$LO&Wp>J{q1#+d7SsG@_u$Kzvi)Y+N%}?XY-WOUBxX-TL&*K23{@rdv&Tl+r` z`BNA8xBb{MZ}OE7TeGictrV8J^qOnQRsY=1UX9f}hrOzHZPU8X?4e%4Y}F&TF7wOCZ|QM=dZZ)X?03xUqcd%*x1~+`Q8TOY$DPCvzUFtQ*e+i4xBiH~ z8~?JKkz2DwZwhDDRu`Xs9x+dF>ZJAMXWvIHxv3|snSI`KSLCIevz9FLyHj{vcGB1B zty)uy?Zmg}_p+Rvv*la%Q)!0FQ9l=Gt+=0{T)jyC+o|8~YF3ZaBILw9yC*!`!&0^R zxk~)ksOYnktP~yHwPidm9C;qR+;8fK+;dJdZ!gtM@N?(s51RR{zInZJQOJ9~`rf~v z-#&4BM%X!oc-8$nA@gFgrQGM|sY|P73)^f`uw@9*ia4#h?EDNv=i7SCtDlug#$07_ z`21&zW-wb+h|5x;*7(^+KQ#uNH(faC-lWXge?)d&Yni_7!=}{JPp<#@vGrzxuDD>; zkB9Bg&&*7AtABkx@X@!`>vo;`v+&Ek|7N25&2G=XANTJ$pN>4o*BIxjz(xK>r&N+_ zh1{C6>K=aXIsE_5#q-%h|GAZ>2^+3_{$r2+Vx|9!Z6Jl&v~+zEi@?fTI{d9!PK^J; z1AoYzh7^mH4%4o0X^ED~3Q0O0vSQ&<#g_9MWu`u=Ot75xec@A6U0qW%%}Y}>LM|`p zn)YXEJdc3nZqF+^GGSuQ$HLaO6nXS+(p#9{Z5Aai=7jpfv!De5_2X7POOTs0x=Mq$V6 zDF|n+nr7|xXU?SLyj+f*A*Vu&LbzZKo~0um7`V&3s^4>oTQs-!;qqT=rd(RM%Frro zRm{rNL$kCN21U%DW8oM+_1>>Ld#u-rsfK>8mMvgf zp?lJ9?wVlDyUoWYSsEqyhHqW6(M|f|vy7%`;;(fUKR;-8#YE-al^0XJEc1@cTf4ev zM$6Th*kr{gh5c@6`LjZ_BDnv~n_F~if~m6Q*Bz7jnq|Kp*(5!lMP5z9s*vW*NxzN@oSqz7^X60Rg-}(7shj3l)SWfo&+GBb z*Jr(#ulE6GZ$vHN1WOb-1}>d z{?m-blCpN;pO2UJUpnQnGk8Wwyp{xavhD7M-$9L%I!Eu6ddBls`+WMoOJCI7`kePt zr;Azf$+?V2>R6pR`(3`2Pvtt^qnLPma__PeyFa~bUafWT>r$tMo}5?zh#8+s_l(!N z^~hxPiuUJBl9^ua@m{i<#94V~|J!=zYMZTAOZl$}t9#bweRGXJ_1G<`C1iiK&tfmu z?1lF^nL}1S;N`1)eMDt`%S)b>Q?|L*i^{Y`Y9oj|7N+-qb8qWeHKivxTjP^veo3=Y(t_(@ucz}|d-_KDwI@x1KyS{e}AB>S;D`t#<1r84t%Dr!z7ybiqbC9T7#Vrthm#vJ1hZmU+O zORcsQyym|&>PztV!1z;@%6!Uq=a$T`_L=X+nzQi!=5D_2t<{$LqB{=GTd1DnJEJT{ z=~=8wSaj0Ug5RsBSgi?3?sqnPQ*x)`!dIJ}TMn!E%lcSfDk-*j6E2y39MW!UTsbBD*22a7qUM(`i9MYgKkq@Y4zx+Pa`hDJ zw-;uv6g9sbG{30qS^2`C2sxe4$xWaZ-S^}%gAGA+5XeuE6dRHb(bpf)AL z3Xwwg(;H=`GC6>XE6^&Pt{u%!Bl^4;7X-QZ=(sOs2+(}QH!ayxi}iwiXqLZMiu0Y5 zv8QEYiqD#U{rc6q{M{9uDXfuGdvD6W1{o8g^;T=Ex#}jxcTd(mRSOLb^|$$W-&48S5@ySuwQo4ZNp#HwuytV?EyOmp5~Bd*Kt zu(YY?tI*}YT_>w&pVgWgJxxDuPsQ;*S)+X_jDbpva|-+IPBy)n1Zw}CR*aa}J&pNG z_^)^WU!@*d|6X@`iP6l}(>G}7@?{=6edx?gCtgg}@krD;A9$KEK-29{(WRm!ThOvBR)f4} z5_+c>3hvL@HmA_o?GHo1%8;bLx3*?42Q^7T{Z@qJMf&kE-4te6A);J&Gu!g#9p>Xj zphY03Y)}6*D|-;Z2U-L1$4O{f`ue8~D@3%8u0NYp`7H`8yz{Sp`H2&gd>T*0?472y zR@LD&sIh*9|t0r!g-GvgDkW z{F7lLk*P`Z$lQPx%a*B$aIseG4DfaKcJ}Rv=zqFGghA`->K(zCh4KPbyhOFO-|D#0 zvZggU>rS`X!C=2f7F|$9Q={$_a(7+gz4Y5rapH!8h&ssw8jr$O1~@zWeql&8Rr$Zd zedX*cnI!)3dtcCIajq!*c|*gO!N4I_#~~=+udG?mY{f3wbEaDPI_gndUA*VdmqW< zvR5L(Cqi`hu3swNzc%RE%|p*NC}_1lT_NHSzbeE-{p57bgUU^(1?39_FTdKwA|J5f z7h}M#4%dcwu%zBtIX}z%5)v_lYzhx&!-1>eXNVEO* zp3TpKi&Gq?EkEyc-pTXcZ1-%RwNH&ABOm`g>GXcij6;ET?E)tlrb@m1zG_C{v1w6n zJ+7F!-{A2r77Y{LY8&V59kip4t3TzVMC4s&ucdPYeP;S?UUoWKcE%lN&QqUEqE^hk z75A}bKd;BRPb;Ri&54)Kxcy3ZtI4j=y;)a0`lDW@Zhr30cZ@UkzQ=-~2Ct*Rn#pNL zC!TyeafR%r^N((Dz3#mA?BrU@M|GXNahdl`nfK^Fof!AtjF_tGl8VY8*dQjqzX8!q(xh%>zVGuOdO z>*>18O;2O1?Rv_idgFD!Zn-%zyV;9T>+0%#Q;aju-u(3?Q1ksExnhZFm)`x^F>Ocu zF}@o$#%D{*rvGf+{Y1_yU>bW~Vv^R>pxlrDu0+qCms|MebExL}*T+IM--m{91+0AH z{-?(v;p~&L{ZWa(%{Rxj<^~I1TasUz_fXB!BR`|PS8(D6GvNe(rT5xXy^61eYkdyl zyT0=lml?a-=K!YJ)4k@m7Pg-ImFtkDTvx^{(z|LS-`ktnix(e$9_d{hqLpKMwb1Fg zxzGxc1wqU|>fdcRlUT7ep<3|x<$Kdl-HlV2wmf7#M@oYi?}ft68O{-zuWlP(=+Upt zwTv|s=7S|&#$&SCMbp#SW~sB7*vbQS#~We7^=I^D`sx;>o^~*e$ diff --git a/doc/qtdesignstudio/src/qtdesignstudio-simulink.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-simulink.qdoc index 6e059278b7d..5c1256cb725 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-simulink.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-simulink.qdoc @@ -144,13 +144,13 @@ \section2 Importing the Simulink Connector - To integrate the Simulink model into \QDS, you first need to import the - Simulink connector in \uicontrol Library. Click the \uicontrol {QML Imports - Tab}, select the \uicontrol {} drop-down menu, and then select - \uicontrol SimulinkConnector. \QDS is now ready to communicate with the + To integrate the Simulink model into \QDS, you first need to add the + Simulink connector module to your project. In the \l Library view, select + \uicontrol Components > \inlineimage plus.png + > \uicontrol SimulinkConnector. \QDS is now ready to communicate with the Simulink model. - \image studio-qml-imports-slconnector.png "Simulink Connector in the QML Imports list" + \image studio-qml-imports-slconnector.png "Simulink Connector in the list of available modules." If you need to change the IP address and/or port, you need to select the \uicontrol SimulinkConnector item in \uicontrol Navigator and set the IP @@ -162,8 +162,8 @@ To communicate with a specific model in Simulink, you need to create properties matching the send and receive properties in the root of the application you are building. Select the root item in \uicontrol - Navigator to add the properties in the \uicontrol Properties tab in - \uicontrol {Connection View}. + Navigator to add the properties in \uicontrol {Connection View} > + \uicontrol Properties. See \l {Specifying Dynamic Properties} for a detailed description of how to add a custom property. The name of the property and the data type diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-effects-materials.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-effects-materials.qdoc index 27821ba7677..48c75c29591 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-effects-materials.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-effects-materials.qdoc @@ -49,12 +49,15 @@ two-sided polygons, index-of-refraction, and fragment cutoff (masking). For more information, see \l {Qt Quick 3D Custom Material Reference}. - You can use the components in \uicontrol Library > \uicontrol Components > + Use the components in \uicontrol Library > \uicontrol Components > \uicontrol QtQuick3D > \uicontrol {Qt Quick 3D Custom Shader Utils} to - create custom effects and materials. For more information about the shader - utilities and commands and their properties, see \l {Using Custom Shaders}. - - \image studio-qtquick-3d-shader-utilities.png "Qt Quick 3D Custom Shader Utils tab in Library" + create custom effects and materials. You can find the \uicontrol Effect + component in \uicontrol Library > \uicontrol {QtQuick3D Effects} > \uicontrol + {Qt Quick 3D Custom Shader Utils}, and the \uicontrol {Custom Material} + component in \uicontrol Library > \uicontrol {QtQuick3D Materials} > + \uicontrol {Qt Quick 3D Custom Shader Utils}. For more information about the + shader utilities and commands and their properties, see + \l {Using Custom Shaders}. \note You must create the actual shader source files with some other tool and copy them to your project folder. You can then specify the source file @@ -65,9 +68,9 @@ \section1 Creating Custom Effects - By default, a custom effect component contains a Pass type and a Shader - type in the fragment stage. You can add passes, shaders, and other shader - utilities to the effect. + By default, a custom effect component contains a Pass component and a Shader + component in the fragment stage. You can add passes, shaders, and other + shader utilities to the effect. \image studio-qtquick-3d-custom-effect-navigator.png "Custom effect in Navigator" @@ -78,7 +81,7 @@ To create a custom effect: \list 1 - \li Drag and drop an \uicontrol {Effect} type from the + \li Drag and drop an \uicontrol {Effect} component from the \uicontrol {Qt Quick 3D Custom Shader Utils} tab of \uicontrol Library to a Model component in \uicontrol Navigator. \li Select the custom effect component in \uicontrol Navigator to edit @@ -90,14 +93,14 @@ for its properties in \uicontrol Properties. \image studio-qtquick-3d-pass.png "Pass properties" \li To execute commands during the pass, drag and drop the following - command types from \uicontrol Library to the custom material in + command components from \uicontrol Library to the custom material in \uicontrol Navigator: \uicontrol Blending, \uicontrol {Buffer Blit}, \uicontrol {Buffer Input}, \uicontrol {Cull Mode}, \uicontrol {Depth Input}, \uicontrol {Render State}, and \uicontrol {Set Uniform Value}. Then select the commands in the \uicontrol Commands field. \li To allocate a buffer for the pass, drag and drop a \uicontrol Buffer - type to the custom material. Then select the buffer in the + component to the custom material. Then select the buffer in the \uicontrol Buffer field. \li Select the shader component in \uicontrol Navigator to set the path to the shader files in the \uicontrol Source field in @@ -107,9 +110,9 @@ \section1 Creating Custom Materials - By default, a Custom Material component contains two Shader types, a Shader - Info type, and a Pass type. You can add shaders, passes, and other shader - utilities to the material. + By default, a Custom Material component contains two Shader components, a + Shader Info component, and a Pass component. You can add shaders, passes, + and other shader utilities to the material. \image studio-qtquick-3d-custom-material-navigator.png "Custom material in Navigator" @@ -117,20 +120,20 @@ the paths to the shader files. Specify the paths to the shader files to use in the shader properties. - The Shader Info type specifies the shader type and version, as well - as the options used by the shader based on the selected shader key values, - such as diffuse or specular lighting, refraction, transparency, displacement, - transmissiveness, glossiness, and alpha cutout. + The Shader Info component specifies the shader component and version, as + well as the options used by the shader based on the selected shader key + values, such as diffuse or specular lighting, refraction, transparency, + displacement, transmissiveness, glossiness, and alpha cutout. - The shaders are used with the Pass type to create the resulting material. - A pass can contain multiple rendering passes and other commands. You can - use a Buffer type to allocate a buffer for storing intermediate rendering - results. + The shaders are used with the Pass component to create the resulting + material. A pass can contain multiple rendering passes and other commands. + You can use a Buffer component to allocate a buffer for storing intermediate + rendering results. To create a custom material: \list 1 - \li Drag and drop a \uicontrol {Custom Material} type from the + \li Drag and drop a \uicontrol {Custom Material} component from the \uicontrol {Qt Quick 3D Custom Shader Utils} tab of \uicontrol Library to a Model component in \uicontrol Navigator. \li Select the custom material component in \uicontrol Navigator to @@ -143,7 +146,7 @@ \li Select the \uicontrol {Always dirty} check box to determine that the material needs to be refreshed every time it is used. \li In the \uicontrol {Shader Info} field, select the shader info - type to use. + component to use. \li In the \uicontrol Passes field, select the pass components for the effect. \li In the \uicontrol Material group, select the @@ -157,7 +160,7 @@ for its properties in \uicontrol Properties. \image studio-qtquick-3d-pass.png "Pass properties" \li To execute commands during the pass, drag and drop the following - command types from \uicontrol Library to the pass component in + command components from \uicontrol Library to the pass component in \uicontrol Navigator: \uicontrol Blending, \uicontrol {Buffer Blit}, \uicontrol {Buffer Input}, \uicontrol {Cull Mode}, \uicontrol {Depth Input}, \uicontrol {Render State}, and @@ -165,11 +168,11 @@ at the same level as the pass component and automatically added to the \uicontrol Commands field. \li To allocate a buffer for the pass, drag and drop a \uicontrol Buffer - type to the custom material. Then select the buffer in the + component to the custom material. Then select the buffer in the \uicontrol Buffer field. \li To add a shader to the pass, drag and drop the \uicontrol Shader - type from the \uicontrol Library to the pass component in \uicontrol - Navigator. The shader components are created at the same + component from the \uicontrol Library to the pass component in + \uicontrol Navigator. The shader components are created at the same level as the pass component and automatically added to the \uicontrol Shaders field. \li Select the shader components in \uicontrol Navigator to set the diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-shaders.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-shaders.qdoc index f8ad18d2e0c..12580641faf 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-shaders.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-custom-shaders.qdoc @@ -38,8 +38,17 @@ \image studio-qtquick-3d-shader-utilities.png - If the custom shader utilities are not displayed in \uicontrol Library, you - should add the \uicontrol QtQuick3D module to your project, as described in + Additional 3D shader utilities include the \uicontrol Effect, which you can + find in \uicontrol Library > \uicontrol {QtQuick3D Effects} > \uicontrol + {Qt Quick 3D Custom Shader Utils}, and \uicontrol {Custom Material}, + available in \uicontrol Library > \uicontrol {QtQuick3D Materials} > + \uicontrol {Qt Quick 3D Custom Shader Utils}. + + \image studio-qtquick-3d-shader-effect.png + \image studio-qtquick-3d-shader-custom-material.png + + If the custom shader utilities are not displayed in \uicontrol Library, add + the \uicontrol QtQuick3D module to your project, as described in \l {Adding and Removing Modules}. For more information on using the shaders, see @@ -193,5 +202,4 @@ uniform. \endtable - */ diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc index 0f2b5ba5a3d..da223aa47b3 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-effects.qdoc @@ -35,18 +35,23 @@ \QDS provides a set of 3D effects, which are visible in \l {Form Editor}. To apply a visual effect to a scene, drag-and-drop an effect from \l Library > \uicontrol Components > \uicontrol QtQuick3D > \uicontrol {Qt Quick 3D Effects} - to a \uicontrol View3D component in \l Navigator. You can apply multiple - effects to a scene. Select the \uicontrol {Scene Environment} component in - \uicontrol Navigator to view the applied effects in \l Properties > - \uicontrol {Scene Environment} > \uicontrol Effect. If the effects are not - displayed in \l Library, you should add the \uicontrol QtQuick3D.Effects - module to your project, as described in \l {Adding and Removing Modules}. + to a \uicontrol View3D component in \l Navigator. + + You can use the \l Effect component available in \uicontrol + {Qt Quick 3D Effects} > \uicontrol {Custom Shader Utils} as the base + component for creating custom post-processing effects. For more information, + see \l {Creating Custom Effects and Materials} and \l {Using Custom Shaders}. + + You can apply multiple effects to a scene. Select the \uicontrol + {Scene Environment} component in \uicontrol Navigator to view the applied + effects in \l Properties > \uicontrol {Scene Environment} > \uicontrol Effect. + + If the effects are not displayed in \l Library, you should add the + \uicontrol QtQuick3D.Effects module to your project, as described in + \l {Adding and Removing Modules}. See the following table for available effects and example images. - For more information about creating your own effects, see - \l {Creating Custom Effects and Materials}. - \section1 Available Effects \table \header diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials.qdoc index f84c5e9e391..50c6d968261 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/qtdesignstudio-3d-materials.qdoc @@ -35,23 +35,20 @@ \QDS provides a set of pregenerated Qt Quick 3D materials that can be used to create good-looking \l {Adding 3D Models}{models} quickly and easily. - To apply 3D materials to models, you should first delete the default material, - and then drag-and-drop a new material from \l Library to a model component - in \l Navigator. - - You can apply the same material to another component as well. Again, - delete the default material first. You should then select the component and - go to the \uicontrol Properties view. Find the \uicontrol Materials property, - select the \inlineimage plus.png - icon, and choose the new material in the dropdown menu. - - To apply a 3D material to a component, drag-and-drop a material from - \l Library > \uicontrol Components > \uicontrol QtQuick3D > + To apply a 3D material to a component, you should first delete the default + material and then drag-and-drop a new material from \l Library > + \uicontrol Components > \uicontrol QtQuick3D > \uicontrol {Qt Quick 3D Materials} to a model component in \l Navigator. The materials you add to the model are listed in the model component's - \l Properties view. If the 3D materials are not displayed in \l Library, - you should add the \uicontrol QtQuick3D.Materials module to your project, as - described in \l {Adding and Removing Modules}. + \l Properties view. You can apply the same material to another component as + well. Again, delete the default material first. You should then select the + component and go to the \uicontrol Properties view. Find the + \uicontrol Materials property, select the \inlineimage plus.png + icon, and choose the new material in the dropdown menu. + + If the 3D materials are not displayed in \uicontrol Library, you should add + the \uicontrol QtQuick3D.Materials module to your project, as described in + \l {Adding and Removing Modules}. Each material has its own set of properties that can be used to further define the appearance of the material. For each material the \uicontrol @@ -62,6 +59,14 @@ determine whether or not shadow mapping is used for generating realistic shadows. You can also select a \uicontrol Texture for shadow mapping. + \section1 Custom Material + + You can use the \l {CustomMaterial}{Custom Material} component available in + \uicontrol {Qt Quick 3D Effects} > \uicontrol {Custom Shader Utils} as + the base component for creating custom materials used to shade models. For + more information, see \l {Creating Custom Effects and Materials} and + \l {Using Custom Shaders}. + \section1 Metal Materials The following describes properties of the metal-based materials, which From c7fa8ba8f50d62c1a2c3fbb8f4394c46b62e2642 Mon Sep 17 00:00:00 2001 From: Johanna Vanhatapio Date: Tue, 6 Apr 2021 14:23:33 +0300 Subject: [PATCH 22/35] Doc: Update the Design Views topic - Updated pictures - Updated some info on the main toolbar actions based on the tooltips Task-number: QDS-4007 Change-Id: I49ba9e281d1248dfca564698f8b0ca2bd381ffe1 Reviewed-by: Leena Miettinen --- .../src/qtquick/qtquick-designer.qdoc | 76 ++++++++++++------ .../studio-design-mode-states-timeline.png | Bin 0 -> 34428 bytes .../images/studio-design-mode.png | Bin 74365 -> 47855 bytes 3 files changed, 50 insertions(+), 26 deletions(-) create mode 100644 doc/qtdesignstudio/images/studio-design-mode-states-timeline.png diff --git a/doc/qtcreator/src/qtquick/qtquick-designer.qdoc b/doc/qtcreator/src/qtquick/qtquick-designer.qdoc index 63e7bdd5e1d..10696ecb252 100644 --- a/doc/qtcreator/src/qtquick/qtquick-designer.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-designer.qdoc @@ -41,15 +41,17 @@ \title Design Views - \image studio-design-mode.png "Design views" - \QDS contains views for designing UIs. To open them, select - \uicontrol View > \uicontrol Views. + \uicontrol View > \uicontrol Views. The following images present the + views that you are likely to use most often while designing UIs. + + \image studio-design-mode.png "Design views" + \image studio-design-mode-states-timeline.png "The States and Timeline views" You can move the views anywhere on the screen and save them as \e workspaces, as instructed in \l {Managing Workspaces}. - Watch a video about using the design views: + To learn more about using the design views, see the following video: \youtube RfEYO-5Mw6s @@ -63,8 +65,7 @@ \row \li \l{Form Editor} \li Provides a working area for designing 2D UIs. - - When you are editing 3D scenes, the \uicontrol {Form Editor} is + When you are editing 3D scenes, \uicontrol {Form Editor} is used as a canvas for the 3D scene projected by the camera. \li \l{Form Editor} \row @@ -119,7 +120,7 @@ \row \li \l{Working in Edit Mode}{Text Editor} \li Provides a code editor for viewing and modifying the code - generatedby the visual editors. + generated by the visual editors. \li \l {Working in Edit Mode} \row \li \l{Viewing Project Files}{Projects} @@ -137,60 +138,69 @@ \section1 Summary of Main Toolbar Actions - The top level toolbar in the Design mode contains shortcuts to widely used - actions. + The top level toolbar in the \uicontrol Design mode contains shortcuts to + widely used actions. \table \header \li Button/Field \li Action + \li Keyboard Shortcut \li Read More \row \li \inlineimage prev.png - \li \uicontrol {Go Back} (\key Alt+<): moves a step backwards in your - location history. That is, returns focus to the last location in - the last file it was on. + \li \uicontrol {Go Back}: moves a step backwards in your location history. + That is, returns the focus to the last location in the last file it + was on. + \li \key Alt+< (\key Opt+Cmd+< on \macos) \li \l{Navigating Between Open Files and Symbols} \row \li \inlineimage next.png - \li \uicontrol {Go Forward} (\key Alt+>): moves a step forward in your - location history. + \li \uicontrol {Go Forward}: moves a step forward in your location history. + \li \key Alt+> (\key Opt+Cmd+> on \macos) \li \l{Navigating Between Open Files and Symbols} \row \li \inlineimage unlocked.png - \li Indicates that the currently open file can be modified and saved. + \li File is writable: the currently open file can be modified and saved. + \li \li \l{Viewing Open Documents} \row \li File type icon \li Indicates the type of the currently open file. Design views cannot be split, so the icon cannot be dragged, contrary to the tooltip. + \li \li \l{Viewing Open Documents} \row \li Currently open file \li Displays the location and filename of the currently open file. You can select another file in the list of open files to view it in \uicontrol {Form Editor} and \uicontrol Navigator. + \li \li \l{Viewing Open Documents} \row \li \inlineimage close.png - \li \uicontrol {Close Document} (\key Ctrl+W): closes the current file. + \li \uicontrol {Close Document}: closes the current file. + \li \key Ctrl+W (\key Cmd+W on \macos) \li \row \li \inlineimage live_preview.png - \li \uicontrol {Show Live Preview} (\key Alt+P) shows a preview of the - current file or the entire UI. The changes you make to the UI are - instantly visible to you in the preview. + \li \uicontrol {Show Live Preview} shows a preview of the current file + or the entire UI. The changes you make to the UI are instantly + visible to you in the preview. + \li \key Alt+P (\key Opt+P on \macos) \li \l{Previewing} \row \li Preview size \li Displays the size of the preview dialog as a percentage. You can select another percentage in the list to view the UI in different sizes. + \li \li \l{Previewing on Desktop} \row \li FPS \li Displays the frames-per-second (FPS) refresh rate of previewed animations. + \li \li \l{Previewing on Desktop} \row \li Preview language @@ -198,67 +208,81 @@ preview. You can select another language in the list of languages that the application has been localized to. \li + \li \row \li \inlineimage qtcreator-reset-position-icon.png - \li Returns a component to its \e {implicit position} after it was - moved. + \li Returns a component to its \e {implicit position} after + being moved. + \li \key Ctrl+D (\key Cmd+D on \macos) \li \l{Resetting Component Position and Size} \row \li \inlineimage qtcreator-reset-size-icon.png \li Returns a component to its implicit size after it was scaled. + \li \key Shift+S \li \l{Resetting Component Position and Size} \row \li \inlineimage icons/anchor-fill.png \li Fills the selected component to its parent component. + \li \key Shift+F \li \l{Setting Anchors and Margins} \row \li \inlineimage qtcreator-anchors-reset-icon.png - \li Resets anchors to their saved state. + \li Resets anchors to their saved state for the selected component. + \li \key Ctrl+Shift+R (\key Shift+Cmd+R on \macos) \li \l{Setting Anchors and Margins} \row \li \inlineimage row.png \li Uses a \uicontrol Row component to lay out the selected components. + \li \key Ctrl+U (\key Cmd+U on \macos) \li \l{Using Layouts} \row \li \inlineimage column.png \li Uses a \uicontrol Column component to lay out the selected components. + \li \key Ctrl+L (\key Cmd+L on \macos) \li \l{Using Layouts} \row \li \inlineimage grid.png \li Uses a \uicontrol Grid component to lay out the selected components. + \li \key Shift+G \li \l{Using Layouts} \if defined(qtdesignstudio) \row \li \inlineimage icons/edit.png - \li \uicontrol {Show Event List} (\key {Alt+E}): opens a dialog for - viewing and creating an event list for an application flow. + \li \uicontrol {Show Event List}: opens a dialog for viewing and + creating an event list for an application flow. + \li \key Alt+E (\key Opt+E on \macos) \li \l{Simulating Events} \row \li \inlineimage icons/assign.png - \li \uicontrol {Assign Events to Actions} (\key {Alt+A}): assigns - events to actions in an application flow. + \li \uicontrol {Assign Events to Actions}: assigns events to actions in + an application flow. + \li \key Alt+A (\key Opt+A on \macos) \li \l{Simulating Events} \endif \row \li Styling \li Displays the UI style used for UI controls. + \li \li \l{Styling Controls} \row \li Subcomponents \li Displays the components referred to in the current file. Select a component in the list to open it in \uicontrol {Form Editor} and \uicontrol Navigator. + \li \li \l{Creating Components} \row \li Workspace \li Displays the currently selected workspace. To switch to another workspace, select it in the list. + \li \li \l{Managing Workspaces} \row \li \inlineimage icons/annotation.png \li Enables you to add or edit global annotations. + \li \li \l{Annotating Designs} \endtable */ diff --git a/doc/qtdesignstudio/images/studio-design-mode-states-timeline.png b/doc/qtdesignstudio/images/studio-design-mode-states-timeline.png new file mode 100644 index 0000000000000000000000000000000000000000..d229e39ead9137fba7f5b89210fa97a827cc4ae2 GIT binary patch literal 34428 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