From b4742c03dbc0fb102f1b780c49b1c7bdf89a7180 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 10 Dec 2020 12:00:48 +0100 Subject: [PATCH 01/45] QmlDesigner: Fix compile of tests Change-Id: I3bab23e47702904f1602963e0c843f8f45c8b8c4 Reviewed-by: Tim Jenssen --- .../qmldesigner/designercore/instances/nodeinstanceview.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index 3e3c6379b10..00f3306c6fb 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -101,6 +101,7 @@ #include #include #include +#include enum { debug = false From 6076da1d42552f0618e3f4bdf8172f990dbed8cd Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Thu, 10 Dec 2020 13:30:29 +0100 Subject: [PATCH 02/45] Update Qbs submodule to the top of 1.18 branch Change-Id: Ib7a620ca265df75eedba622e8b4183036019214d Reviewed-by: Eike Ziller --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index baa18b3537f..728c5d40fb7 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit baa18b3537f7471b7fec7a4ddcbce628386de0b4 +Subproject commit 728c5d40fb7c4137810658a86e4b90f0499368ce From d205778ec1579bc3da44c96a58dbfee0561d0cc6 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 10 Dec 2020 14:06:59 +0100 Subject: [PATCH 03/45] QmlDesigner: Fix import tracing Change-Id: I8783627428a7cf78787f19d439fdadca157e9081 Reviewed-by: Thomas Hartmann --- .../components/importmanager/importmanagerview.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp b/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp index 832c72c1916..941cd2e7d42 100644 --- a/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp +++ b/src/plugins/qmldesigner/components/importmanager/importmanagerview.cpp @@ -122,8 +122,8 @@ void ImportManagerView::removeImport(const Import &import) void ImportManagerView::addImport(const Import &import) { if (import.isLibraryImport() - && (import.toImportString().startsWith("QtQuick") - || import.toImportString().startsWith("SimulinkConnector"))) { + && (import.url().startsWith("QtQuick") + || import.url().startsWith("SimulinkConnector"))) { QmlDesignerPlugin::emitUsageStatistics(Constants::EVENT_IMPORT_ADDED + import.toImportString()); } From 66e491be14ca4d764ddead9ddc9247ed1bbc12e4 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 10 Dec 2020 12:24:57 +0200 Subject: [PATCH 04/45] QmlDesigner: Reset puppet if shader property changes Puppet reset is needed as changing shader makes no difference if done after material initialization. Change-Id: I67b0b4cca28b4636cc9acb1cd7446dfabc10e2ee Fixes: QDS-3300 Reviewed-by: Mahmoud Badri Reviewed-by: Thomas Hartmann --- .../designercore/instances/nodeinstanceview.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index 00f3306c6fb..a28c946101e 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -465,6 +465,8 @@ void NodeInstanceView::propertiesAboutToBeRemoved(const QList& resetVerticalAnchors(property.parentModelNode()); } else if (name == "anchors.baseline") { resetVerticalAnchors(property.parentModelNode()); + } else if (name == "shader" && property.parentModelNode().isSubclassOf("QtQuick3D.Shader")) { + m_resetTimer.start(); } } @@ -513,6 +515,13 @@ void NodeInstanceView::variantPropertiesChanged(const QList& pr QTC_ASSERT(m_nodeInstanceServer, return); updatePosition(propertyList); m_nodeInstanceServer->changePropertyValues(createChangeValueCommand(propertyList)); + + for (const auto &property : propertyList) { + if (property.name() == "shader" && property.parentModelNode().isSubclassOf("QtQuick3D.Shader")) { + m_resetTimer.start(); + break; + } + } } /*! Notifies the view that the property parent of the model node \a node has From ed56036ada47ed78ba522e8c952fa70dda05fb04 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 10 Dec 2020 13:56:32 +0100 Subject: [PATCH 05/45] Doc: Update supported Linux version Task-number: QTCREATORBUG-24529 Change-Id: I5db8866e2b682c4d4b8cb15c046753c047848135 Reviewed-by: Eike Ziller --- .../src/overview/creator-only/creator-desktop-platforms.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/qtcreator/src/overview/creator-only/creator-desktop-platforms.qdoc b/doc/qtcreator/src/overview/creator-only/creator-desktop-platforms.qdoc index 769b1b9d760..00ad408e575 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-desktop-platforms.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-desktop-platforms.qdoc @@ -43,7 +43,7 @@ \section1 Linux - (K)Ubuntu Linux 16.04 (64-bit) or later is supported. + (K)Ubuntu Linux 18.04 (64-bit) or later is supported. To build Qt applications using \QC on Linux, you usually need the following: From d07ce92d0ddec65b02ed4b5613eb12a83c346002 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Thu, 3 Dec 2020 20:31:12 +0100 Subject: [PATCH 06/45] qbs: Fix installing docs Change-Id: I4f58d639bced972243faf4161697ec4e0a4b0d56 Reviewed-by: Eike Ziller --- .github/workflows/build_cmake.yml | 7 +++++++ src/shared/CMakeLists.txt | 2 ++ 2 files changed, 9 insertions(+) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index d57ece196a4..a0c7ca5e883 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -330,6 +330,13 @@ jobs: message(FATAL_ERROR "Failed to install dependencies") endif() endif() + execute_process( + COMMAND python -m pip install --user beautifulsoup4 lxml + RESULT_VARIABLE result + ) + if (NOT result EQUAL 0) + message(FATAL_ERROR "Failed to install python dependencies") + endif() - name: Build shell: cmake -P {0} diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt index 4d702e889d1..683b8ba4736 100644 --- a/src/shared/CMakeLists.txt +++ b/src/shared/CMakeLists.txt @@ -32,9 +32,11 @@ if (ENABLE_BUILD_QBS) set(QBS_LIBEXEC_INSTALL_DIR "${IDE_LIBEXEC_PATH}" CACHE STRING "" FORCE) set(QBS_PLUGINS_INSTALL_BASE "${IDE_PLUGIN_PATH}" CACHE STRING "" FORCE) set(QBS_RESOURCES_INSTALL_BASE "${IDE_DATA_PATH}/qbs" CACHE STRING "" FORCE) + set(QBS_DOC_INSTALL_DIR "${IDE_DOC_PATH}" CACHE STRING "" FORCE) set(QBS_HEADERS_INSTALL_DIR "${IDE_DATA_PATH}/qbs/include/qbs" CACHE STRING "" FORCE) set(INSTALL_PUBLIC_HEADERS OFF) set(WITH_TESTS OFF) + set(QBS_INSTALL_QCH_DOCS ${WITH_DOCS}) add_subdirectory(qbs) endif() From 1ff6f272864545880cab264577cd45333ec115da Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 8 Dec 2020 14:45:42 +0100 Subject: [PATCH 07/45] Debugger: Replace CheckType in dumper test Use a ValuePattern(.*) instead to specify an uninteresting/unchecked value. This allows using of TypePattern in the same check, allowing to fix a part of CharArray test for LLDB. Change-Id: I3b8b209318d663290c02ce466e2a198d3a66832f Reviewed-by: Christian Stenger --- tests/auto/debugger/tst_dumpers.cpp | 186 +++++++++++++--------------- 1 file changed, 88 insertions(+), 98 deletions(-) diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index afb0ec58779..11e90af9da4 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -374,6 +374,8 @@ struct ValuePattern : Value ValuePattern(const QString &ba) : Value(ba) { isPattern = true; } }; +const ValuePattern AnyValue{".*"}; + struct Pointer : Value { Pointer() { hasPtrSuffix = true; } @@ -644,18 +646,6 @@ struct CheckSet : public Check QList checks; }; -struct CheckType : public Check -{ - CheckType(const QByteArray &iname, const Name &name, - const Type &type) - : Check(QString::fromUtf8(iname), name, noValue, type) - {} - - CheckType(const QByteArray &iname, const Type &type) - : Check(QString::fromUtf8(iname), noValue, type) - {} -}; - const QtVersion Qt4 = QtVersion(0, 0x4ffff); const QtVersion Qt5 = QtVersion(0x50000, 0x5ffff); const QtVersion Qt6 = QtVersion(0x60000, 0x6ffff); @@ -2218,14 +2208,14 @@ void tst_Dumpers::dumper_data() + Check("ba1.12", "[12]", "1", "char") + Check("ba1.13", "[13]", "2", "char") - + CheckType("ba2", "@QByteArray") + + Check("ba2", AnyValue, "@QByteArray") + Check("s", Value('"' + QString(100, QChar('x')) + '"'), "@QString") + Check("ss", Value('"' + QString(100, QChar('c')) + '"'), "std::string") + Check("buf1", Value("\"" + QString(1, QChar(0xee)) + "\""), "@QByteArray") + Check("buf2", Value("\"" + QString(1, QChar(0xee)) + "\""), "@QByteArray") + Check("buf3", "\"\\ee\"", "@QByteArray") - + CheckType("str1", "char *") + + Check("str1", AnyValue, "char *") + Check("ba4", "\"Hell\"", "@QByteArray") + Check("ba5", "\"ello\"", "@QByteArray"); @@ -2283,18 +2273,18 @@ void tst_Dumpers::dumper_data() + Check("d1", "Tue Jan 1 1980", "@QDate") + Check("d1.(ISO)", "\"1980-01-01\"", "@QString") % NeedsInferiorCall + Check("d1.toString", "\"Tue Jan 1 1980\"", "@QString") % NeedsInferiorCall - + CheckType("d1.(Locale)", "@QString") % NeedsInferiorCall + + Check("d1.(Locale)", AnyValue, "@QString") % NeedsInferiorCall % QtVersion(0, 0x5ffff) // Gone in Qt6 - + CheckType("d1.(SystemLocale)", "@QString") % NeedsInferiorCall + + Check("d1.(SystemLocale)", AnyValue, "@QString") % NeedsInferiorCall % QtVersion(0, 0x5ffff) // Gone in Qt6 + Check("t0", "(invalid)", "@QTime") + Check("t1", "13:15:32", "@QTime") + Check("t1.(ISO)", "\"13:15:32\"", "@QString") % NeedsInferiorCall + Check("t1.toString", "\"13:15:32\"", "@QString") % NeedsInferiorCall - + CheckType("t1.(Locale)", "@QString") % NeedsInferiorCall + + Check("t1.(Locale)", AnyValue, "@QString") % NeedsInferiorCall % QtVersion(0, 0x5ffff) // Gone in Qt6 - + CheckType("t1.(SystemLocale)", "@QString") % NeedsInferiorCall + + Check("t1.(SystemLocale)", AnyValue, "@QString") % NeedsInferiorCall % QtVersion(0, 0x5ffff) // Gone in Qt6 + Check("dt0", "(invalid)", "@QDateTime") @@ -2302,9 +2292,9 @@ void tst_Dumpers::dumper_data() + Check("dt1", Value5("Tue Jan 1 13:15:32 1980 GMT"), "@QDateTime") + Check("dt1.(ISO)", "\"1980-01-01T13:15:32Z\"", "@QString") % NeedsInferiorCall - + CheckType("dt1.(Locale)", "@QString") % NeedsInferiorCall + + Check("dt1.(Locale)", AnyValue, "@QString") % NeedsInferiorCall % QtVersion(0, 0x5ffff) // Gone in Qt6 - + CheckType("dt1.(SystemLocale)", "@QString") % NeedsInferiorCall + + Check("dt1.(SystemLocale)", AnyValue, "@QString") % NeedsInferiorCall % QtVersion(0, 0x5ffff) // Gone in Qt6 + Check("dt1.toString", Value4("\"Tue Jan 1 13:15:32 1980\""), "@QString") % NeedsInferiorCall @@ -2473,17 +2463,17 @@ void tst_Dumpers::dumper_data() + Check("h6", "<1 items>", "@QHash<@QString, Foo>") + Check("h6.0.key", "\"22.0\"", "@QString") - + CheckType("h6.0.value", "Foo") + + Check("h6.0.value", AnyValue, "Foo") + Check("h6.0.value.a", "22", "int") + CoreProfile() + Check("h7", "<3 items>", "@QHash<@QString, @QPointer<@QObject>>") + Check("h7.0.key", Value4("\"Hallo\""), "@QString") + Check("h7.0.key", Value5("\"Welt\""), "@QString") - + CheckType("h7.0.value", "@QPointer<@QObject>") - //+ CheckType("h7.0.value.o", "@QObject") + + Check("h7.0.value", AnyValue, "@QPointer<@QObject>") + //+ Check("h7.0.value.o", AnyValue, "@QObject") + Check("h7.2.key", "\".\"", "@QString") - + CheckType("h7.2.value", "@QPointer<@QObject>") + + Check("h7.2.value", AnyValue, "@QPointer<@QObject>") + Check("h8", "<3 items>", TypeDef("@QHash", "Hash")) + Check5("h8.0", "[0] 22", FloatValue("22"), "") @@ -2549,7 +2539,7 @@ void tst_Dumpers::dumper_data() + GuiProfile() + Check("im", "(200x200)", "@QImage") - + CheckType("pain", "@QPainter") + + Check("pain", AnyValue, "@QPainter") + Check("pm", "(200x200)", "@QPixmap"); @@ -2601,10 +2591,10 @@ void tst_Dumpers::dumper_data() + Check("l2.1", "[1]", "104", "unsigned int") + Check("l3", "<3 items>", "@QLinkedList") - + CheckType("l3.0", "[0]", "Foo") + + Check("l3.0", "[0]", AnyValue, "Foo") + Check("l3.0.a", "1", "int") + Check("l3.1", "[1]", "0x0", "Foo *") - + CheckType("l3.2", "[2]", "Foo") + + Check("l3.2", "[2]", AnyValue, "Foo") + Check("l3.2.a", "3", "int") + Check("l4", "<2 items>", TypeDef("@QLinkedList", @@ -2614,9 +2604,9 @@ void tst_Dumpers::dumper_data() + Check("l5", "<2 items>", "@QLinkedList") - + CheckType("l5.0", "[0]", "Foo") + + Check("l5.0", "[0]", AnyValue, "Foo") + Check("l5.0.a", "1", "int") - + CheckType("l5.1", "[1]", "Foo") + + Check("l5.1", "[1]", AnyValue, "Foo") + Check("l5.1.a", "2", "int") + Check("l6", "<2 items>", "@QLinkedList") @@ -2715,8 +2705,8 @@ void tst_Dumpers::dumper_data() + Check("l4.0", "[0]", "\"1\"", "@QString") + Check("l5", "<3 items>", "@QList") - + CheckType("l5.0", "[0]", "int") - + CheckType("l5.1", "[1]", "int") + + Check("l5.0", "[0]", AnyValue, "int") + + Check("l5.1", "[1]", AnyValue, "int") + Check("l5.2", "[2]", "0x0", "int*") @@ -2748,7 +2738,7 @@ void tst_Dumpers::dumper_data() + Check("l12", "<0 items>", "@QList") + Check("l13", "<4 items>", "@QList") - + CheckType("l13.0", "[0]", "std::string") + + Check("l13.0", "[0]", AnyValue, "std::string") + Check("l13.3", "[3]" ,"\"dd\"", "std::string"); @@ -2802,8 +2792,8 @@ void tst_Dumpers::dumper_data() + CoreProfile() + NoCdbEngine - + CheckType("loc", "@QLocale") - + CheckType("m", "@QLocale::MeasurementSystem") + + Check("loc", AnyValue, "@QLocale") + + Check("m", AnyValue, "@QLocale::MeasurementSystem") + Check("loc1", "\"en_US\"", "@QLocale") % NeedsInferiorCall + Check("loc1.country", "@QLocale::UnitedStates (225)", "@QLocale::Country") % Qt5 + Check("loc1.language", "@QLocale::English (31)", "@QLocale::Language") % Qt5 @@ -3913,7 +3903,7 @@ void tst_Dumpers::dumper_data() + Check("s6", "\"Pointer String Test\"", "@QString") + Check("s7", QString::fromLatin1("\"a%1a\"").arg(oUmlaut), "@QString") % Qt5 - + CheckType("w", "w", "wchar_t *") + + Check("w", "w", AnyValue, "wchar_t *") + Check("s8", "\"el\"", "@QStringRef") % Qt5 + Check("s9", "(null)", "@QStringRef") % Qt5 @@ -3969,7 +3959,7 @@ void tst_Dumpers::dumper_data() + GuiProfile() - + CheckType("doc", "@QTextDocument") + + Check("doc", AnyValue, "@QTextDocument") + Check("tc", "4", "@QTextCursor") + Check("pos", "4", "int") + Check("anc", "1", "int"); @@ -4012,7 +4002,7 @@ void tst_Dumpers::dumper_data() + CoreProfile() - + CheckType("this", "Thread") + + Check("this", AnyValue, "Thread") + Check("this.@1", "[@QThread]", "\"This is thread #3\"", "@QThread"); //+ Check("this.@1.@1", "[@QObject]", "\"This is thread #3\"", "@QObject"); @@ -4052,7 +4042,7 @@ void tst_Dumpers::dumper_data() + Check("v0", "(invalid)", "@QVariant (invalid)") //+ Check("v1", "\"Some string\"", "@QVariant (QString)") - + CheckType("v1", "@QVariant (QString)") + + Check("v1", AnyValue, "@QVariant (QString)") + Check("my", "<2 items>", TypePattern("@QMap|@QMap>|MyType")) + CheckPairish("my.0.key", "1", "unsigned int") @@ -4061,7 +4051,7 @@ void tst_Dumpers::dumper_data() + CheckPairish("my.1.key", "3", "unsigned int") + CheckPairish("my.1.value", "<1 items>", TypePattern("@QList<@QString>|@QStringList")) + CheckPairish("my.1.value.0", "[0]", "\"World\"", "@QString") - //+ CheckType("v2", "@QVariant (MyType)") + //+ Check("v2", AnyValue, "@QVariant (MyType)") + CheckPairish("v2.data.0.key", "1", "unsigned int") % NeedsInferiorCall + CheckPairish("v2.data.0.value", "<1 items>", "@QStringList") % NeedsInferiorCall + CheckPairish("v2.data.0.value.0", "[0]", "\"Hello\"", "@QString") % NeedsInferiorCall @@ -4226,7 +4216,7 @@ void tst_Dumpers::dumper_data() + Check("var26", "(0.0, 0.0)", "@QVariant (QPointF)") + Check("var27", "\"\"", "@QVariant (QRegExp)") % Qt5 + Check("var28", "<0 items>", "@QVariant (QVariantHash)") - + CheckType("var31", "@QVariant (void *)") + + Check("var31", AnyValue, "@QVariant (void *)") + Check("var32", "32", "@QVariant (long)") + Check("var33", "33", "@QVariant (short)") + Check("var34", "34", "@QVariant (char)") @@ -4322,8 +4312,8 @@ void tst_Dumpers::dumper_data() + Check("vl0", "<0 items>", TypeDef("@QList<@QVariant>", "@QVariantList")) + Check("vl1", "<6 items>", TypeDef("@QList<@QVariant>", "@QVariantList")) - + CheckType("vl1.0", "[0]", "@QVariant (int)") - + CheckType("vl1.2", "[2]", "@QVariant (QString)") + + Check("vl1.0", "[0]", AnyValue, "@QVariant (int)") + + Check("vl1.2", "[2]", AnyValue, "@QVariant (QString)") + Check("v", "<1 items>", "@QVariant (QVariantList)") + Check("v.0", "[0]", "\"one\"", "@QVariant (QString)"); @@ -4437,17 +4427,17 @@ void tst_Dumpers::dumper_data() + Check("v3.1.a", "2", "int") + Check("v4", "<3 items>", TypePattern("@QList|@QVector")) - + CheckType("v4.0", "[0]", "Foo") + + Check("v4.0", "[0]", AnyValue, "Foo") + Check("v4.0.a", "1", "int") + Check("v4.1", "[1]", "0x0", "Foo *") - + CheckType("v4.2", "[2]", "Foo") + + Check("v4.2", "[2]", AnyValue, "Foo") + Check("v4.2.a", "5", "int") + Check("v5", "<2 items>", TypePattern("@QList|@QVector")) + Check("v5.0", "[0]", "1", "bool") + Check("v5.1", "[1]", "0", "bool") - + CheckType("pv", TypePattern("@QList<@QList>|@QVector<@QList>")) + + Check("pv", AnyValue, TypePattern("(@QList|@QVector)<@QList>")) + Check("pv.0", "[0]", "<1 items>", "@QList") + Check("pv.0.0", "[0]", "1", "int") + Check("pv.1", "[1]", "<2 items>", "@QList") @@ -4513,17 +4503,17 @@ void tst_Dumpers::dumper_data() + Check("v3.1.a", "2", "int") + Check("v4", "<3 items>", "@QVarLengthArray") - + CheckType("v4.0", "[0]", "Foo") + + Check("v4.0", "[0]", AnyValue, "Foo") + Check("v4.0.a", "1", "int") + Check("v4.1", "[1]", "0x0", "Foo *") - + CheckType("v4.2", "[2]", "Foo") + + Check("v4.2", "[2]", AnyValue, "Foo") + Check("v4.2.a", "5", "int") + Check("v5", "<2 items>", "@QVarLengthArray") + Check("v5.0", "[0]", "1", "bool") + Check("v5.1", "[1]", "0", "bool") - + CheckType("pv", "@QVarLengthArray<@QList, 256>") + + Check("pv", AnyValue, "@QVarLengthArray<@QList, 256>") + Check("pv.0", "[0]", "<1 items>", "@QList") + Check("pv.0.0", "[0]", "1", "int") + Check("pv.1", "[1]", "<2 items>", "@QList") @@ -5695,9 +5685,9 @@ void tst_Dumpers::dumper_data() // "MyBar bar;\n" // "MyAnon anon;\n" // "baz::MyBaz baz;\n" -// + CheckType("anon namespc::nested::(anonymous namespace)::MyAnon"); +// + Check("anon namespc::nested::(anonymous namespace)::MyAnon", AnyValue); // + Check("bar", "namespc::nested::MyBar"); -// + CheckType("baz namespc::nested::(anonymous namespace)::baz::MyBaz"); +// + Check("baz namespc::nested::(anonymous namespace)::baz::MyBaz", AnyValue); // + Check("foo", "namespc::nested::MyFoo"); // // Continue"); // // step into the doit() functions @@ -5765,15 +5755,15 @@ void tst_Dumpers::dumper_data() "&s, &t, &w, &ch, &wch") - + CheckType("s", "char [5]") + + Check("s", AnyValue, "char [5]") + Check("s.0", "[0]", "97", "char") - + CheckType("t", "char [6]") + + Check("t", AnyValue, "char [6]") + Check("t.0", "[0]", "97", "char") - + CheckType("w", "wchar_t [4]") - + Check("ch.0", "[0]", "97", TypeDef("char", "CHAR")) - + CheckType("ch", TypeDef("char [5]", "CHAR [5]")) + + Check("w", AnyValue, "wchar_t [4]") + + Check("ch.0", "[0]", "97", TypePattern("char|CHAR")) + + Check("ch", AnyValue, TypePattern("(char|CHAR)\\[5\\]")) + Check("wch.0", "[0]", "97", TypeDef("wchar_t", "WCHAR")) - + CheckType("wch", TypeDef("wchar_t[4]", "WCHAR [4]")); + + Check("wch", AnyValue, TypePattern("(wchar_t|WCHAR)\\[4\\]")); QTest::newRow("CharPointers") @@ -5792,11 +5782,11 @@ void tst_Dumpers::dumper_data() + Check("str1", "\"abc\"", "char *") + Check("str2", "\"abc\"", TypeDef("char *", "gchar *")) + Check("str2.0", "[0]", "97", TypeDef("char", "gchar")) // 97: ASCII 'a' - + CheckType("u", "unsigned char *") - + CheckType("uu", "unsigned char [3]") - + CheckType("s", "char *") - + CheckType("t", "char *") - + CheckType("w", "wchar_t *"); + + Check("u", AnyValue, "unsigned char *") + + Check("uu", AnyValue, "unsigned char [3]") + + Check("s", AnyValue, "char *") + + Check("t", AnyValue, "char *") + + Check("w", AnyValue, "wchar_t *"); // All: Select UTF-8 in "Change Format for Type" in L&W context menu"); // Windows: Select UTF-16 in "Change Format for Type" in L&W context menu"); @@ -6033,19 +6023,19 @@ void tst_Dumpers::dumper_data() "&a1, &a2, &a3") + CoreProfile() - + CheckType("a1", "@QString [20]") + + Check("a1", AnyValue, "@QString [20]") + Check("a1.0", "[0]", "\"a\"", "@QString") + Check("a1.3", "[3]", "\"d\"", "@QString") + Check("a1.4", "[4]", "\"\"", "@QString") + Check("a1.19", "[19]", "\"\"", "@QString") - + CheckType("a2", "@QByteArray [20]") + + Check("a2", AnyValue, "@QByteArray [20]") + Check("a2.0", "[0]", "\"a\"", "@QByteArray") + Check("a2.3", "[3]", "\"d\"", "@QByteArray") + Check("a2.4", "[4]", "\"\"", "@QByteArray") + Check("a2.19", "[19]", "\"\"", "@QByteArray") - + CheckType("a3", "Foo [10]") + + Check("a3", AnyValue, "Foo [10]") + Check("a3.0", "[0]", "", "Foo") + Check("a3.9", "[9]", "", "Foo"); @@ -6266,8 +6256,8 @@ void tst_Dumpers::dumper_data() "U u;", "&u") + Check("u", "", "U") - + CheckType("u.a", "int") - + CheckType("u.b", "int"); + + Check("u.a", AnyValue, "int") + + Check("u.b", AnyValue, "int"); // QTest::newRow("TypeFormats") // << Data( @@ -6283,9 +6273,9 @@ void tst_Dumpers::dumper_data() // " u = QString::fromUcs4((uint *)w);\n" // "else\n" // " u = QString::fromUtf16((ushort *)w);\n" -// + CheckType("s char *"); +// + Check("s char *", AnyValue); // + Check("u "" QString"); -// + CheckType("w wchar_t *"); +// + Check("w wchar_t *", AnyValue); QTest::newRow("PointerTypedef") @@ -6378,8 +6368,8 @@ void tst_Dumpers::dumper_data() + NoCdbEngine // The Cdb has no information about references - + CheckType("b1", "DerivedClass") // autoderef - + CheckType("b2", "DerivedClass &"); + + Check("b1", AnyValue, "DerivedClass") // autoderef + + Check("b2", AnyValue, "DerivedClass &"); /* @@ -6395,9 +6385,9 @@ void tst_Dumpers::dumper_data() "}\n" "unused(&bigv[10]);\n") + Check("N", "10000", "int") - + CheckType("bigv", "@QDateTime [10000]") - + CheckType("bigv.0", "[0]", "@QDateTime") - + CheckType("bigv.9999", "[9999]", "@QDateTime"); + + Check("bigv", AnyValue, "@QDateTime [10000]") + + Check("bigv.0", AnyValue, "[0]", "@QDateTime") + + Check("bigv.9999", AnyValue, "[9999]", "@QDateTime"); */ QTest::newRow("LongEvaluation2") @@ -6413,7 +6403,7 @@ void tst_Dumpers::dumper_data() + BigArrayProfile() + Check("N", "1000", "int") - + CheckType("bigv", "int [1000]") + + Check("bigv", AnyValue, "int [1000]") + Check("bigv.0", "[0]", "0", "int") + Check("bigv.999", "[999]", "999", "int"); @@ -6448,8 +6438,8 @@ void tst_Dumpers::dumper_data() "&x, &f, &m, &a1, &a2") - + CheckType("f", TypeDef("", "func_t")) - + CheckType("m", TypeDef("int*", "member_t")); + + Check("f", AnyValue, TypeDef("", "func_t")) + + Check("m", AnyValue, TypeDef("int*", "member_t")); QTest::newRow("PassByReference") @@ -6468,7 +6458,7 @@ void tst_Dumpers::dumper_data() + CoreProfile() + NoCdbEngine // The Cdb has no information about references - + CheckType("f", "Foo &") + + Check("f", AnyValue, "Foo &") + Check("f.a", "12", "int"); @@ -6578,8 +6568,8 @@ void tst_Dumpers::dumper_data() + Check("i", "1", "int &&") % NoCdbEngine + Check("i", "1", "int") % CdbEngine - + CheckType("s", "S &&") % NoCdbEngine - + CheckType("s", "S") % CdbEngine + + Check("s", AnyValue, "S &&") % NoCdbEngine + + Check("s", AnyValue, "S") % CdbEngine + Check("s.a", "32", "int"); @@ -6602,9 +6592,9 @@ void tst_Dumpers::dumper_data() + Profile("QMAKE_CXXFLAGS += -msse2") - + CheckType("sseA", "__m128") + + Check("sseA", AnyValue, "__m128") + Check("sseA.2", "[2]", FloatValue("4"), "float") - + CheckType("sseB", "__m128"); + + Check("sseB", AnyValue, "__m128"); QTest::newRow("BoostOptional") @@ -6906,8 +6896,8 @@ void tst_Dumpers::dumper_data() + Check("map", "<2 items>", "@QMap") + CheckPairish("map.0.key", "-1", "int") - + CheckType("map.0.value", "CustomStruct") % Qt5 - + CheckType("map.0.second", "CustomStruct") % Qt6 + + Check("map.0.value", AnyValue, "CustomStruct") % Qt5 + + Check("map.0.second", AnyValue, "CustomStruct") % Qt6 + CheckPairish("map.0.value.dval", FloatValue("3.14"), "double") + CheckPairish("map.0.value.id", "-1", "int"); @@ -6959,7 +6949,7 @@ void tst_Dumpers::dumper_data() + NetworkProfile() + Check("raw", "<0 items>", "@QList<@QByteArray>") - + CheckType("request", "@QNetworkRequest") + + Check("request", AnyValue, "@QNetworkRequest") + Check("url", "\"http://127.0.0.1/\"", "@QUrl &") % NoCdbEngine + Check("url", "\"http://127.0.0.1/\"", "@QUrl") % CdbEngine; @@ -6981,16 +6971,16 @@ void tst_Dumpers::dumper_data() "&s2, &s4, &a1, &a2") - + CheckType("a1", "S1 [10]") - + CheckType("a2", TypeDef("S1 [10]", "Array")) - + CheckType("s2", "S2") - + CheckType("s2.@1", "[S1]", "S1") + + Check("a1", AnyValue, "S1 [10]") + + Check("a2", AnyValue, TypeDef("S1 [10]", "Array")) + + Check("s2", AnyValue, "S2") + + Check("s2.@1", "[S1]", AnyValue, "S1") + Check("s2.@1.m1", "5", "int") - + CheckType("s2.@1.m2", "int") - + CheckType("s4", "S4") - + CheckType("s4.@1", "[S3]", "S3") + + Check("s2.@1.m2", AnyValue, "int") + + Check("s4", AnyValue, "S4") + + Check("s4.@1", "[S3]", AnyValue, "S3") + Check("s4.@1.m1", "5", "int") - + CheckType("s4.@1.m2", "int"); + + Check("s4.@1.m2", AnyValue, "int"); // https://bugreports.qt.io/browse/QTCREATORBUG-6465 @@ -7003,7 +6993,7 @@ void tst_Dumpers::dumper_data() "&foo, &bar") - + CheckType("bar", "char[20]"); + + Check("bar", AnyValue, "char[20]"); #ifndef Q_OS_WIN @@ -7171,7 +7161,7 @@ void tst_Dumpers::dumper_data() + NoCdbEngine - + CheckType("obj", "Circle"); + + Check("obj", AnyValue, "Circle"); @@ -7205,7 +7195,7 @@ void tst_Dumpers::dumper_data() + Check("m.1.second.0", "[0]", "\"1\"", "std::string") + Check("m.1.second.1", "[1]", "\"2\"", "std::string") + Check("m.1.second.2", "[2]", "\"3\"", "std::string") - + CheckType("it", TypeDef("std::_Tree_const_iterator>>>>", "std::map >::const_iterator")) @@ -7368,13 +7358,13 @@ void tst_Dumpers::dumper_data() + Check("ptrConst.@1", "[Base]", "", "Base") + Check("ptrConst.b", "2", "int") + Check("ptrToPtr", "", "Derived") - //+ CheckType("ptrToPtr.[vptr]", " ") + //+ Check("ptrToPtr.[vptr]", AnyValue, " ") + Check("ptrToPtr.@1.a", "1", "int") + Check("ref", "", "Derived &") - //+ CheckType("ref.[vptr]", "") + //+ Check("ref.[vptr]", AnyValue, "") + Check("ref.@1.a", "1", "int") + Check("refConst", "", "Derived &") - //+ CheckType("refConst.[vptr]", "") + //+ Check("refConst.[vptr]", AnyValue, "") + Check("refConst.@1.a", "1", "int") + Check("s", "", "S") + Check("s.ptr", "", "Derived") From 20f11c961e756c60f416d3d135e007679b9c83eb Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 10 Dec 2020 17:50:46 +0200 Subject: [PATCH 08/45] QmlDesigner: Fix crash when 'Debug QML emulation layer' is enabled Timer was accessed before creation in this case. Change-Id: I8817043f1a875cb4c7c6cf8a1f4b398f78058509 Reviewed-by: Thomas Hartmann --- .../instances/interactiveconnectionmanager.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp b/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp index 57b66a7f800..a8c1ecd5fee 100644 --- a/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp +++ b/src/plugins/qmldesigner/designercore/instances/interactiveconnectionmanager.cpp @@ -101,7 +101,7 @@ void InteractiveConnectionManager::dispatchCommand(const QVariant &command, Conn void InteractiveConnectionManager::puppetTimeout(Connection &connection) { - if (connection.socket && connection.socket->waitForReadyRead(10)) { + if (connection.timer && connection.socket && connection.socket->waitForReadyRead(10)) { connection.timer->stop(); connection.timer->start(); return; @@ -112,8 +112,10 @@ void InteractiveConnectionManager::puppetTimeout(Connection &connection) void InteractiveConnectionManager::puppetAlive(Connection &connection) { - connection.timer->stop(); - connection.timer->start(); + if (connection.timer) { + connection.timer->stop(); + connection.timer->start(); + } } } // namespace QmlDesigner From 4a1de1f1e8e1403a883235ee597e41de3c0ef5d7 Mon Sep 17 00:00:00 2001 From: Henning Gruendl Date: Wed, 9 Dec 2020 17:01:57 +0100 Subject: [PATCH 09/45] QmlDesigner: Fix component template label eliding Change-Id: Ib537d5970857cb8419e87446c208fa1c031651ee Reviewed-by: Aleksei German Reviewed-by: Thomas Hartmann --- .../imports/HelperWidgets/ComponentButton.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComponentButton.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComponentButton.qml index 601f4afc057..92082b5058f 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComponentButton.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/ComponentButton.qml @@ -36,7 +36,8 @@ Column { Label { text: qsTr("This item is an instance of a Component") anchors.horizontalCenter: parent.horizontalCenter - width: 220 + width: 300 + horizontalAlignment: Text.AlignHCenter } StudioControls.AbstractButton { From c6b23f903a6b9ed1676e8b68650a4fbd6bc7551f Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 3 Dec 2020 14:31:42 +0100 Subject: [PATCH 10/45] Tests: Enable callgrindparser tests for cmake Change-Id: I2fed0477e9d35e5978a728ed8fee40daca16b565 Reviewed-by: Eike Ziller --- tests/auto/CMakeLists.txt | 2 +- tests/auto/valgrind/CMakeLists.txt | 2 ++ tests/auto/valgrind/callgrind/CMakeLists.txt | 38 ++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 tests/auto/valgrind/CMakeLists.txt create mode 100644 tests/auto/valgrind/callgrind/CMakeLists.txt diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt index 88f4e3b20b7..6e5d03b0e47 100644 --- a/tests/auto/CMakeLists.txt +++ b/tests/auto/CMakeLists.txt @@ -22,4 +22,4 @@ add_subdirectory(toolchaincache) add_subdirectory(tracing) add_subdirectory(treeviewfind) add_subdirectory(utils) -# add_subdirectory(valgrind) +add_subdirectory(valgrind) diff --git a/tests/auto/valgrind/CMakeLists.txt b/tests/auto/valgrind/CMakeLists.txt new file mode 100644 index 00000000000..4091dd61268 --- /dev/null +++ b/tests/auto/valgrind/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory(callgrind) +# add_subdirectory(memcheck) diff --git a/tests/auto/valgrind/callgrind/CMakeLists.txt b/tests/auto/valgrind/callgrind/CMakeLists.txt new file mode 100644 index 00000000000..70a5671caad --- /dev/null +++ b/tests/auto/valgrind/callgrind/CMakeLists.txt @@ -0,0 +1,38 @@ +add_qtc_test(tst_callgrindparsertests + DEPENDS Utils QtcSsh Core ProjectExplorer Debugger Qt5::Core Qt5::Network + DEFINES + PARSERTESTS_DATA_DIR="${CMAKE_CURRENT_LIST_DIR}/data" + CALLGRINDPARSERTESTS + INCLUDES "${PROJECT_SOURCE_DIR}/src/plugins" + SOURCES callgrindparsertests.cpp callgrindparsertests.h +) + +extend_qtc_test(tst_callgrindparsertests + SOURCES_PREFIX "${PROJECT_SOURCE_DIR}/src/plugins/valgrind/" + SOURCES + callgrind/callgrindcallmodel.h callgrind/callgrindcallmodel.cpp + callgrind/callgrindcontroller.h callgrind/callgrindcontroller.cpp + callgrind/callgrindcostitem.h callgrind/callgrindcostitem.cpp + callgrind/callgrindcycledetection.h callgrind/callgrindcycledetection.cpp + callgrind/callgrinddatamodel.h callgrind/callgrinddatamodel.cpp + callgrind/callgrindfunction.h callgrind/callgrindfunction_p.h callgrind/callgrindfunction.cpp + callgrind/callgrindfunctioncall.h callgrind/callgrindfunctioncall.cpp + callgrind/callgrindfunctioncycle.h callgrind/callgrindfunctioncycle.cpp + callgrind/callgrindparsedata.h callgrind/callgrindparsedata.cpp + callgrind/callgrindparser.h callgrind/callgrindparser.cpp + callgrind/callgrindproxymodel.h callgrind/callgrindproxymodel.cpp + callgrind/callgrindstackbrowser.h callgrind/callgrindstackbrowser.cpp + valgrindrunner.h valgrindrunner.cpp + xmlprotocol/announcethread.h xmlprotocol/announcethread.cpp + xmlprotocol/error.h xmlprotocol/error.cpp + xmlprotocol/errorlistmodel.h xmlprotocol/errorlistmodel.cpp + xmlprotocol/frame.h xmlprotocol/frame.cpp + xmlprotocol/modelhelpers.h xmlprotocol/modelhelpers.cpp + xmlprotocol/parser.h xmlprotocol/parser.cpp + xmlprotocol/stack.h xmlprotocol/stack.cpp + xmlprotocol/stackmodel.h xmlprotocol/stackmodel.cpp + xmlprotocol/status.h xmlprotocol/status.cpp + xmlprotocol/suppression.h xmlprotocol/suppression.cpp + xmlprotocol/threadedparser.h xmlprotocol/threadedparser.cpp +) +# skipping modeltest (does not compile due to missing widget handler) From 5179dd240004bf6c55ae7e09ed2b963c9d46de02 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 9 Dec 2020 16:11:41 +0100 Subject: [PATCH 11/45] Doc: Add "Technical Support" topic to QDS Manual It opens from Help > Technical Support. Make the content more useful to QDS users and hide the developer information from QDS Manual. Fixes: QDS-3307 Change-Id: I01eec99b85ecd6d2f2d2c970370e560d6719ee75 Reviewed-by: Thomas Hartmann --- .../overview/creator-acknowledgements.qdoc | 4 ---- .../creator-tech-support.qdoc | 23 +++++++++++++++---- .../src/qtdesignstudio-terms.qdoc | 2 +- .../src/qtdesignstudio-toc.qdoc | 1 + 4 files changed, 20 insertions(+), 10 deletions(-) rename doc/qtcreator/src/overview/{creator-only => }/creator-tech-support.qdoc (84%) diff --git a/doc/qtcreator/src/overview/creator-acknowledgements.qdoc b/doc/qtcreator/src/overview/creator-acknowledgements.qdoc index dcb9352fbc6..9d3c1ce74c2 100644 --- a/doc/qtcreator/src/overview/creator-acknowledgements.qdoc +++ b/doc/qtcreator/src/overview/creator-acknowledgements.qdoc @@ -31,11 +31,7 @@ /*! \page creator-acknowledgements.html - \if defined(qtdesignstudio) - \previouspage studio-terms.html - \else \previouspage technical-support.html - \endif \title Acknowledgements diff --git a/doc/qtcreator/src/overview/creator-only/creator-tech-support.qdoc b/doc/qtcreator/src/overview/creator-tech-support.qdoc similarity index 84% rename from doc/qtcreator/src/overview/creator-only/creator-tech-support.qdoc rename to doc/qtcreator/src/overview/creator-tech-support.qdoc index 90c9c8959de..4e3ad72f850 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-tech-support.qdoc +++ b/doc/qtcreator/src/overview/creator-tech-support.qdoc @@ -30,8 +30,12 @@ // ********************************************************************** /*! - \previouspage creator-glossary.html \page technical-support.html + \if defined(qtdesignstudio) + \previouspage studio-terms.html + \else + \previouspage creator-glossary.html + \endif \nextpage creator-acknowledgements.html \title Technical Support @@ -46,11 +50,13 @@ \li Where to Go \row - \li View examples of what you can do with Qt - \li \l{https://doc.qt.io/qt/all-examples.html}{List of Qt Examples} + \li View examples of what you can do with Qt Quick + \li \l{Qt Quick Examples and Tutorials} - \l{https://doc.qt.io/qt/qtquick-codesamples.html} - {List of Qt Quick Examples} + \if defined(qtcreator) + \row + \li View examples of what you can do with Qt + \li \l{List of Qt Examples} \row \li Develop Qt applications for desktop and \l{glossary-device}{devices} @@ -60,15 +66,22 @@ \li Participate in Qt development \li \l{https://wiki.qt.io/Qt_Contribution_Guidelines} {Qt Contribution Guidelines} + \endif \row \li Find extensions for Qt, such as \QC plugins, development tools, and Qt modules \li \l{https://marketplace.qt.io/}{Qt Marketplace} + \if defined(qtcreator) \row \li Find free Qt-based applications \li \l{https://github.com/topics/qt}{Qt Apps on GitHub} + \else + \row + \li Find free QML and Qt Quick applications + \li \l{https://github.com/topics/qml}{QML Apps on GitHub} + \endif \row \li Develop with a commercial Qt license and support - diff --git a/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc index 7c6ee4cf0d4..b9795c5cce2 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-terms.qdoc @@ -26,7 +26,7 @@ /*! \page studio-terms.html \previouspage studio-faq.html - \nextpage creator-acknowledgements.html + \nextpage technical-support.html \title Concepts and Terms diff --git a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc index 1dd1cd472a4..839fffe62c1 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc @@ -190,6 +190,7 @@ \li \l{Frequently Asked Questions} \li \l{Concepts and Terms} \endlist + \li \l{Technical Support} \li \l{Acknowledgements} \endlist */ From 598bcc8f1e5a52f3d60d4b5d51ad95b9c27745a4 Mon Sep 17 00:00:00 2001 From: Johanna Vanhatapio Date: Fri, 11 Dec 2020 09:59:29 +0200 Subject: [PATCH 12/45] Doc: Fix a typo in the telemetry topic Change-Id: I79cc32baefad3c80f31a7ce27dda373499571ece Reviewed-by: Leena Miettinen --- doc/qtcreator/src/howto/creator-telemetry.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/qtcreator/src/howto/creator-telemetry.qdoc b/doc/qtcreator/src/howto/creator-telemetry.qdoc index bfb26b0b478..761fdd65d10 100644 --- a/doc/qtcreator/src/howto/creator-telemetry.qdoc +++ b/doc/qtcreator/src/howto/creator-telemetry.qdoc @@ -49,7 +49,7 @@ {Enable Usage Statistics} in the splash screen that appears when you first launch \QDS. If the splash screen does not appear, you can enable the telemetry plugin by selecting \uicontrol Help > \uicontrol {About Plugins} > - \uicontrol Utilities > \uicontrol UsageStatistics. + \uicontrol Utilities > \uicontrol UsageStatistic. \image studio-usage-statistics.png "Enabling Usage Statistics" \endif From 5cf60fc38f4380bdbb7f2bc0000cc535f7c15507 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 10 Dec 2020 15:26:15 +0100 Subject: [PATCH 13/45] Debugger: Fix LLDB message parsing in dumper tests Was off by one, swallowing the first character of the message. Change-Id: I736cadda2cb6d9e3703d276b631e574c498af874 Reviewed-by: Christian Stenger --- tests/auto/debugger/tst_dumpers.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index 11e90af9da4..a4c7e511adb 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -2047,7 +2047,7 @@ void tst_Dumpers::dumper() pos1 = fullOutput.indexOf("bridgemessage={msg=", pos2 + 1); if (pos1 == -1) break; - pos1 += 21; + pos1 += 20; pos2 = fullOutput.indexOf("\"}", pos1 + 1); if (pos2 == -1) break; From 14035584d8340e78d172ee6a1f1a39db1ebc9d6c Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 10 Dec 2020 14:50:40 +0100 Subject: [PATCH 14/45] Debugger: Fix CharArray dumper and test for LLDB Change-Id: If12936fa863633b1ca85e712f8395e8ab4a0d69c Reviewed-by: Christian Stenger --- share/qtcreator/debugger/lldbbridge.py | 2 ++ tests/auto/debugger/tst_dumpers.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index 2b9078db218..44e361727b1 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -471,6 +471,8 @@ class Dumper(DumperBase): tdata.code = TypeCode.Integral elif typeName == 'void': tdata.code = TypeCode.Void + elif typeName == 'wchar_t': + tdata.code = TypeCode.Integral else: self.warn('UNKNOWN TYPE KEY: %s: %s' % (typeName, code)) elif code == lldb.eTypeClassEnumeration: diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index a4c7e511adb..704d11cf0dd 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -5762,7 +5762,7 @@ void tst_Dumpers::dumper_data() + Check("w", AnyValue, "wchar_t [4]") + Check("ch.0", "[0]", "97", TypePattern("char|CHAR")) + Check("ch", AnyValue, TypePattern("(char|CHAR)\\[5\\]")) - + Check("wch.0", "[0]", "97", TypeDef("wchar_t", "WCHAR")) + + Check("wch.0", "[0]", "97", TypePattern("wchar_t|WCHAR")) + Check("wch", AnyValue, TypePattern("(wchar_t|WCHAR)\\[4\\]")); From 919ffcb0fbed64a0d0c010ee8f6740adf5cce438 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 9 Dec 2020 14:56:50 +0100 Subject: [PATCH 15/45] cmake build: Add option to build against system SyntaxHighlighting lib Enable/disable our own KSyntaxHighlighting by default depending on the availability of KF5SyntaxHighlighting. If that is available, it still is possible to turn the building and using of our own KSyntaxHighlighting copy on by enabling BUILD_LIBRARY_KSYNTAXHIGHLIGHTING. Fixes: QTCREATORBUG-25076 Change-Id: I3545fc12d87572d7eb6f5977994b081ff7ea3880 Reviewed-by: Cristian Adam --- CMakeLists.txt | 1 + src/libs/3rdparty/syntax-highlighting/CMakeLists.txt | 7 +++++++ src/plugins/texteditor/CMakeLists.txt | 8 +++++++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 80ad5f44fd4..dc4b66829ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,6 +53,7 @@ find_package(Qt5 COMPONENTS Designer DesignerComponents Help SerialPort Svg Tool find_package(Threads) find_package(Clang QUIET) +find_package(KF5SyntaxHighlighting QUIET) function (set_if_target var target) if (TARGET "${target}") diff --git a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt index 8c37bf1731a..062ae058c31 100644 --- a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt @@ -1,4 +1,11 @@ +if(TARGET KF5::SyntaxHighlighting) + set(HIGHLIGHTING_BUILD_DEFAULT OFF) +else() + set(HIGHLIGHTING_BUILD_DEFAULT ON) +endif() + add_qtc_library(KSyntaxHighlighting SHARED + BUILD_DEFAULT ${HIGHLIGHTING_BUILD_DEFAULT} INCLUDES autogenerated/ PUBLIC_INCLUDES src/lib diff --git a/src/plugins/texteditor/CMakeLists.txt b/src/plugins/texteditor/CMakeLists.txt index ab8d806f080..93d773ddb5e 100644 --- a/src/plugins/texteditor/CMakeLists.txt +++ b/src/plugins/texteditor/CMakeLists.txt @@ -1,6 +1,12 @@ +if(TARGET KSyntaxHighlighting) + set(KSYNTAXHIGHLIGHTING_TARGET KSyntaxHighlighting) +else() + set(KSYNTAXHIGHLIGHTING_TARGET KF5::SyntaxHighlighting) +endif() + add_qtc_plugin(TextEditor DEPENDS Qt5::Concurrent Qt5::Network Qt5::PrintSupport Qt5::Xml - PUBLIC_DEPENDS KSyntaxHighlighting + PUBLIC_DEPENDS ${KSYNTAXHIGHLIGHTING_TARGET} PLUGIN_DEPENDS Core SOURCES autocompleter.cpp autocompleter.h From b3ad621e0a60444747b477189ebda583dfb1ba6d Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 10 Dec 2020 15:27:13 +0100 Subject: [PATCH 16/45] Debugger: Fix Bitfield dumper for LLDB with Python 3 Strangely enough, this issue did not trigger with GDB for either Python 3 or 2. Change-Id: I0e5cf7ce0a8605f105bff549634aa014ef1f8403 Reviewed-by: Christian Stenger --- share/qtcreator/debugger/dumper.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index f3a6f0b16cc..dee47a0afc9 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -3159,10 +3159,13 @@ class DumperBase(): for i in range(fieldSize): data = data << 8 if self.dumper.isBigEndian: - byte = ldata[i] + lbyte = ldata[i] else: - byte = ldata[fieldOffset + fieldSize - 1 - i] - data += ord(byte) + lbyte = ldata[fieldOffset + fieldSize - 1 - i] + if sys.version_info[0] >= 3: + data += lbyte + else: + data += ord(lbyte) data = data >> fieldBitpos data = data & ((1 << fieldBitsize) - 1) val.lvalue = data From e60fc5084d2d7fc0aac8758907802646d73c4f9a Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Fri, 11 Dec 2020 11:41:18 +0100 Subject: [PATCH 17/45] Update Qbs submodule to the top of 1.18 branch Change-Id: I7d758667860d20a01d657801fc380ef62d18058e Reviewed-by: Eike Ziller --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index 728c5d40fb7..647ad909220 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 728c5d40fb7c4137810658a86e4b90f0499368ce +Subproject commit 647ad9092207f0d317c3f3ac70fd8810d7929462 From 217d0e583252d0797d5099f0ad39ff58dd0a6528 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 11 Dec 2020 12:39:06 +0200 Subject: [PATCH 18/45] QmlPuppet: Fix crash in Qt6 when root item is zero size Change-Id: I45dc10a412a7e4cfb799afb47e70e506162b286a Reviewed-by: Thomas Hartmann Reviewed-by: Mahmoud Badri --- .../qml2puppet/instances/qt5nodeinstanceserver.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp index f95f69cb84f..ee1bacbc2ee 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5nodeinstanceserver.cpp @@ -225,12 +225,13 @@ bool Qt5NodeInstanceServer::initRhi(RenderViewData &viewData) viewData.texture = nullptr; } }; - if (viewData.bufferDirty) { + if (viewData.bufferDirty) cleanRhiResources(); - viewData.bufferDirty = false; - } - const QSize size = viewData.window->size(); + QSize size = viewData.window->size(); + if (size.isNull()) + size = QSize(2, 2); // Zero size buffer creation will fail, so make it some size always + viewData.texture = viewData.rhi->newTexture(QRhiTexture::RGBA8, size, 1, QRhiTexture::RenderTarget | QRhiTexture::UsedAsTransferSource); if (!viewData.texture->create()) { @@ -259,6 +260,8 @@ bool Qt5NodeInstanceServer::initRhi(RenderViewData &viewData) // redirect Qt Quick rendering into our texture viewData.window->setRenderTarget(QQuickRenderTarget::fromRhiRenderTarget(viewData.texTarget)); + + viewData.bufferDirty = false; #else Q_UNUSED(viewData) #endif From 58ce987314779deebc95849265184fda12541ca2 Mon Sep 17 00:00:00 2001 From: Knud Dollereder Date: Thu, 10 Dec 2020 15:21:28 +0100 Subject: [PATCH 19/45] Do not use the rootItemRect for zoom all MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit since this is set to null - indirectly from the showEvent of FormEditorWidget. Use the instanceBoundingRect of the rootNode instead. Fixes: QDS-3316 Change-Id: Ia156e5b675bc1c517c4b3f5c640b22d9c47bc117 Reviewed-by: Henning Gründl Reviewed-by: Thomas Hartmann --- .../qmldesigner/components/formeditor/formeditorwidget.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp index cf7a5759e25..ac303a32339 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorwidget.cpp @@ -210,7 +210,9 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view) auto frameAll = [this, zoomOut]() { if (m_graphicsView) { QRectF bounds; - if (QmlItemNode(m_formEditorView->rootModelNode()).isFlowView()) { + + QmlItemNode qmlItemNode(m_formEditorView->rootModelNode()); + if (qmlItemNode.isFlowView()) { for (QGraphicsItem *item : m_formEditorView->scene()->items()) { if (auto *fitem = FormEditorItem::fromQGraphicsItem(item)) { if (!fitem->qmlItemNode().modelNode().isRootNode() @@ -219,8 +221,9 @@ FormEditorWidget::FormEditorWidget(FormEditorView *view) } } } else { - bounds = m_graphicsView->rootItemRect(); + bounds = qmlItemNode.instanceBoundingRect(); } + m_graphicsView->frame(bounds); zoomOut(); } From 0a20b8e7de67ce99443173da59323bbc50fc6d4c Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 11 Dec 2020 10:13:23 +0100 Subject: [PATCH 20/45] cmake build: Fix PLUGIN_RECOMMENDS Use the right variable name, and syntax for iterating the list. Fix plugin configuration order, so targets are found. Fix misspelled plugin name. Also remove unused and wrong "EXPERIMENTAL" option. Change-Id: I77cc5d12ebdaa8bcd0315dd830a9435c648b2ba3 Reviewed-by: Christian Stenger Reviewed-by: Cristian Adam --- cmake/QtCreatorAPI.cmake | 14 ++++++-------- src/plugins/CMakeLists.txt | 10 ++++++---- src/plugins/incredibuild/CMakeLists.txt | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 6d0ebdd715a..a790483e91e 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -275,7 +275,7 @@ endfunction(add_qtc_library) function(add_qtc_plugin target_name) cmake_parse_arguments(_arg - "EXPERIMENTAL;SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION;EXPORT" + "SKIP_DEBUG_CMAKE_FILE_CHECK;SKIP_INSTALL;INTERNAL_ONLY;SKIP_TRANSLATION;EXPORT" "VERSION;COMPAT_VERSION;PLUGIN_JSON_IN;PLUGIN_PATH;PLUGIN_NAME;OUTPUT_NAME;BUILD_DEFAULT" "CONDITION;DEPENDS;PUBLIC_DEPENDS;DEFINES;PUBLIC_DEFINES;INCLUDES;PUBLIC_INCLUDES;SOURCES;EXPLICIT_MOC;SKIP_AUTOMOC;EXTRA_TRANSLATIONS;PLUGIN_DEPENDS;PLUGIN_RECOMMENDS;PROPERTIES" ${ARGN} @@ -352,10 +352,7 @@ function(add_qtc_plugin target_name) " { \"Name\" : \"${i}\", \"Version\" : \"${_v}\" }" ) endforeach(i) - string(REPLACE "} {" "},\n {" - _arg_DEPENDENCY_STRING "${_arg_DEPENDENCY_STRING}" - ) - foreach(i IN LISTS ${_arg_RECOMMENDS}) + foreach(i IN LISTS _arg_PLUGIN_RECOMMENDS) if (i MATCHES "^QtCreator::") set(_v ${IDE_VERSION}) string(REPLACE "QtCreator::" "" i ${i}) @@ -366,10 +363,11 @@ function(add_qtc_plugin target_name) " { \"Name\" : \"${i}\", \"Version\" : \"${_v}\", \"Type\" : \"optional\" }" ) endforeach(i) + + string(REPLACE "} {" "},\n {" + _arg_DEPENDENCY_STRING "${_arg_DEPENDENCY_STRING}" + ) string(APPEND _arg_DEPENDENCY_STRING "\n ]") - if (_arg_EXPERIMENTAL) - string(APPEND _arg_DEPENDENCY_STRING ",\n \"Experimental\" : true") - endif() set(IDE_PLUGIN_DEPENDENCY_STRING ${_arg_DEPENDENCY_STRING}) diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt index 86fd7096f2c..871f999b43e 100644 --- a/src/plugins/CMakeLists.txt +++ b/src/plugins/CMakeLists.txt @@ -26,7 +26,6 @@ add_subdirectory(help) add_subdirectory(resourceeditor) add_subdirectory(tasklist) add_subdirectory(nim) -add_subdirectory(incredibuild) add_subdirectory(conan) # Level 4: (only depends on Level 3 and below) @@ -45,9 +44,7 @@ add_subdirectory(beautifier) add_subdirectory(clangformat) add_subdirectory(clangrefactoring) add_subdirectory(clearcase) -add_subdirectory(cmakeprojectmanager) add_subdirectory(cvs) -add_subdirectory(debugger) add_subdirectory(designer) add_subdirectory(fakevim) add_subdirectory(genericprojectmanager) @@ -65,6 +62,10 @@ add_subdirectory(languageclient) add_subdirectory(studiowelcome) # Level 6: +add_subdirectory(cmakeprojectmanager) +add_subdirectory(debugger) + +# Level 7: add_subdirectory(android) add_subdirectory(autotest) add_subdirectory(autotoolsprojectmanager) @@ -72,6 +73,7 @@ add_subdirectory(baremetal) add_subdirectory(clangcodemodel) add_subdirectory(clangtools) add_subdirectory(cppcheck) +add_subdirectory(incredibuild) add_subdirectory(ios) add_subdirectory(python) add_subdirectory(qmljseditor) @@ -84,7 +86,7 @@ add_subdirectory(perfprofiler) add_subdirectory(qbsprojectmanager) add_subdirectory(ctfvisualizer) -# Level 7: +# Level 8: add_subdirectory(boot2qt) unset(qmldesigner_builddir) if (WIN32 AND CMAKE_CXX_COMPILER_ID MATCHES "Clang") diff --git a/src/plugins/incredibuild/CMakeLists.txt b/src/plugins/incredibuild/CMakeLists.txt index ab8f43e7208..96da8c52304 100644 --- a/src/plugins/incredibuild/CMakeLists.txt +++ b/src/plugins/incredibuild/CMakeLists.txt @@ -1,6 +1,6 @@ add_qtc_plugin(IncrediBuild PLUGIN_DEPENDS Core ProjectExplorer - PLUGIN_RECOMMENDS QmakeProjectManager CmakeProjectManager + PLUGIN_RECOMMENDS QmakeProjectManager CMakeProjectManager SOURCES buildconsolebuildstep.cpp buildconsolebuildstep.h From d4ed07eb872fd29bd7b3fcf1955b9825a5702d3b Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 11 Dec 2020 08:42:58 +0100 Subject: [PATCH 21/45] Debugger: Change/improve LLDB display of enums in some cases This fixes the Internal2, EnumFlags and EnumInClass tests on Linux. The values lose now the previously hand-crafted Class:: prefixes, but the context is clear from the type column, and it's what LLDB developers (and potentially users) consider normal. Change-Id: I09e41f7b4fb4f078ef3f535fe650d06e7c2a0331 Reviewed-by: Christian Stenger Reviewed-by: hjk --- share/qtcreator/debugger/lldbbridge.py | 18 ++++++++---------- tests/auto/debugger/tst_dumpers.cpp | 15 +++++++++------ 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index 44e361727b1..b1eee5d8c0b 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -219,16 +219,14 @@ class Dumper(DumperBase): if code == lldb.eTypeClassEnumeration: intval = nativeValue.GetValueAsSigned() - if hasattr(nativeType, 'get_enum_members_array'): - for enumMember in nativeType.get_enum_members_array(): - # Even when asking for signed we get unsigned with LLDB 3.8. - diff = enumMember.GetValueAsSigned() - intval - mask = (1 << nativeType.GetByteSize() * 8) - 1 - if diff & mask == 0: - path = nativeType.GetName().split('::') - path[-1] = enumMember.GetName() - val.ldisplay = '%s (%d)' % ('::'.join(path), intval) - val.ldisplay = '%d' % intval + display = str(nativeValue).split(' = ') + if len(display) == 2: + verbose = display[1] + if '|' in verbose and not verbose.startswith('('): + verbose = '(' + verbose + ')' + else: + verbose = intval + val.ldisplay = '%s (%d)' % (verbose, intval) elif code in (lldb.eTypeClassComplexInteger, lldb.eTypeClassComplexFloat): val.ldisplay = str(nativeValue.GetValue()) #elif code == lldb.eTypeClassArray: diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index 704d11cf0dd..2a6bb166674 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -5905,7 +5905,7 @@ void tst_Dumpers::dumper_data() "Flags fone = one;\n" "Flags fthree = (Flags)(one|two);\n" "Flags fmixed = (Flags)(two|8);\n" - "Flags fbad = (Flags)(24);", + "Flags fbad = (Flags)(8);", "&fone, &fthree, &fmixed, &fbad") @@ -5913,8 +5913,10 @@ void tst_Dumpers::dumper_data() + Check("fone", "one (1)", "Flags") + Check("fthree", "(one | two) (3)", "Flags") - + Check("fmixed", "(two | unknown: 8) (10)", "Flags") - + Check("fbad", "(unknown: 24) (24)", "Flags"); + // There are optional 'unknown:' prefixes and possibly hex + // displays for the unknown flags. + + Check("fmixed", ValuePattern("(two \\| .*8) (10)"), "Flags") + + Check("fbad", ValuePattern(".*8.* (.*8)"), "Flags"); QTest::newRow("EnumInClass") @@ -5933,9 +5935,10 @@ void tst_Dumpers::dumper_data() + NoCdbEngine - + Check("e.e1", "(E::b1 | E::c1) (3)", "E::Enum1") - + Check("e.e2", "(E::b2 | E::c2) (3)", "E::Enum2") - + Check("e.e3", "(E::b3 | E::c3) (3)", "E::Enum3"); + // GDB prefixes with E::, LLDB not. + + Check("e.e1", ValuePattern("(.*b1 \\| .*c1) (3)"), "E::Enum1") + + Check("e.e2", ValuePattern("(.*b2 \\| .*c2) (3)"), "E::Enum2") + + Check("e.e3", ValuePattern("(.*b3 \\| .*c3) (3)"), "E::Enum3"); QTest::newRow("QSizePolicy") From b288cb6706811b1008bc01b3405a76916294141f Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 11 Dec 2020 10:46:38 +0100 Subject: [PATCH 22/45] Debugger: Fix template type alias handling for LLDB Case like 'template using TVector = std::vector' end up only as 'TVector' in the debug info. This is unsuitable as an id in our type info caching as this would only allow one type layout for all specializations, which is not the case for e.g. std::vector. The solution is to mangle the target type into the id, as already done for GDB. This makes the Typedef2 dumper test pass. Change-Id: I11538bbf6431f61a11c18366a2a2b4911cdc2e0e Reviewed-by: Christian Stenger --- share/qtcreator/debugger/lldbbridge.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/debugger/lldbbridge.py b/share/qtcreator/debugger/lldbbridge.py index b1eee5d8c0b..1a61068aaa5 100644 --- a/share/qtcreator/debugger/lldbbridge.py +++ b/share/qtcreator/debugger/lldbbridge.py @@ -419,7 +419,8 @@ class Dumper(DumperBase): if hasattr(nativeTargetType, 'GetCanonicalType'): nativeTargetType = nativeTargetType.GetCanonicalType() targetType = self.fromNativeType(nativeTargetType) - return self.createTypedefedType(targetType, nativeType.GetName()) + return self.createTypedefedType(targetType, nativeType.GetName(), + self.nativeTypeId(nativeType)) nativeType = nativeType.GetUnqualifiedType() typeName = self.typeName(nativeType) @@ -551,6 +552,11 @@ class Dumper(DumperBase): return nativeType.GetName() def nativeTypeId(self, nativeType): + if nativeType and (nativeType.GetTypeClass() == lldb.eTypeClassTypedef): + nativeTargetType = nativeType.GetUnqualifiedType() + if hasattr(nativeTargetType, 'GetCanonicalType'): + nativeTargetType = nativeTargetType.GetCanonicalType() + return '%s{%s}' % (nativeType.name, nativeTargetType.name) name = self.typeName(nativeType) if name is None or len(name) == 0: c = '0' From c4c55955e420529704617aa5a260b2d3bd229736 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 11 Dec 2020 12:37:25 +0100 Subject: [PATCH 23/45] Debugger: Drop some too clever logic from ValuePattern matching Change-Id: I6e1c89e3637e4408a23584bf71fcf8e2c4d29d7f Reviewed-by: Christian Stenger --- tests/auto/debugger/tst_dumpers.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index 2a6bb166674..a2a708f3a8c 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -333,10 +333,6 @@ struct Value expectedValue.replace('@', context.nameSpace); if (isPattern) { - expectedValue.replace("(", "!"); - expectedValue.replace(")", "!"); - actualValue.replace("(", "!"); - actualValue.replace(")", "!"); const QString anchoredPattern = QRegularExpression::anchoredPattern(expectedValue); //QWARN(qPrintable("MATCH EXP: " + expectedValue + " ACT: " + actualValue)); //QWARN(QRegularExpression(anchoredPattern).match(actualValue).hasMatch() ? "OK" : "NOT OK"); @@ -2806,7 +2802,7 @@ void tst_Dumpers::dumper_data() + Check("loc1.groupSeparator", "44", "@QChar") % Qt5 // , + Check("loc1.negativeSign", "45", "@QChar") % Qt5 // - + Check("loc1.positiveSign", "43", "@QChar") % Qt5 // + - + Check("m1", ValuePattern(".*Imperial.*System (1)"), + + Check("m1", ValuePattern(".*Imperial.*System \\(1\\)"), TypePattern(".*MeasurementSystem")) % Qt5; @@ -4618,7 +4614,7 @@ void tst_Dumpers::dumper_data() + GdbEngine + Check("x", "(null)", "std::function") - + Check("y", ValuePattern(".* "), "std::function"); + + Check("y", ValuePattern(".* "), "std::function"); QTest::newRow("StdDeque") @@ -5915,8 +5911,8 @@ void tst_Dumpers::dumper_data() + Check("fthree", "(one | two) (3)", "Flags") // There are optional 'unknown:' prefixes and possibly hex // displays for the unknown flags. - + Check("fmixed", ValuePattern("(two \\| .*8) (10)"), "Flags") - + Check("fbad", ValuePattern(".*8.* (.*8)"), "Flags"); + + Check("fmixed", ValuePattern("\\(two \\| .*8\\) \\(10\\)"), "Flags") + + Check("fbad", ValuePattern(".*8.* \\(.*8\\)"), "Flags"); QTest::newRow("EnumInClass") @@ -5936,9 +5932,10 @@ void tst_Dumpers::dumper_data() + NoCdbEngine // GDB prefixes with E::, LLDB not. - + Check("e.e1", ValuePattern("(.*b1 \\| .*c1) (3)"), "E::Enum1") - + Check("e.e2", ValuePattern("(.*b2 \\| .*c2) (3)"), "E::Enum2") - + Check("e.e3", ValuePattern("(.*b3 \\| .*c3) (3)"), "E::Enum3"); + + Check("e.e1", ValuePattern("\\((E::)?b1 \\| (E::)?c1\\) \\(3\\)"), "E::Enum1") + + Check("e.e2", ValuePattern("\\((E::)?b2 \\| (E::)?c2\\) \\(3\\)"), "E::Enum2") + + Check("e.e3", ValuePattern("\\((E::)?b3 \\| (E::)?c3\\) \\(3\\)"), "E::Enum3") +; QTest::newRow("QSizePolicy") From b09cc04c87dbbe393ab4b566b57942646e29acde Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 10 Dec 2020 10:05:10 +0100 Subject: [PATCH 24/45] Doc: Replace external links to Qt docs with internal ones Where possible, link to sections about QML types within the manual. Task-number: QDS-2744 Change-Id: If12e8ce0261258c0c7e4b293e2cd45ad959c7882 Reviewed-by: Thomas Hartmann --- .../creator-only/qtquick-app-tutorial.qdoc | 8 ++-- .../src/qtquick/library/qtquick-controls.qdoc | 12 +++--- .../src/qtquick/library/qtquick-images.qdoc | 14 +++---- .../src/qtquick/library/qtquick-shapes.qdoc | 2 + .../src/qtquick/library/qtquick-text.qdoc | 1 + .../src/qtquick/qtquick-buttons.qdoc | 17 ++++---- .../src/qtquick/qtquick-properties.qdoc | 3 +- .../src/qtquick/qtquick-timeline.qdoc | 6 +-- .../src/qtquick/qtquick-toolbars.qdoc | 6 +-- doc/qtdesignstudio/examples/doc/loginui1.qdoc | 40 +++++++++---------- .../examples/doc/progressbar.qdoc | 4 +- doc/qtdesignstudio/examples/doc/sidemenu.qdoc | 27 +++++++------ .../src/qtbridge/qtbridge-sketch-using.qdoc | 2 +- .../src/qtdesignstudio-components.qdocinc | 8 ++-- .../src/qtdesignstudio-projects.qdoc | 26 ++++++------ 15 files changed, 92 insertions(+), 84 deletions(-) diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc index 2593803024b..41a9593ec67 100644 --- a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc +++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc @@ -50,10 +50,10 @@ \QC generates a QML file, \e main.qml, and opens it in \uicontrol {Text Editor}. The wizard template uses the \l Window type, which does not support adding states. Because we want to use states in - this example, we first replace the Window type with a \l Rectangle type. - We must also remove the line that sets the \c title property, which the - Rectangle type does not have. If you change the value of the - \uicontrol Type property in the \uicontrol Properties view, \QC offers + this example, we first replace the Window type with a \l {basic-rectangle} + {Rectangle} type. We must also remove the line that sets the \c title + property, which the Rectangle type does not have. If you change the value of + the \uicontrol Type property in the \uicontrol Properties view, \QC offers to automatically remove the \c title property. \section1 Creating the Main View diff --git a/doc/qtcreator/src/qtquick/library/qtquick-controls.qdoc b/doc/qtcreator/src/qtquick/library/qtquick-controls.qdoc index 2e61f1161a4..27a7fb08de3 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-controls.qdoc +++ b/doc/qtcreator/src/qtquick/library/qtquick-controls.qdoc @@ -70,11 +70,11 @@ A mouse area receives events within a defined area. One quick way to define this area is to \l{Setting Anchors and Margins}{anchor} the mouse area to - its parent's area. If the parent is a \l Rectangle (or any component that - is derived from an \l Item), the mouse area will fill the area defined by - the parent's dimensions. Alternatively, you can define an area smaller or - larger than the parent. Several controls,such as buttons, contain a mouse - area. + its parent's area. If the parent is a \l {basic-rectangle}{Rectangle} (or + any component that is derived from an \l {basic-item}{Item}), the mouse area + will fill the area defined by the parent's dimensions. Alternatively, you + can define an area smaller or larger than the parent. Several controls,such + as \l {Button}{buttons}, contain a mouse area. A mouse area emits \l{Connecting Objects to Signals}{signals} in response to different mouse events: @@ -478,6 +478,7 @@ \uicontrol Count field. Select the current page in the \uicontrol Current field. + \target progress-bar-control \section2 Progress Bar \image qtquickcontrols2-progressbar.gif "Progress bar" @@ -518,6 +519,7 @@ \image qtquick-designer-selector-types.png "Selector types" + \target slider-control \section2 Slider and Dial \image qtquickcontrols2-slider.gif "Slider" diff --git a/doc/qtcreator/src/qtquick/library/qtquick-images.qdoc b/doc/qtcreator/src/qtquick/library/qtquick-images.qdoc index 500763bc22c..2e0feaf638c 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-images.qdoc +++ b/doc/qtcreator/src/qtquick/library/qtquick-images.qdoc @@ -30,7 +30,7 @@ \title Images - The \l Image type is used for adding images to the UI in several supported + The Image type is used for adding images to the UI in several supported formats, including bitmap formats, such as PNG and JPEG, and vector graphics formats, such as SVG. You must add the images to your project in the \uicontrol Assets tab of \uicontrol Library to be able to use them in @@ -40,20 +40,20 @@ When you drag and drop an image file from the \uicontrol Assets tab of \uicontrol Library to \uicontrol Navigator or \uicontrol {Form Editor}, - \QC automatically creates a component of the \l Image type for you with + \QC automatically creates a component of the Image type for you with the path to the image file set as the value of the \uicontrol Source field in \uicontrol Properties. To load images from a URL using a supported URL scheme, specify the URL in the \uicontrol Source field. - You can use the \l [QML]{BorderImage}{Border Image} type to display - an image, such as a PNG file, as a border and a background. For more + You can use the \l {Border Image} type to display an image, + such as a PNG file, as a border and a background. For more information about using border images to create buttons, see \l {Creating Scalable Buttons and Borders}. If you need to display animated images, such as GIFs, use the - \l {AnimatedImage}{Animated Image} type. + \l {Animated Image} type. \section1 Image Size @@ -145,7 +145,7 @@ \section1 Border Image - The Border Image type extends the features of the \l Image type. It is used + The Border Image type extends the features of the Image type. It is used to create borders out of images by scaling or tiling parts of each image. A source image is broken into 9 regions that are scaled or tiled individually. The corner regions are not scaled at all, while the horizontal and vertical @@ -172,7 +172,7 @@ \section1 Animated Image - The Animated Image type extends the features of the \l Image type, providing + The Animated Image type extends the features of the Image type, providing a way to play animations stored as images containing a series of frames, such as those stored in GIF files. diff --git a/doc/qtcreator/src/qtquick/library/qtquick-shapes.qdoc b/doc/qtcreator/src/qtquick/library/qtquick-shapes.qdoc index bce7dce955d..c66d6d56f23 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-shapes.qdoc +++ b/doc/qtcreator/src/qtquick/library/qtquick-shapes.qdoc @@ -64,6 +64,7 @@ in more detail. You can modify the values of the properties in the \uicontrol Properties view. + \target basic-rectangle \section1 Rectangle The basic \l [QtQuick] {Rectangle} QML type is used for drawing shapes @@ -96,6 +97,7 @@ to improve the appearance of your shape. \if defined(qtdesignstudio) + \target studio-rectangle \section2 Studio Rectangle If you want to modify each corner of the rectangle independently diff --git a/doc/qtcreator/src/qtquick/library/qtquick-text.qdoc b/doc/qtcreator/src/qtquick/library/qtquick-text.qdoc index fb7e0726fe6..63b612ad300 100644 --- a/doc/qtcreator/src/qtquick/library/qtquick-text.qdoc +++ b/doc/qtcreator/src/qtquick/library/qtquick-text.qdoc @@ -179,6 +179,7 @@ {transformation} of the text. Using rotation or scaling in combination with native rendering leads to poor and sometimes pixelated results. + \target text-edit \section1 Text Input You can use the \uicontrol {Text Edit} and \uicontrol {Text Input} types to diff --git a/doc/qtcreator/src/qtquick/qtquick-buttons.qdoc b/doc/qtcreator/src/qtquick/qtquick-buttons.qdoc index 288a80ec58d..f61aeee27d3 100644 --- a/doc/qtcreator/src/qtquick/qtquick-buttons.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-buttons.qdoc @@ -122,8 +122,8 @@ to assign them useful IDs, change their appearance, and set the button text for each button instance, for example. - To create a graphical button that scales beautifully without using vector - graphics, use the \l [QML]{BorderImage}{Border Image} type. For more + To create a graphical button that scales beautifully without using + vector graphics, use the \l {Border Image} type. For more information, see \l{Creating Scalable Buttons and Borders}. */ @@ -135,8 +135,8 @@ \title Creating Scalable Buttons and Borders - You can use the \l [QML]{BorderImage}{Border Image} type to display an - image, such as a PNG file, as a border and a background. + You can use the \l {Border Image} type to display an image, such as a + PNG file, as a border and a background. Use two border images and suitable graphics to change the appearance of a button when it is clicked. You can use use \l{Adding States}{states} @@ -145,13 +145,14 @@ change the appearance of the button depending on other mouse events, such as hovered. - Add a \l {Mouse Area} type that covers the whole area and - reacts to mouse events. - + Use a \l Text type to add button text. You can use states also to change the button text color and font size. For example, you can scale the button text up or down. - \image qmldesigner-borderimage-type.png "Button type in Form Editor and States" + Add a \l {Mouse Area} type that covers the whole area and + reacts to mouse events. + + \image qmldesigner-borderimage-type.png "Button type in Form Editor and States" \section1 Creating the Button Type diff --git a/doc/qtcreator/src/qtquick/qtquick-properties.qdoc b/doc/qtcreator/src/qtquick/qtquick-properties.qdoc index 38e05fa4619..f6b8d2153df 100644 --- a/doc/qtcreator/src/qtquick/qtquick-properties.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-properties.qdoc @@ -257,6 +257,7 @@ You can add other languages later by editing the project file. \endif + \target basic-item \section1 Specifying Basic Item Properties All QML types share a set of properties that you can specify in @@ -491,7 +492,7 @@ You can double-click objects on the canvas to edit their text, color, or source properties inline. Because you can specify several of these - properties for some QML types, such as \l [QML]{TextEdit}{Text Edit}, + properties for some QML types, such as \l {text-edit}{Text Edit}, you can also right-click objects to open the inline editors from a context-menu. diff --git a/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc b/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc index 01450455aa3..dca62b7fc98 100644 --- a/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-timeline.qdoc @@ -337,9 +337,9 @@ \section1 Rotating Items To animate components that rotate around a central point, you can use the - \l Item QML type as a parent for the rotating component. Then create a - timeline for the Item and set the rotation property for the start and end - keyframes. + \l {basic-item}{Item} QML type as a parent for the rotating component. Then + create a timeline for the Item and set the rotation property for the start + and end keyframes. \if defined(qtdesignstudio) \section1 Animating Shapes diff --git a/doc/qtcreator/src/qtquick/qtquick-toolbars.qdoc b/doc/qtcreator/src/qtquick/qtquick-toolbars.qdoc index be781e11dcb..de00b1e0edd 100644 --- a/doc/qtcreator/src/qtquick/qtquick-toolbars.qdoc +++ b/doc/qtcreator/src/qtquick/qtquick-toolbars.qdoc @@ -56,7 +56,7 @@ \section1 Previewing Images The Qt Quick Toolbar for images allows you to edit the properties of - \l [QML]{BorderImage}{Border Image} and \l [QML]{Image} items. + \l {Border Image} and \l {Images}{Image} items. You can scale and tile the images, replace them with other images, preview them, and change the image margins. @@ -97,8 +97,8 @@ \section1 Editing Rectangles The Qt Quick Toolbar for rectangles allows you to edit the properties of - \l [QML]{Rectangle} items. You can change the fill and border colors and add - gradients. + \l {basic-rectangle}{Rectangle} items. You can change the fill and border + colors and add gradients. \image qml-toolbar-rectangle.png "Qt Quick Toolbar for rectangles" diff --git a/doc/qtdesignstudio/examples/doc/loginui1.qdoc b/doc/qtdesignstudio/examples/doc/loginui1.qdoc index c7f2a7517e3..4ca8aa35445 100644 --- a/doc/qtdesignstudio/examples/doc/loginui1.qdoc +++ b/doc/qtdesignstudio/examples/doc/loginui1.qdoc @@ -78,8 +78,8 @@ \image loginui1-project.png "Log In UI project in the Design mode" - The UI is built using a \l Rectangle QML type that forms the background and - a \l Text type that displays some text. + The UI is built using a \l{basic-rectangle}{Rectangle} QML type that forms + the background and a \l Text type that displays some text. \note The visibility of views depends on the selected workspace, so your \QDS might look somewhat different from the above image. @@ -130,9 +130,9 @@ \section1 Creating the Main Page - You will now change the values of the properties of the \l Rectangle - component to add a gradient to the UI background and those of the - \l Text component to set the title text in a larger strong font. In + You will now change the values of the properties of the \l{basic-rectangle} + {Rectangle} component to add a gradient to the UI background and those of + the \l Text component to set the title text in a larger strong font. In addition, you will import an image as an asset and add it to the page. To be able to use an image in the UI, you must add it to your project @@ -184,7 +184,7 @@ \li Drag and drop the Qt logo from the \uicontrol Assets tab of \uicontrol Library to the top-left corner of the rectangle. \image loginui1-library-assets.png "Library view Assets tab" - \QDS automatically creates a component of the \l Image type + \QDS automatically creates a component of the \l{Images}{Image} type for you with the path to the image file set as the value of the \uicontrol Source field in \uicontrol Properties. \image loginui1-image-properties.png "Image properties" @@ -219,10 +219,10 @@ types, and they will be listed under \uicontrol {My QML Components}. This section is only visible if you have created custom QML components. - The \l [QtQuick] {Rectangle}, \l Text, and \l Image types used in this tutorial are - based on the \l Item type. It is the base type for all visual elements, - with implementation of basic functions and properties, such as type - name, ID, position, size, and visibility. + The \l {basic-rectangle}{Rectangle}, \l Text, and \l {Images}{Image} types + used in this tutorial are based on the \l Item type. It is the base type for + all visual elements, with implementation of basic functions and properties, + such as type name, ID, position, size, and visibility. For more information, see \l{Use Case - Visual Elements In QML}. For descriptions of all QML types, see \l{All QML Types} in the Qt reference @@ -230,15 +230,15 @@ \section3 Regtangle Properties - The basic \l [QtQuick] {Rectangle} QML type is used for drawing shapes + The basic \l {basic-rectangle}{Rectangle} QML type is used for drawing shapes with four sides and four corners. You can fill rectangles either with a solid fill color or a gradient. You can specify the border color separately. By setting the value of the radius property, you can create shapes with rounded corners. - If you want to specify the radius of each corner separately, you can - use the \l Rectangle type from the Qt Quick Studio Components module - instead of the basic rectangle type. It is available in the + If you want to specify the radius of each corner separately, you can use the + \l{studio-rectangle}{Rectangle} type from the Qt Quick Studio Components + module instead of the basic rectangle type. It is available in the \uicontrol {Studio Components} tab of \uicontrol Library. \section3 Text Properties @@ -257,14 +257,14 @@ \section3 Image Properties - The \l Image type is used for adding images to the UI in several supported - formats, including bitmap formats such as PNG and JPEG and vector graphics - formats such as SVG. You must add the images to your project in the + The \l {Images}{Image} type is used for adding images to the UI in several + supported formats, including bitmap formats such as PNG and JPEG and vector + graphics formats such as SVG. You must add the images to your project in the \uicontrol Assets tab of \uicontrol Library to be able to use them in designs. - If you need to display animated images, use the \l {AnimatedImage} - {Animated Image} type, also available in the \uicontrol {Qt Quick - Basic} + If you need to display animated images, use the \l {Animated Image} type, + also available in the \uicontrol {Qt Quick - Basic} tab of \uicontrol Library. \section1 Creating a Push Button @@ -300,7 +300,7 @@ \section2 Learn Qt Quick - Qt Quick Controls - The \e {Custom Button} wizard template creates a \l [Qt Quick Controls 2] {Button} + The \e {Custom Button} wizard template creates a \l {Button} QML type that belongs to the \l {Qt Quick Controls 2} module. It is a push-button control that can be pushed or clicked by the user. Buttons are normally used to perform an action or to answer a question. The Button diff --git a/doc/qtdesignstudio/examples/doc/progressbar.qdoc b/doc/qtdesignstudio/examples/doc/progressbar.qdoc index 0dfb333e41f..62e6184159b 100644 --- a/doc/qtdesignstudio/examples/doc/progressbar.qdoc +++ b/doc/qtdesignstudio/examples/doc/progressbar.qdoc @@ -42,7 +42,7 @@ In this example, we use two overlapping rectangles and a text label to create the progress bar. For another example of a progress bar, see the - \l [QtQuickControls2] {ProgressBar} in Qt Quick Controls. + \l {progress-bar-control}{Progress Bar} type in Qt Quick Controls. In the Design mode, we drag and drop a \uicontrol Rectangle from the \uicontrol Library to the \uicontrol {Form Editor} and modify its size @@ -71,7 +71,7 @@ change for the animation. For more information about creating and positioning components, see - \l {Creating Components}. + \l {Creating Components} and \l {Positioning Items}. \section1 Animating Progress Bar Elements diff --git a/doc/qtdesignstudio/examples/doc/sidemenu.qdoc b/doc/qtdesignstudio/examples/doc/sidemenu.qdoc index da4fe61e485..acc13538b81 100644 --- a/doc/qtdesignstudio/examples/doc/sidemenu.qdoc +++ b/doc/qtdesignstudio/examples/doc/sidemenu.qdoc @@ -38,7 +38,7 @@ when users hover the cursor over them or select them. Each button opens an image file. The side menu can be used to apply - \l {Qt Graphical Effects}{graphical effects}, such as hue, saturation, + \l {2D Effects}{graphical effects}, such as hue, saturation, and blur, to the images. \section1 Creating Reusable Buttons @@ -124,10 +124,10 @@ We can now continue to create a side menu that slides open when users click the burger menu. In the \uicontrol {Form Editor}, we use the - \l Text and \l Slider components to create separate submenus for each - set of effects we want to apply to the images. We use a background image - for the menu background and a BurgerMenu custom QML type for the burger - menu icon. + \l Text and \l {slider-control}{Slider} components to create separate + submenus for each set of effects we want to apply to the images. We use + a background image for the menu background and a BurgerMenu custom QML + type for the burger menu icon. \image sidemenu-ui.png "SliderMenu type" @@ -210,12 +210,13 @@ \section1 Applying Effects - We nest the effects in an effects stack and bind them to the \l Slider type - instances. The effects apply to all the images in the example application, - not just the currently open one. + We nest the effects in an effects stack and bind them to the + \l {slider-control}{Slider} type instances. The effects apply + to all the images in the example application, not just the + currently open one. We use property bindings to connect the controls in the slider menu to - \l {Qt Graphical Effects}{graphical effects}. To have access to the + \l {2D Effects}{graphical effects}. To have access to the properties from all the slider type instances, we export them as aliases in \e SliderMenu.ui.qml. We select \uicontrol {Export Property as Alias} in the \uicontrol Settings menu of the \uicontrol Value property in @@ -226,10 +227,10 @@ \image sidemenu-effects-stack.png "Effects stack in the Navigator" - We use the \l Image type as the last item in the stack to display images - that we apply the effects to. We export the image source property as an - alias to be able to switch the image inside the stack. + We use the \l {Images}{Image} type as the last item in the stack to display + images that we apply the effects to. We export the image source property as + an alias to be able to switch the image inside the stack. - For more information about the available Qt graphical effects, see + For more information about the available graphical effects, see \l {2D Effects}. */ diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc index 37aaa8f780c..feb1de5f10a 100644 --- a/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc +++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc @@ -194,7 +194,7 @@ \l {Shapes}{Qt Quick Studio Component} to morph this layer into. The component that is generated during import will be of this type. For example, if you drew a rectangle, you can export - it as a \l Rectangle component. + it as a \l {basic-rectangle}{Rectangle} component. You can provide the import statement of the module where the QML type is defined in the \uicontrol {QML Imports} field. \li Select the \uicontrol {Render Text} check box to render the text diff --git a/doc/qtdesignstudio/src/qtdesignstudio-components.qdocinc b/doc/qtdesignstudio/src/qtdesignstudio-components.qdocinc index 789d0defb42..94005e1be72 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-components.qdocinc +++ b/doc/qtdesignstudio/src/qtdesignstudio-components.qdocinc @@ -27,11 +27,9 @@ \section2 Creating Custom Controls - You can use project wizard templates to create a starting point for a custom - \l [QtQuickControls2] {Button}, \l [QtQuickControls2] {Pane}, - \l [QtQuickControls2] {StackLayout}{Stacked Layout}, - \l [QtQuickControls2] {SwipeView}{Swipe View}, or - \l [QtQuickControls2] {Switch}. + You can use project wizard templates to create a starting point for + a custom \l Button, \l [QtQuickControls2] {Pane}, \l {Stack Layout}, + \l [QtQuickControls2] {SwipeView}{Swipe View}, or \l Switch. \list 1 \li Select \uicontrol File > \uicontrol {New File or Project} > diff --git a/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc index 0eca243f587..83e587fb16d 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-projects.qdoc @@ -138,29 +138,31 @@ \li \uicontrol {Flow Item} and \uicontrol {Flow View} generate types that you can use to design the application flow. \li \uicontrol {Qt Quick File} generates a QML type with one - of the following types as the root item: \l Item, - \l Rectangle, \l Image, \l BorderImage, \l Flickable, - \l Row, \l Column, \l Flow, or \l Grid. + of the following basic types or \l{Using Positioners} + {positioners} as the root item: \l {basic-item}{Item}, + \l {basic-rectangle}{Rectangle}, \l {Images}{Image}, + \l {Border Image}, \l Flickable, Row, Column, Flow, or Grid. \li \uicontrol {Qt Quick UI File} generates a UI form with one of the above types as the root item. - \li \uicontrol {Qt Quick Views} generates a \l GridView or a - \l ListView. + \li \uicontrol {Qt Quick Views} generates a Grid View or a + List View. For more information, see \l{List and Grid Views}. + \endlist \li \uicontrol {Qt Quick Controls} \list - \li \l [Qt Quick Controls 2] {Button}{Custom Button} creates a - push button with a text label. - \li \l [Qt Quick Controls 2] {Switch}{Custom Switch} creates a - switch with on and off states. + \li \l {Button}{Custom Button} creates a push button with a text + label. + \li \l {Switch}{Custom Switch} creates a switch with on and off + states. \li \l [Qt Quick Controls 2] {Pane} provides a background that matches the UI style and theme. - \li \l [Qt Quick Controls 2] { StackView} provides a stack-based + \li \l [Qt Quick Controls 2] {StackView} provides a stack-based navigation model. \li \l [Qt Quick Controls 2] {SwipeView} enables users to navigate pages by swiping sideways. \endlist - \li \uicontrol ListModel adds a \l{ListModel}{list model} to the - project. + \li \uicontrol ListModel adds a \l{Editing List Models}{list model} to + the project. \li \uicontrol {JavaScript File} generates files that you can use to write the application logic. This is useful for testing the application before the developers implement the application logic From 1f41c53f0f554601a27bad480a58a8c7206a8f1b Mon Sep 17 00:00:00 2001 From: Venugopal Shivashankar Date: Fri, 11 Dec 2020 10:47:25 +0100 Subject: [PATCH 25/45] Doc: Update the MCU options dialog screenshot In addition, document the new option that enables automatic kit creation for all the available targets. Change-Id: Ic9168f032472bdd98b9b026934476e606a9ab94e Reviewed-by: Leena Miettinen --- .../images/qtcreator-mcu-options.png | Bin 12096 -> 12741 bytes doc/qtcreator/src/mcu/creator-mcu-dev.qdoc | 24 ++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/doc/qtcreator/images/qtcreator-mcu-options.png b/doc/qtcreator/images/qtcreator-mcu-options.png index 4dab2f9a2abbcdb3397a95c14e906dff12e6962b..a5c6a4a8f1ebe36b46973e2569c6c6d3cafed887 100644 GIT binary patch delta 12446 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 i#?akJB`Y2j*y217c5Lar)`Ptj&)Y$%9 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 diff --git a/doc/qtcreator/src/mcu/creator-mcu-dev.qdoc b/doc/qtcreator/src/mcu/creator-mcu-dev.qdoc index e5c80b861e9..ff5b2d8c37d 100644 --- a/doc/qtcreator/src/mcu/creator-mcu-dev.qdoc +++ b/doc/qtcreator/src/mcu/creator-mcu-dev.qdoc @@ -98,14 +98,16 @@ \list \li For STM32 targets: \list - \li The \uicontrol {GNU ARM Embedded Toolchain} path. + \li The \uicontrol {GNU ARM Embedded Toolchain} or + \uicontrol {IAR ARM Compiler} path. \li The \uicontrol {STM32CubeProgrammer} install path. \li The \uicontrol {MCU SDK} for the chosen target. \li The \uicontrol {FreeRTOS Sources} for the chosen target. \endlist \li For NXP targets: \list - \li The \uicontrol {GNU ARM Embedded Toolchain} path. + \li The \uicontrol {GNU ARM Embedded Toolchain} or + \uicontrol {IAR ARM Compiler} path. \li The \uicontrol {MCUXpresso IDE} install path. \li The \uicontrol {MCU SDK} for the chosen target. \li The \uicontrol {FreeRTOS Sources} for the chosen target. @@ -116,11 +118,16 @@ \li The \uicontrol {Renesas Graphics Library} path. \endlist \endlist - \li Select \uicontrol{Create Kit} to create a kit. If you have - an older kit for the selected target, remove it first using - \uicontrol{Remove Kit}. + \li Select the + \uicontrol {Automatically create kits for all available targets on start} + option to create kits automatically. + \note You could also use \uicontrol {Create Kit} or + \uicontrol{Remove Kit} to manually create or remove kits for the chosen + target. \li Select \uicontrol Apply to save the settings. \endlist + \note You must restart \QC if you chose to create kits automatically + for all the available targets. \section2 Adding MCU Devices @@ -148,9 +155,10 @@ \note This optional step is not necessary if you have already set up the MCU SDK as outlined in \l{Specifying MCU Settings}. - \QC automatically adds kits for building applications and running them - on the specified MCU boards when you select \uicontrol Apply in the - \uicontrol MCU tab after configuring the MCU tool chain. + \QC automatically adds kits for all the available targets, if + the + \uicontrol {Automatically create kits for all available targets on start} + option is enabled under the \uicontrol MCU settings tab. \image qtcreator-mcu-kit.png "MCU kits" From 1981d90f39c4673df89d072218f4c55b6935d8e3 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 11 Dec 2020 13:48:08 +0100 Subject: [PATCH 26/45] Dumper: fix QMetaObject detection for Qt6 on windows introduced by 9b8493314dd77f3e96b353187816bb7ef4dedbb5 from qtbase This change does not address all usages of super data in the dumper, but enables dumping children. Task-number: QTCREATORBUG-24098 Change-Id: I813dacfa719dd6ca367e305fadcc8f2b8ee45425 Reviewed-by: hjk Reviewed-by: Christian Stenger --- share/qtcreator/debugger/dumper.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index dee47a0afc9..425e33640a9 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -1636,10 +1636,16 @@ class DumperBase(): # a Q_OBJECT SMO has a non-null superdata (unless it's QObject itself), # a Q_GADGET SMO has a null superdata (hopefully) if result and not isQObjectProper: - superdata = self.extractPointer(result) - if superdata == 0: - # This looks like a Q_GADGET - return 0 + if self.qtVersion() >= 0x60000 and self.isWindowsTarget(): + (direct, indirect) = self.split('pp', result) + # since Qt 6 there is an additional indirect super data getter on windows + if direct == 0 and indirect == 0: + # This looks like a Q_GADGET + return 0 + else: + if self.extractPointer(result) == 0: + # This looks like a Q_GADGET + return 0 return result @@ -1849,7 +1855,11 @@ class DumperBase(): def extractDataPtr(someMetaObjectPtr): # dataPtr = metaObjectPtr['d']['data'] - return self.extractPointer(someMetaObjectPtr + 2 * ptrSize) + if self.qtVersion() >= 0x60000 and self.isWindowsTarget(): + offset = 3 + else: + offset = 2 + return self.extractPointer(someMetaObjectPtr + offset * ptrSize) isQMetaObject = origType == 'QMetaObject' isQObject = origType == 'QObject' From ef3821c6b90870c1ec86af6faaff09cffb2b360a Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 9 Dec 2020 18:50:53 +0100 Subject: [PATCH 27/45] fixup comments in SynchronousProcess::run*() one instance had drifted away from its relevant location, while another instance was a bogus c&p. Change-Id: I0148f08ca2741efd82bf10a042fe341bafcfc087 Reviewed-by: Eike Ziller --- src/libs/utils/synchronousprocess.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/libs/utils/synchronousprocess.cpp b/src/libs/utils/synchronousprocess.cpp index 81a29d14d2a..f7629238e79 100644 --- a/src/libs/utils/synchronousprocess.cpp +++ b/src/libs/utils/synchronousprocess.cpp @@ -475,9 +475,6 @@ SynchronousProcessResponse SynchronousProcess::run(const CommandLine &cmd, d->clearForRun(); - // On Windows, start failure is triggered immediately if the - // executable cannot be found in the path. Do not start the - // event loop in that case. d->m_binary = cmd.executable(); // using QProcess::start() and passing program, args and OpenMode results in a different // quoting of arguments than using QProcess::setArguments() beforehand and calling start() @@ -499,6 +496,9 @@ SynchronousProcessResponse SynchronousProcess::run(const CommandLine &cmd, }); d->m_process.start(writeData.isEmpty() ? QIODevice::ReadOnly : QIODevice::ReadWrite); + // On Windows, start failure is triggered immediately if the + // executable cannot be found in the path. Do not start the + // event loop in that case. if (!d->m_startFailure) { d->m_timer.start(); if (isGuiThread()) @@ -529,9 +529,6 @@ SynchronousProcessResponse SynchronousProcess::runBlocking(const CommandLine &cm d->clearForRun(); - // On Windows, start failure is triggered immediately if the - // executable cannot be found in the path. Do not start the - // event loop in that case. d->m_binary = cmd.executable(); d->m_process.start(cmd.executable().toString(), cmd.splitArguments(), QIODevice::ReadOnly); if (!d->m_process.waitForStarted(d->m_maxHangTimerCount * 1000) From 65fb83089e3c50ca0e59524b700703e676560eca Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 9 Dec 2020 18:52:45 +0100 Subject: [PATCH 28/45] fix waiting in SynchronousProcess::runBlocking() the conditions on the waitForFinished() calls were inverted. the visible effect of this was that 'Hang' was never reported. Change-Id: I9937fce58189eebf891000840597158b4bffd028 Reviewed-by: Orgad Shaneh --- src/libs/utils/synchronousprocess.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libs/utils/synchronousprocess.cpp b/src/libs/utils/synchronousprocess.cpp index f7629238e79..9f52033e437 100644 --- a/src/libs/utils/synchronousprocess.cpp +++ b/src/libs/utils/synchronousprocess.cpp @@ -537,11 +537,11 @@ SynchronousProcessResponse SynchronousProcess::runBlocking(const CommandLine &cm return d->m_result; } d->m_process.closeWriteChannel(); - if (d->m_process.waitForFinished(d->m_maxHangTimerCount * 1000)) { + if (!d->m_process.waitForFinished(d->m_maxHangTimerCount * 1000)) { if (d->m_process.state() == QProcess::Running) { d->m_result.result = SynchronousProcessResponse::Hang; d->m_process.terminate(); - if (d->m_process.waitForFinished(1000) && d->m_process.state() == QProcess::Running) { + if (!d->m_process.waitForFinished(1000) && d->m_process.state() == QProcess::Running) { d->m_process.kill(); d->m_process.waitForFinished(1000); } From 891c797c4b1a2fa98bf0bc7ab95d72ad9cf92350 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 9 Dec 2020 14:03:46 +0100 Subject: [PATCH 29/45] simplify feeding synchronous processes QProcess is fully buffered, so there is no point in trying to feed it chunk-wise. amends 25264d9b. Change-Id: Ie1a32a6ac56f8e21a452b26dfaca4237d3f08d9f Reviewed-by: Orgad Shaneh --- src/libs/utils/synchronousprocess.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/libs/utils/synchronousprocess.cpp b/src/libs/utils/synchronousprocess.cpp index 9f52033e437..e4fb015070b 100644 --- a/src/libs/utils/synchronousprocess.cpp +++ b/src/libs/utils/synchronousprocess.cpp @@ -482,16 +482,7 @@ SynchronousProcessResponse SynchronousProcess::run(const CommandLine &cmd, d->m_process.setProgram(cmd.executable().toString()); d->m_process.setArguments(cmd.splitArguments()); connect(&d->m_process, &QProcess::started, this, [this, writeData] { - if (!writeData.isEmpty()) { - int pos = 0; - int sz = writeData.size(); - do { - d->m_process.waitForBytesWritten(); - auto res = d->m_process.write(writeData.constData() + pos, sz - pos); - if (res > 0) pos += res; - } while (pos < sz); - d->m_process.waitForBytesWritten(); - } + d->m_process.write(writeData); d->m_process.closeWriteChannel(); }); d->m_process.start(writeData.isEmpty() ? QIODevice::ReadOnly : QIODevice::ReadWrite); From 3201d9162495ae78e4d96a5946e30b3569f400cc Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 9 Dec 2020 14:07:07 +0100 Subject: [PATCH 30/45] process synchrounus process output in every case there is no logical difference between a hung or crashed process and one that exited non-zero. blocking execution already behaved that way. Change-Id: Ifb80d050f9771cb9ea4021329ffef8e646e43ac9 Reviewed-by: Orgad Shaneh --- src/libs/utils/synchronousprocess.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/libs/utils/synchronousprocess.cpp b/src/libs/utils/synchronousprocess.cpp index e4fb015070b..0845e4b8034 100644 --- a/src/libs/utils/synchronousprocess.cpp +++ b/src/libs/utils/synchronousprocess.cpp @@ -495,10 +495,8 @@ SynchronousProcessResponse SynchronousProcess::run(const CommandLine &cmd, if (isGuiThread()) QApplication::setOverrideCursor(Qt::WaitCursor); d->m_eventLoop.exec(QEventLoop::ExcludeUserInputEvents); - if (d->m_result.result == SynchronousProcessResponse::Finished || d->m_result.result == SynchronousProcessResponse::FinishedError) { - processStdOut(false); - processStdErr(false); - } + processStdOut(false); + processStdErr(false); d->m_result.rawStdOut = d->m_stdOut.rawData; d->m_result.rawStdErr = d->m_stdErr.rawData; From 20a3eae86f26ac10f4d1f5b3dca98d950e70cd51 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 9 Dec 2020 18:33:15 +0100 Subject: [PATCH 31/45] fix memory leak in AndroidSdkDownloader::extractSdk() put the process on the stack, so we don't need (and fail) to free it. while at it, remove the pointless close() call. amends f46099d2. Change-Id: I4025691bebf2899efe006ee83012aefbb8797a64 Reviewed-by: Assam Boudjelthia --- src/plugins/android/androidsdkdownloader.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/plugins/android/androidsdkdownloader.cpp b/src/plugins/android/androidsdkdownloader.cpp index 9e0a87a0185..b4ccb6412aa 100644 --- a/src/plugins/android/androidsdkdownloader.cpp +++ b/src/plugins/android/androidsdkdownloader.cpp @@ -118,14 +118,13 @@ bool AndroidSdkDownloader::extractSdk(const QString &jdkPath, const QString &sdk } } - QProcess *jarExtractProc = new QProcess(); - jarExtractProc->setWorkingDirectory(sdkExtractPath); + QProcess jarExtractProc; + jarExtractProc.setWorkingDirectory(sdkExtractPath); QString jarCmdPath(jdkPath + "/bin/jar"); - jarExtractProc->start(jarCmdPath, {"xf", m_sdkFilename}); - jarExtractProc->waitForFinished(); - jarExtractProc->close(); + jarExtractProc.start(jarCmdPath, {"xf", m_sdkFilename}); + jarExtractProc.waitForFinished(); - return jarExtractProc->exitCode() ? false : true; + return jarExtractProc.exitCode() ? false : true; } bool AndroidSdkDownloader::verifyFileIntegrity() From 4ae5516453e86b64326e61b14603ed1508aeb319 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Fri, 11 Dec 2020 16:41:46 +0100 Subject: [PATCH 32/45] CMakeProjectManager: Use canonical paths for compiler match import On Linux (Ubuntu 20.04) Qt Creator would use /usr/bin/g++ as compiler for C++. CMake would pick /usr/bin/c++ as C++ compiler. Both of them are symlinks to /usr/bin/x86_64-linux-gnu-g++-9 There is no need to create imported kits for something which is the same compiler. Fixes: QTCREATORBUG-25069 Change-Id: I90e0f7b1977ace3f7995ce09f4b3fcfa64d02b72 Reviewed-by: Alessandro Portale --- src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp index 916df2cd886..123d1aee73a 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp @@ -324,7 +324,7 @@ bool CMakeProjectImporter::matchKit(void *directoryData, const Kit *k) const if (!Utils::contains(allLanguages, [&tcd](const Id& language) {return language == tcd.language;})) continue; ToolChain *tc = ToolChainKitAspect::toolChain(k, tcd.language); - if (!tc || tc->compilerCommand() != tcd.compilerPath) + if (!tc || tc->compilerCommand().canonicalPath() != tcd.compilerPath.canonicalPath()) return false; } From 428ac96dd1e4281a01b368c9adff21a05d43a200 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 11 Dec 2020 14:33:15 +0100 Subject: [PATCH 33/45] Doc: Describe using Qt Bridge for Figma Task-number: QDS-2525 Change-Id: I5c574c291bfb526452a2429a91920a875e1573a5 Reviewed-by: Thomas Hartmann --- doc/config/macros.qdocconf | 1 + doc/qtdesignstudio/images/qt-figma-bridge.png | Bin 0 -> 12651 bytes .../images/studio-figma-export.png | Bin 0 -> 277756 bytes .../src/qtbridge/qtbridge-figma-overview.qdoc | 55 ++++++++ .../src/qtbridge/qtbridge-figma-setup.qdoc | 40 ++++++ .../src/qtbridge/qtbridge-figma-using.qdoc | 130 ++++++++++++++++++ .../src/qtbridge/qtbridge-overview.qdoc | 5 + .../src/qtbridge/qtbridge-sketch-using.qdoc | 2 +- .../src/qtdesignstudio-toc.qdoc | 5 + .../exporting-3d/exporting-3d-assets.qdoc | 2 +- 10 files changed, 238 insertions(+), 2 deletions(-) create mode 100644 doc/qtdesignstudio/images/qt-figma-bridge.png create mode 100644 doc/qtdesignstudio/images/studio-figma-export.png create mode 100644 doc/qtdesignstudio/src/qtbridge/qtbridge-figma-overview.qdoc create mode 100644 doc/qtdesignstudio/src/qtbridge/qtbridge-figma-setup.qdoc create mode 100644 doc/qtdesignstudio/src/qtbridge/qtbridge-figma-using.qdoc diff --git a/doc/config/macros.qdocconf b/doc/config/macros.qdocconf index 0d9e14ffa0a..22c0c182ccf 100644 --- a/doc/config/macros.qdocconf +++ b/doc/config/macros.qdocconf @@ -21,6 +21,7 @@ macro.QA = "Qt Assistant" macro.QB = "Qt Bridge" macro.QBPS = "Qt Bridge for Adobe Photoshop" macro.QBSK = "Qt Bridge for Sketch" +macro.QBF = "Qt Bridge for Figma" macro.QC = "$IDE_DISPLAY_NAME" macro.QCE = "$IDE_DISPLAY_NAME Enterprise" macro.QD = "Qt Designer" diff --git a/doc/qtdesignstudio/images/qt-figma-bridge.png b/doc/qtdesignstudio/images/qt-figma-bridge.png new file mode 100644 index 0000000000000000000000000000000000000000..28fec5253d9807f90a33a5481a4e8117a1aa14fa GIT binary patch literal 12651 zcmeAS@N?(olHy`uVBq!ia0y~yVEDkmz+}h41QPKQ&|qLNH1c$D45_&FcJ9k!k?VWE z|1^HLJLIWdX}oRa#1Bf|qUUudb$R}IaOA-f4$c{>3OUL=$I^-$n3&DXb~_$QGfp$^ zR=gor5P2kNV{{HvW2?aIn=K5AD$TvyekaylE4;ip!(`UPw5a?32d}*FDfjuS6D~M8aVsutop8a)BLhyW zY!MKO^2ktB*&?uZ;igTWj&urNjC-momchO7_3PLB|Nr}aP3Gj))#3SfcTHVWm6?&T zqww*ujmgL5>}qD%RjbZoO|AbldA>`D)iLjrBDU+1m)`|IoPH=EB3 z-O#@G@%#S&e;XK?Pn|mTDCX&-quqCRmzV!O89jaa^!E2tGsKq*Z?F_xC|G!FOQ!z5 zACFcBFW1u264Q_CajV&QYsw+c-3}l2_|LZsUl+5p`un?ETeAy){rUNMpRZ!?`A^q4 z&PF{x)|(wz;r3!*?e8Lmsfw#st=jRX<^9x*>gB?lEd>{T{B*wlpRtg|es%wOJ|4RZ z9yYmJ%LyLUHdmbN@bByO_~4G4!fHMV+|SR={e6A^zpwv(zrTIY{{NrP`~N)EU+y>e z)Fibn+H;K4&#eettntKZL-KLHZ3lLzq^HO4ue+PQ*)_8I`|0WW`@dZB{`2#U@%fzl z`{s)7%|FZJmvPSLySh!)7mb?rcld7n+?IBB7AP!Z7F=5&|NmNa{zpCMcD|=~%2o#) zN@nU+T<-g*CD+d-TBdyevGf^69~5_I(_G+wK1(zPq#2($cb-o&VmR zO5?=ypC(*g9X@%^gzYn|u3o)*xQ%zVdA{7itqT?`@Sd)>LU`kZV$QqV+}xJkMa9LI z6Zd%9aBpzz`Sa~|{>Srce;>F1w{gdg8^5pVF)aSXt-r^h_SYAFr+{X^7ai6KPQ_t& z_Eb)uZs8DSS^LW*{o*v;=!l}1mzLTj{?-m#BVk#jQmy1GTws+rJ6OAz!PpaL|(b*uxzue|5x*5wn^rsYW?{a)_6;7lPY{&b^q4v zA{Sw+M|>5=N^-gEds^qPwe!ony;gK?`%&h`m>`y23RxM=bmHP5@db}LxL#qXA1+Ah^O>DT3B3t5VdD)`9Fv=<2?bO4!B9rEoy}fny zwx){EWW(8au4yg_Gww;>PKvFa7uSuexdv}-~VGh zlF28P6uaID)9oFa{_0-WHCuhhnWSm|2>)F}aB1X#FKSwxqZ}GF7vAFv3GT%QheJvX}wc7dR=gppd zTKT3^cFVn8rK^MZE|$$bba!{TapSh_!5m*6hOLcqji2B?ue$Zz$&)+pA9;MdKe>eK z^y$+lBd%zQXo~Op`0{qyovE{JDmVGYy}zTHbJ_aI#psOh4l+BW12gV!6VBD$k|@8% zrsl_l0Izj-PMv(+nvo8x4sgYZ%WTfG;xB$o+Lxv#`jRc`)^_V?HIvnuQ#*O=3Db#-|53>(h5dQRtOo4?=veqVR-W}zsj z?O`vZ&GUTbSbTgc;Ogo+P1N9rth0-7@b$IP-ygQiw@JS=Yt7OzsQ*_pP2N0DhI!s` zv02Zj1f1I~V^c9V?EL)gcD^y2W^~2>zuzUbdk#6b^94#ozu**B+mM%>F{ilg#aB+> zrh{%=+}!?iEF8bRY5BJI^eoftITzlD9(In~Q!!DPv~*XtXPX~3czbzS@IP&D z`NrKVzvA{&s6?cHF{Po@1`}59~H< zc^1pDw^dQ1uKe1X$UP}e)!)0`J-)QmJ93`7cKEs{Z<4ZA9!+v~Qdcr*oWPpo{^Ev{ zySL>YCuYa%Zmas#wmfy(o_F`wrqt8f>-QexRI^tpX_<03_Rd~S_U^*9?rLq7^XzJ? zv|7F`lWD2>l&o&j%5&_Uw`Iqv>Thp0`WEgJyz;cYW#9Q1f3Dr$JUipwJ8{*BRBxf> z?mZF*HU7lc{ZyT_)G6co*C%UlYIh%87kpy=HUGKRmDK2dFSb4#`g+rk0f|F*ufKU{qFoV&M!V0DoQb-{(2&kR(qQk&9`u)AV z*5(uE&V4&qdFR)VurQ5O*U8F zo^p$AGoP{f-xCv+XPVFcxZ>j97Z(>-+*}>5zswobLODOrc4pshMHb=X!G0O(d;C!tqLzDFO694$%ii7Hecb2nlnsAFSBDuMUVbY`MWf{Z zzrQmr>MA*w*)H3#Y+2jMe)F6g8%kbYvMhc!!9c-eo1w2w^V<4#wh`3s246taEL#d%tGzvNyN4_iHyx1*zyhEl^tKk#Xqfm6gHwYd-t> z&3k)$`|Y%oR(W@Kxvp}yOq)Js$_icA?pC+O-qZCWmv1m)c{Xu>Sa|s4q6wlpaeHP= zX>O33R}{0m?Cqge?j{Zdp$|qyt z;NC>kZ855cpXU~dmnQ)wx4SccWil$SvM(v*;8@so%)n5{Kc_)@TA;D+)h42$)hqztc z&2|SD+46};g`Ip;CSWzsYh^xX%E=VLmgiL$)jVFyxB4wQ-e+~uDoCaLLu=m3<3YN? zZ{E*{D(`ZC+A%dk`&R#tv+pwe%DWa8ZT@8^_SSLEH1pM^6I%1GCBORk+oMMP*0lGF zABfu4t!>sUahV-!)3Nrw^2Kc?**mj$^t~)uUNC#F*6%g7FCIo;th1?+n*VO&R=#bQ z=PI$K1>fW;n;P-<;laxxomW09@Z@(_#F}rOd+n^1tjWUIU2j6Recq?m^3uEYmVbzr z?VawEu@g1E&pLdY>)mqaWjnUc+PdKKE!As{<-3AiX6woYJEm<2eKc1<)c4M}0KK5| zZTmh}ZL{hH9w&80qrdXK z8JQ(Ncwc^4qio@{J3nuSbXoZNxTzNye;l_6HCg)p+1%e(E{HE_Rx^oD-zcYe+&{f( z*8~AZfmzFzIA(@PO;_vtTe>vC;_gYIjJ|2>ns*-!jEd3%oBLw#MMvS^`&NtiEPTti zh4ZW~U*G(D8(a7e?En1y{N*Vo8Ar|^VAk96ex7XUMYE}PTQ~gkDs}$)_*gW*w7t%{ z|Msiri|i|2v+qaT;rZLIR!;x3V8_3MkB@oAU){fD{kubd+2m?xTLoU+@Fr%j%{Q*I z0Xg3)75_R3&wAG9{^CsOuE}3H_I`h}g4OMx&l;is*}iXQ?&dxG{kZD2U);Q*_s!Ss zzAzy+VEc=lzklCLe~-&wQ1k8NuhaZe|2F;AO#T0V+OC(!U)S&3H?1|l?)Hhr`Pr&d zc~_tJ&hT%YGG)evvgdtjegECu3tFC?OFiT?`)tmX<7wjmexKX*+O+pbZ1|^d8>@U| z_iX1|$a#D9x$B$f{xz5Wx9xG~?%J}eZ+BljusA$J=YHAN#-m|VuFT)BzfhUuZJuj& z>$lp^dJmk6o$dS8l$XliT^_ z|9v{G9~^sk{k~sX`+wZpQMh>fhw}Zu@7~;;ezSMVzS8w^do$k5G)`xW&XAh8Y>DGa zf2rwe%NAzl)g3r^L7QjQkrUyJa+`a2Fu8m9@^ zNNm?!n*X=I{!jC^IrjDYl(q!*rEujM&#(J%kbT{U7Z(>#u~_)~`}_Un@8imzb?fgl zc>n+B`TD&3`{qWfc3KIm`TV$fzHVE|%b-L2-GxRQBDRRG{cvHSbNabCKYu*#SKZR$ zx9`H9SVu?3wuh>!%5FUmCLL_O)FNk)z+m0{XvV333A&t|*@-scXMAUyrKYC7y|uOb zqWCnO$W4`>)4t7LowY^uWI@CMuA6rIpH06YWcAbO{9NnlYmy%w>6}vY@8|QBij=Er zCiPa=<13$vip{pG-L=*(+P#UGY=Q!3q?7p$G-?% z>?Y_~IPpk>Ny67xS6^RSYpl;NW8tv$ddr4~fdLn;J-V2CaGvuUQT~h`=jD42 z-7jzB8mr^D2|*Xg#cU7q(w)}WMkCPyPCI&I4Rw`9VcXv-}vep4?@`?^Vb zny2-`ljWa3e_mOe%{(vok+*Tx_jj=&AxD@*gqoAraQy!EcCl#SOrN=`s#{v}*y}#e zzJFokW5Y+Q|H~elUUVel}G&SIOM2&?-|aJms|skrd#Qx#6#g{>{qE;u=PXDBXI-2zRKU^XZZ=T=enSOA$aY0~t+oAteUGRG{6Q}ON=7qr4>R4aYZ9c1f`0|I< zTG2g)W;!c2|NpaZf}y#_&dSfvy!H1UIV5pj%)e@<0YzCZJ<-9pZF-(2hJnok(nY~p&H^TGSZ{I)tv?{9}* z%`wPfKbp&Zdt0t@h`aPDXOKCLw;bFjd{;dZb?V^zh?Pmd1uJ%3;E_yj&8y(m(9}$f zeSb*BSVnyICPu3a*E_vtQ`%dmU0B&5O; zS*Ti4Q}OsYMYg3o1Kkqn=6EL7KD*b@~RdNk^dvGe1bS}nz8_smk63nQ*9 z|C7iuFCxM0vF5`Al6EtXfJ(O%wF`IJ`|8*57|-5%!aQczqjQW`)ZhII`{~Ycf9H`C zOCNfBy*R*?`}oo_#d|VVfBfd#y_;gCY%#rUg$7c%IW*~(h)P=h$GQ5b_=DA zr^&ZG<6Fvkwp@J$>%N1^ibk^g%3XsmEr?tAQ^@;3>$deT6-?s!AAOgtDGhdFX9gG9 znPF1b?Ls;CT}TOG$-KY({+B*gmt~KCha9bYC-63S>H^NUdqs2q9-9CE&+{Us;)Org zxJ%TXKbOPz#P@}|Q}MoC(z4UsqOTqN{`6_dvs*r&e+p#?Titm0lYQaI)jF>gE*Hr+ z7;od=%Vn4Q$bDtcjDsEwJY0tjq~dG8itb-yC-kU5xP6v|#-y`~{Ob;_tciNKTEK+M z*O~dEkBOMC+u@5fCX1d*Pjk3@q|txDe4$&_=Cc%he;qaL?ql6<{4-70wDi}P%wv*P zl864ZB`b0*{ya58{0d zviZWVhJC)qWy0R;boqjViEyv$^^r?O|Ml!BD(v6iOGbOK9esNn9Sd zwW4#j>F58j^LZ)Y^n1>?th2U1PYI-%1UnwYLEi3*%n;5~OzP;vbh6BgM5Ht7Z5I3KR?*}Hi6)DLr{{r^kjoH+*$=RmCJ6+A#-CuwlbZhn2#^Wi+ z%8t(~@Sf$^DzxF^bs>v+lbwSf?>Qyxb;94n=}oBjj@2$QHXTl-!q=3h#ac{NzI8|N z&}ZR=mK%1d9h%E`UFyT60&j+8T5sLh`)$;BKd{_s)cp9d$yHwiwUEz8O17^*aiM%m zxa*%QEgy4*`DcGvDI+(VIsY@i)9*QbE4CWnKKb@&=(@i@o<>hJsxf^pb<}jS|5Luy z&;3r-Ti4|tTD|pp&iXrx_I@xs{#|a5R{L^EN8h>iBC{TImRrSSufO@Qu6x_@>oV(R z)@YS$%&r%(nsqsD?cOx^;Fv9v4|5;pYUXnv+h)1JsXbfvaE^SxtF+Ks(O2`1U7x}m zn8716_YnUkyPjPhSGv9}*5mp*@r8w%yVx$*sP2*lu5#?5Pvu*l)%Pf`@8{RN8h6d> zDTk9ZZ()G`rAci+GTtzheEN4$p~*Y>_=4byiMQh9*u64l>UK73ZV{P&gi$=|*y&q+ zs-PJ-q=6`xYR+2c4u*vsx>JfcAcO1J=j&j@RxsMhiF+c`Ldj_}Ze~x~B?AB zfVYab95a^H$LuIbyuL2hy8N9@#s!6EHro=fi|NPRSsQJhwyxa!(;T5wZ$qnv&V74( zd-JAEr%s;^E^L{juBxi~rzWUZccHRF$UNipa~BpmPn`O4U-+7ci;La+A3aJ67CTya zH%YhOX8DrHg_9-T98UDwpLuy%?%iFXAYB1rVb_-X%Zs-O79Q)7z^pJ6np2i+8uou&p+$ zKh@Bu_vPedbx;1h`}^K{efspttzXVpuE#K=8(~H z|M~OG^W#E0%vhlO|l@#B(Dd4HbG zv?l*L3nXF#=u6?zW3Qv?$dUxwK`CVKS+m1{KMjhq_wX=~Xxj|h)&}_E~D35_! z+F%BF&Z$LAC`wcvnJ*if!ON<4NjPndPl|>C?==l3(}=|aGdn;kA^8(&)@x$W!h8-v z1(AiVL42UebFepHrV*GR3sNYlt*u?wzy0)qHP6q_zrNz2Y-|RbaV&BkU9i}_-^|1$ zU|+?@N9dDYznk{Cy1GuCI@RX6=lOZIg;8=PF$)Eg&dsrOZs&8ow!8fOx`>U7-23H@ z9zD8Dr|YrR!P`z2=QTaG7rwv0fBxLLwV$4N&MTJFvMDcFc>2_-UteB6K4jo@W`<$% z!6w!h-RoI$N;XO|Bl2g}>uYP*SY%&YqZhmD%iG)24|p0G z#O<8N)?Bq@$v@@&=HAoO(+#W7&$HEW`*~wy@=wz}NAt_tgiiI#+v|llX_^S7q^928 zS9^Qvlc!I6HKh_vipUNOO`BIwJPh>6wS}i&OUyd)2JQ3uHYGuyj{)JRiQ6Vn>GqRet5WD zTrWn#roup7&bnvH9R4MeIuCj;_+{K{HGXxZQ+Uq&)6;a5x69j99QYQ#KJIL1)vGI- zeXYSByGkrT6MM5NnKfKoo)_jUoXB&v!cV}}g?njU@B963w~oV-|34o0pWI-1Fv7=- z-TtXUTkfqbo%VY**+W7?1oVrGiz`($w(Y%;eSMv7PSX=bzlH8S5``ZgI7WA;G=Eo` zGvB(rPr>(t+Rv3MS5DMpd@u6u-rm_ES8r>wd<{<+`}NU0bIWZOGq~qRC!VJZqzu%fgd0ICs5Mog}Gb zqRGDe>AAVq*VjfLU+K}3HeEwgL*qm26qkhj+lorEMzg1$*qN=V*?-SzH~XUv5|X=v zU$m%2Qt2{gX^qM2l`FmdNWja#tl5<~MPc?=s zsyIU_xy4WEo{W`WjbcoPiI9}_PWkJL96V%H%Z|-x2!yP00cX<|lpL+N(6wEBmjBeB zlm3+|UgFu(^KokX3a8Dp>KwE#32bpWC&ry?Um~i++o`x5MIX3d4=t`hYimH=d+6dC zOM>}P6Q-KtqEkw+Tf;WBnTR_!kCv*TIzIPK*>SF ziF>IGQfUS+cF_F;FGVL@a9ZN<;@7WV)B3hY$Hvw^Jj5CnvbWnrXx2d=alM!uTeGj9 zn`_N4W%A<1#l^h5ycfmRty!a^rDgPWd;a}-Q>TW;#jUFnf2m}Wb#A6{`ilz-)6dNT zt*Ge|)vo&TA}}UKCimxLb^o;V^!xkk?KdvabIEGe)7E}{c{#tC_5SoTGd3n1Y-;D1 z_nU2&dufSh^06MpB7aB;FEO~Md$B5n#A(&?(XvMZ*ESWG(EmBsH4!NqytkLR6U4U=wPP&Vd2vUI|cTWj;=HXE$o z|NGtU+TY(|_f~z~S^T`?b(X=!Wt#3qt$93W1rCd8yuZ3yyz$S+$H%jbFN)1|@@^8G zIHyr?<{nMZ|Uo6zB3FIkL4IT znW%l-Hkb45YmrR`K|xJlo}Zupy^PB|=SD)bgngaO=^L-?7VhnySW)oXpI2>?{+5Tk z*`N2gyt8o4g+_ zG-Pl-A}A}dzft~V`n8QmDmmWXC|E0GRc3l~f5o=L3BCDyJ|25`xILDWS<&D|kgqRq z@-+i9-`m$cg7|tHFWUY2aJcU8FJ4KbCtt6}r$=~kN!m^|T=ZeVf&~id>dUunGyB`$ zI`O{5o>OzD&G2G2%m~}!T)>;oyzl3d?SXfVJYSTGOSQdU-yfgRH-T}V-H!*%<{5K2 z@Ah3^b4^~VvGV1mrP14RHaZ-=kBx34A!9N&=KQ-12lg&xN!@h0^@CpA+1W`%fPSmb;- zVg8Pur^hu8`(<2TCv#%?{JK*X4Km!$jB2$NSC^Os*VXOgox>U9E!lQ?wHo_Tg%c*n zcN9Lh$c#O#Xrfqia*`@f^NH1FJ+q^`gOjeUiJVf*nmpx+3SakCt%a7S&)>=YvEEd0 zmFB!zNj~>>7C)a+Z zs4dSxt-=W%(-xhXXFGel2lv9YWh-=E>r}4>S*{R!NXXr<>*Pbu-}^8PN|>X9)${$t9`O{p)-boBC%B{!Y^^YioDQ;+!?D~mhM zny4!0RRxR8n)>ASA>Q5}7v1F*x36`5cxI+?H88bQKlJ%;^6+LIK2qw=tHu?P4j|-2^FWS<3VXdXu z_W!fZa!>IK)?Hd;R3_A4>En=*khap~)WVgEKV)TXTUKMMvZ|+B-~FBNtV7Ai`%K%G zwIr*&JgvBb$xF_*>c~~Cm%{6}{JU_-x|Kz7SFm7f+~zc1_qms*EH*u!q;ThU{{FKP zU-is4I6u&17jC{AJbJEvCEZxp~3?hHkGsU7lwu%Zn!6llHsJA68>2^YCW5d2^Td#V;bc z9}afCUsnCfE)Po(E@l%AUO*VzS8YSKfJN@2|e)wO@2^i7?Gx<~Rwwk^)g4 zfYvvF*MVZMBR{n4Q*>zvXc6Jaw!a@7WS;wX(Ow68m6SV)EiR{7TGO6>zh57}Rr3=2vnPfy|=40Tg$9Zc*evpod;zr4xCf3b-Hnl zTQ>UgkLf-a8Otmd&Xk@Txvz5No;`Dx?XCEzWO`cXKByw(2Q|f>o|<~>g31wT^Sn1V zH$R{M@5}P<_p19X59el|*?wT@{RX**QUKad-m+#)A9cGop(PO=jv;pF0%0tEBMu{f)`)-v#!(5}tKtDK&1HUaz}IEA z^K9A29cAzDon3aLN!G&u#*a2$>4+JBmpJ8Yeq$rAwwdAUvFe*;HNRilI?M}xex+u< zz?rYQ3zIo*6A!gKRkZv2CD@3CYvqf-zrP!A|Gmt2c7|fsoUEfc^YU+QYL$HJss3Zi zzh3iu2jp($oSdY3rv2ZGi^|)!rJa?Uook)cvajIbA@TT{gG^^s?J_T^>^pySa;LC* z-QTa*bN+mIc(}E-RpgV<(-~(Endjfr(bi55o|CYRnOj`%iPIaVh#z8mGWnwuz8<^q zeEa6Kvq@5sHpxL1aY;U%;qkR!|NQ){bD-pdjKb{HpKspe%)e0c^3A!q)^8Z%x82-X ztlk}HoU>%xwrO({MZF>#=B5PS+fn`cn(nkGv$L-V1)q7W#D3IrXYOsYZ`-zPnbMVd zvg7wlz6rhWZ*6^jWo7W1Ly1KjWHz<*g=d_~e7vvr_a&PnvG=#We|2^BV)y=Mn*&PJ z&)qBwxWKghJCjsk#;g`IJq?YBT_r2CPyhVhuVP^Bf89_x*mi(78P;D=Q-V z_qVq*(ycqi^7s8z(|z?#tA=}DvdRO&u$#`&atq%sdUz)J_l?Y(S|97)+}LQhFxPec z%CLyQz=M%z^=|IlI9cPhw~EDc%b(%vVrEXAdi3`$t|zKa2c~ES=bZfT_e+@dbLO8W z%NeJ4BpzQuy zA!t2rUDf%BeTO}7*wy{9Xx(>rGH7O3lU+PasIxeSExM zJ)}MV;9l8p8V9)hoImfL@mfU4J7)QW2&ev* z37L-9OUqyIMDBaI`^u$b5q`%{-|kGjyGCHmA+yLCM?W<5@<^F<%zq`&pSgDXy{gsq z|Nrfgwe{dxF!N>p&E1=C>@0r1#=MQ?h`r3G+=F{%tuyzhE4L>GUu;Q}|M25x`uwN9 zor@pNJ(S@Td?>F#XN`ydbm80UBwCoQ`c{Xpe`b=L{YJt~h~rJ|PKF|dH==tzUyHci z@h@+kp~Pb&FlUzTFm1snxW~e~C0FU-E&qrSDd+{^b%i@rQ%4 z*pi>i7HI`8;jd{|Ik@nE)NHowHy0PP&wu)9tLN2a8TtVe^QSIITFsVSva`MIvZ$kk zUwB84Gh&S9qSHd*e_}fYUb5Yv^!|wcjVD_;+Rpy@@wlGxg7l&NK2!J}FfcGMc)I$z JtaD0e0ssPgeFgvk literal 0 HcmV?d00001 diff --git a/doc/qtdesignstudio/images/studio-figma-export.png b/doc/qtdesignstudio/images/studio-figma-export.png new file mode 100644 index 0000000000000000000000000000000000000000..4924b0b1de3ce4b0e58dcd4ae21a6212f550049a GIT binary patch literal 277756 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

M)>;KJ}opbB$(fsQB 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 + \uicontrol Development > \uicontrol {\QBF} in Figma. +*/ diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-figma-using.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-figma-using.qdoc new file mode 100644 index 00000000000..b905e08dadc --- /dev/null +++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-figma-using.qdoc @@ -0,0 +1,130 @@ +/**************************************************************************** +** +** Copyright (C) 2020 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Bridge documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \previouspage qtbridge-figma-setup.html + \page qtbridge-figma-using.html + \nextpage exporting-3d-assets.html + + \title Using \QBF + + \section1 Organizing Assets + + To get the best results when you use \QBF to export designs from Figma + to \QDS, follow these guidelines when working with Figma: + + \list + \li Use pages for different purposes, such as \e sketching for trying + out ideas, \e components for creating UI components, \e assets for + images that you use in the components, and \e screens for building + the UI screens using components and assets. + \li Arrange each page into frames. When you are happy with a design, + move it from the sketching page to the components page and use it + in screens. When you export your assets, you can skip all frames + that you don't want to be part of the final UI, to avoid cluttering + the \QDS project. The QML code generated in \QDS corresponds to the + structure of your Figma document. + \li \QBF supports \e {Figma components}. Each Figma component + is exported as a \e {QML component}, and each Figma component + instance is generated as a respective QML component instance + in the generated QML. + \li Create components in Figma and export them to \QDS before you + start making instances of them. In \QDS, add functionality to the + components, such as button states and then bring them back to Figma + as assets. If you use functional QML components in Figma, you will + find it easier to merge new iterations of the design to \QDS and + continue to build the screens there. + \li Use descriptive and unique ids to avoid duplicate QML ids after + exporting assets and \l{Importing 2D Assets}{importing} them to + \QDS. + \endlist + + To use the fonts that you use in Figma also in \QDS, you need to import + them to \QDS as assets. \QDS deploys them to devices when you preview the + UI. For more information, see \l{Using Custom Fonts}. + + \section2 Using Frames + + The relationships between frames and layers are preserved when you export + designs from Figma and import them into \QDS. + + A frame can only be exported as a component or skipped. A component will + be imported as a separate QML file that contains all the artwork on the + frame, except layers that are set to be skipped or exported as child + items. The child items can contain graphical assets or text. + + \section1 Exporting Assets + + \image qt-figma-bridge.png + + To export your design using \QBF: + + \list 1 + \li \QBF automatically proposes identifiers for all groups and layers + that you can change in the \uicontrol {QML ID} field. Use unique and + descriptive ids to avoid duplicate QML ids when the layer and the + respective artwork is imported into \QDS. + \li In the \uicontrol {Export As} field, select the export type for the + group or layer: + \list + \li \uicontrol Child exports each asset of the selected group + or layer a separate PNG file, with references + to the images in the component file. + \li \uicontrol Merged merges the selected groups and layers into + the parent frame or group as one item. + \li \uicontrol Skipped completely skips the selected layer. + \endlist + \li In the \uicontrol {QML type} field, specify the QML type or + \l {Shapes}{Qt Quick Studio Component} to morph this + layer into. The component that is generated during import will be + of this type. For example, if you drew a rectangle, you can export + it as a \l Rectangle component. + You can provide the import statement of the module where the QML + type is defined in the \uicontrol {QML Imports} field. + \li In the \uicontrol {QML imports} field, enter + additional import statements to have them added to the generated QML + file. For example, to use Qt Quick Controls 2.3, you need the + import statement \c {QtQuick.Controls 2.3} and to use Qt Quick + Studio Components 1.0, you need the import statement + \c {QtQuick.Studio.Components 1.0}. You can also import a module as + an alias. + \li In the \uicontrol {QML properties} field, specify properties for the + QML type. You can add and modify properties in \QDS. + \li Select the \uicontrol Alias check box to export the item generated + from this layer as an alias in the parent component. + \li Select the \uicontrol Clip check box to enable + clipping in the type generated from the layer. The generated type + will clip its own painting, as well as the painting of its children, + to its bounding rectangle. + \li Select the \uicontrol Visible check box to determine the visibility + of the layer. + \li Select \uicontrol {Export assets and metadata} to export your design. + \li When the exporting is done, select \uicontrol OK. + \endlist + + \QBF exports everything into a single archive. Before importing the project + into \QDS, you have to manually extract the archive. Then you can import the + \e .metainfo into a project in \QDS, as described in \l{Importing Designs}. +*/ diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc index 27fd037067d..8bc50df787c 100644 --- a/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc +++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-overview.qdoc @@ -64,6 +64,11 @@ You can use the \QBSK export tool in Sketch to convert designs into metadata that you can import into projects in \QDS. + \li \l{Exporting Designs from Figma} + + You can use the \QBF export tool in Figma to convert designs into + metadata that you can import into projects in \QDS. + \li \l{Exporting 3D Assets} You can import files you created using 3D graphics applications and diff --git a/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc index feb1de5f10a..c4069f0152d 100644 --- a/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc +++ b/doc/qtdesignstudio/src/qtbridge/qtbridge-sketch-using.qdoc @@ -26,7 +26,7 @@ /*! \previouspage qtbridge-sketch-setup.html \page qtbridge-sketch-using.html - \nextpage exporting-3d-assets.html + \nextpage figmaqtbridge.html \title Using \QBSK diff --git a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc index 839fffe62c1..e247aebb56c 100644 --- a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc +++ b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc @@ -44,6 +44,11 @@ \li \l{Setting Up Qt Bridge for Sketch} \li \l{Using Qt Bridge for Sketch} \endlist + \li \l{Exporting Designs from Figma} + \list + \li \l{Setting Up Qt Bridge for Figma} + \li \l{Using Qt Bridge for Figma} + \endlist \li \l{Exporting from Blender} \li \l{Exporting from Maya} \li \l{Exporting from Qt 3D Studio} diff --git a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-3d-assets.qdoc b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-3d-assets.qdoc index e5008124d9f..36fe041e22c 100644 --- a/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-3d-assets.qdoc +++ b/doc/qtdesignstudio/src/qtquick3d-editor/exporting-3d/exporting-3d-assets.qdoc @@ -29,7 +29,7 @@ /*! \page exporting-3d-assets.html \if defined(qtdesignstudio) - \previouspage qtbridge-sketch-using.html + \previouspage qtbridge-figma-using.html \else \previouspage studio-3d.html \endif From ca992488c057b40e0774a18965f75f9277daa5cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kai=20K=C3=B6hne?= Date: Wed, 9 Dec 2020 09:18:02 +0100 Subject: [PATCH 34/45] Fix use of translations in Qt wizards for Qt 6 qt_create_translation was introduced in Qt 5.15. But we also still support older Qt versions, so we cannot use it unconditionally. Fixes: QTCREATORBUG-25070 Change-Id: I81de7e19b42e0e8cb9cb23e14909e71c534dc0da Reviewed-by: Joerg Bornemann --- .../wizards/projects/consoleapp/CMakeLists.txt | 6 +++++- .../wizards/projects/cpplibrary/CMakeLists.txt | 6 +++++- .../projects/qtquickapplication/CMakeLists.txt | 12 ++++++++---- .../projects/qtwidgetsapplication/CMakeLists.txt | 12 ++++++++---- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt index 6e134b6489c..b0de6b947c5 100644 --- a/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt @@ -30,5 +30,9 @@ add_executable(%{ProjectName} target_link_libraries(%{ProjectName} Qt${QT_VERSION_MAJOR}::Core) @if %{HasTranslation} -qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +if(COMMAND qt_create_translation) + qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +else() + qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +endif() @endif diff --git a/share/qtcreator/templates/wizards/projects/cpplibrary/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/cpplibrary/CMakeLists.txt index 612f4297776..f84cf90b29a 100644 --- a/share/qtcreator/templates/wizards/projects/cpplibrary/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/cpplibrary/CMakeLists.txt @@ -46,5 +46,9 @@ target_compile_definitions(%{ProjectName} PRIVATE %{LibraryDefine}) @endif @if %{HasTranslation} -qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +if(COMMAND qt_create_translation) + qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +else() + qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +endif() @endif diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt index 34f57b36b85..c77aacfcf2b 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt @@ -46,6 +46,10 @@ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) qt_add_executable(%{ProjectName} ${PROJECT_SOURCES} ) +@if %{HasTranslation} + + qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +@endif else() if(ANDROID) add_library(%{ProjectName} SHARED @@ -56,13 +60,13 @@ else() ${PROJECT_SOURCES} ) endif() +@if %{HasTranslation} + + qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +@endif endif() target_compile_definitions(%{ProjectName} PRIVATE $<$,$>:QT_QML_DEBUG>) target_link_libraries(%{ProjectName} PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick) -@if %{HasTranslation} - -qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) -@endif diff --git a/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt index bd016285173..9f247d55223 100644 --- a/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt +++ b/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt @@ -50,6 +50,10 @@ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) qt_add_executable(%{ProjectName} ${PROJECT_SOURCES} ) +@if %{HasTranslation} + + qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +@endif else() if(ANDROID) add_library(%{ProjectName} SHARED @@ -60,10 +64,10 @@ else() ${PROJECT_SOURCES} ) endif() +@if %{HasTranslation} + + qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) +@endif endif() target_link_libraries(%{ProjectName} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) -@if %{HasTranslation} - -qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES}) -@endif From 77993e7b581ae77874122afa38f1e114277728b7 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 11 Dec 2020 17:11:13 +0100 Subject: [PATCH 35/45] Debugger: Fix passing of extra parameters to LLDB dumper tests As the others do. Fixes the WatchList dumper test. Change-Id: Id1622f6d405e9e9c9b1f4b0124a7dca74f7e3019 Reviewed-by: David Schulz --- tests/auto/debugger/tst_dumpers.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index a2a708f3a8c..744bd998099 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -1799,7 +1799,8 @@ void tst_Dumpers::dumper() "sc sys.path.insert(1, '" + dumperDir + "')\n" "sc from lldbbridge import *\n" // "sc print(dir())\n" - "sc Tester('" + t->buildPath.toLatin1() + "/doit', {'fancy':1,'forcens':1," + "sc Tester('" + t->buildPath.toLatin1() + "/doit', {" + dumperOptions + + "'fancy':1,'forcens':1," "'autoderef':1,'dyntype':1,'passexceptions':1," "'testing':1,'qobjectnames':1," "'expanded':[" + expandedq + "]})\n" From 361884320abfc126e6646d9f4467c4b77d82fa72 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 10 Dec 2020 16:11:34 +0100 Subject: [PATCH 36/45] Fix installation of Qbs documentation The Qbs build system uses an "option" and that overrides a normal variable if there isn't already a cache variable. So we need to write these variables to the cache. Amends d07ce92d0ddec65b02ed4b5613eb12a83c346002 Change-Id: I98a7e31f278d509f50e20537af9d574db71d2e9f Reviewed-by: Ivan Komissarov --- src/shared/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt index 683b8ba4736..cbf076479f0 100644 --- a/src/shared/CMakeLists.txt +++ b/src/shared/CMakeLists.txt @@ -35,8 +35,8 @@ if (ENABLE_BUILD_QBS) set(QBS_DOC_INSTALL_DIR "${IDE_DOC_PATH}" CACHE STRING "" FORCE) set(QBS_HEADERS_INSTALL_DIR "${IDE_DATA_PATH}/qbs/include/qbs" CACHE STRING "" FORCE) - set(INSTALL_PUBLIC_HEADERS OFF) + set(INSTALL_PUBLIC_HEADERS OFF CACHE BOOL "") set(WITH_TESTS OFF) - set(QBS_INSTALL_QCH_DOCS ${WITH_DOCS}) + set(QBS_INSTALL_QCH_DOCS ${WITH_DOCS} CACHE BOOL "") add_subdirectory(qbs) endif() From 50b2eb934f4c323006fff579e05c867edc7e0af6 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 11 Dec 2020 15:42:20 +0100 Subject: [PATCH 37/45] Debugger: Disable some static member tests for LLDB LLDB does not report anything in that case nowadays. Which is actually fine. Makes StaticMembersInLib and UndefinedStaticMembers pass. Change-Id: I302ab702e5eacf89fcd08ea1935dbf43e5e56fa8 Reviewed-by: David Schulz --- tests/auto/debugger/tst_dumpers.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index 744bd998099..c36b172e35c 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -7963,7 +7963,7 @@ void tst_Dumpers::dumper_data() "&f") + Check("f.a", "15", "int") - + Check("f.b", "", "") % NoCdbEngine + + Check("f.b", "", "") % GdbEngine + Check("f.b", "", "") % CdbEngine; @@ -8006,7 +8006,7 @@ void tst_Dumpers::dumper_data() + QtVersion(0x50800, 0x5ffff) // Both test cases are gone in Qt6 + Check("d.Log10_2_100000", "30103", "int") - + Check("p.FlagBit", "", "") % NoCdbEngine + + Check("p.FlagBit", "", "") % GdbEngine + Check("p.FlagBit", "", "", "") % CdbEngine; #endif From c6ae5ab50668e90462b24bed7e3a7b62d05de256 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 11 Dec 2020 15:27:40 +0100 Subject: [PATCH 38/45] Debugger: Relax RValueReference test Exact output depends on too many factors, just make sure the base type is there. Make LLDB+GCC on Linux pass. Change-Id: I520a8367ab00ee95f87b5d4fb935f3ae21efd820 Reviewed-by: David Schulz --- tests/auto/debugger/tst_dumpers.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index c36b172e35c..cfe7870ff48 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -6567,10 +6567,10 @@ void tst_Dumpers::dumper_data() + Cxx11Profile() + GdbVersion(80200) - + Check("i", "1", "int &&") % NoCdbEngine - + Check("i", "1", "int") % CdbEngine - + Check("s", AnyValue, "S &&") % NoCdbEngine - + Check("s", AnyValue, "S") % CdbEngine + // GDB has &&, LLDB & or &&, CDB nothing, possibly also depending + // on compiler. Just check the base type is there. + + Check("i", "1", TypePattern("int &?&?")) + + Check("s", AnyValue, TypePattern("S &?&?")) + Check("s.a", "32", "int"); From f167811fb136e72b7bf3b73936c70911e6284671 Mon Sep 17 00:00:00 2001 From: Assam Boudjelthia Date: Mon, 14 Dec 2020 10:20:55 +0200 Subject: [PATCH 39/45] Android: fix Android SDK default path on macOS Fixes ec68b4e96c8f42b9446604191365324b04bb6813. Change-Id: I07b3a627c77d363c1e7e3b2ecc1222e211792959 Reviewed-by: Eike Ziller --- src/plugins/android/androidconfigurations.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 307faa3b5c0..97e3be63906 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -1020,7 +1020,7 @@ FilePath AndroidConfig::defaultSdkPath() // Set default path of SDK as used by Android Studio if (Utils::HostOsInfo::isMacHost()) { return Utils::FilePath::fromString( - QStandardPaths::writableLocation(QStandardPaths::HomeLocation) + "/Android/sdk"); + QStandardPaths::writableLocation(QStandardPaths::HomeLocation) + "/Library/Android/sdk"); } if (Utils::HostOsInfo::isWindowsHost()) { From 4b33979bcdac3541163ad5a48ed1964999896ba6 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 11 Dec 2020 14:43:13 +0100 Subject: [PATCH 40/45] Update change log for 4.14 Change-Id: I3c94cd5241fb79518f84d14409e0c709f4c1a1f6 Reviewed-by: Leena Miettinen --- dist/changes-4.14.0.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dist/changes-4.14.0.md b/dist/changes-4.14.0.md index bc71160425e..7dd06282574 100644 --- a/dist/changes-4.14.0.md +++ b/dist/changes-4.14.0.md @@ -15,6 +15,7 @@ General * Added option for asking for confirmation before closing (QTCREATORBUG-7637) * Improved visibility of controls in dark themes (QTCREATORBUG-23505) +* Fixed lines disappearing in output panes (QTCREATORBUG-24556) Help ---- @@ -105,12 +106,14 @@ Projects * Added option to unselect multiple configuration variables simultaneously (QTCREATORBUG-22659) +* Improved kit detection when importing build (QTCREATORBUG-25069) * Fixed missing run of CMake when saving `CMakeLists.txt` files in subdirectories * Fixed that changing build directory to existing build ran CMake with initial arguments * Fixed that configuration changes were lost when done before triggering a first build (QTCREATORBUG-24936) +* Fixed `QML Debugging and Profiling` ### Meson @@ -185,9 +188,13 @@ Platforms * Fixed persistence of signing settings (QTCREATORBUG-24586) +### Remote Linux + +* Fixed password prompt missing with SSH (QTCREATORBUG-24979) + ### MCU -* Improved creation of kits (QTCREATORBUG-24354) +* Improved creation of kits (QTCREATORBUG-24354, QTCREATORBUG-25052, QTCREATORBUG-25053) Credits for these changes go to: -------------------------------- From 962918629bc83a4da291b8f30ff4d9caabf43e21 Mon Sep 17 00:00:00 2001 From: Ivan Komissarov Date: Thu, 10 Dec 2020 17:55:24 +0100 Subject: [PATCH 41/45] qbs: fix installing doc dependenices on macOS and Windows python still aliases to python 2.7 on macOS, so we need a smarter way to find python3. Change-Id: I229d8c1e124fb599119991b44c0f6d88d39b1684 Reviewed-by: Eike Ziller --- .github/workflows/build_cmake.yml | 10 +++++++++- scripts/build.py | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index a0c7ca5e883..a72eb318ef1 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -330,8 +330,12 @@ jobs: message(FATAL_ERROR "Failed to install dependencies") endif() endif() + find_package(Python3 REQUIRED COMPONENTS Interpreter) + # hack to replace 32-bit python found by this script with 64-bit one + # required for linking qtcreatorcdbext + string(REPLACE "x86" "x64" Python3_EXECUTABLE "${Python3_EXECUTABLE}") execute_process( - COMMAND python -m pip install --user beautifulsoup4 lxml + COMMAND ${Python3_EXECUTABLE} -m pip install --user beautifulsoup4 lxml RESULT_VARIABLE result ) if (NOT result EQUAL 0) @@ -394,6 +398,9 @@ jobs: set(ELFUTILS_OPTION) endif() + find_package(Python3 REQUIRED COMPONENTS Interpreter) + string(REPLACE "x86" "x64" Python3_EXECUTABLE "${Python3_EXECUTABLE}") + execute_process( COMMAND python -u @@ -403,6 +410,7 @@ jobs: --build build --qt-path "${{ steps.qt.outputs.qt_dir }}" --llvm-path "${{ steps.libclang.outputs.libclang_dir }}" + --python3 "${Python3_EXECUTABLE}" --with-tests ${CDB_OPTION} ${ELFUTILS_OPTION} diff --git a/scripts/build.py b/scripts/build.py index c4b2e36cc7e..1aa491f1bc1 100755 --- a/scripts/build.py +++ b/scripts/build.py @@ -132,6 +132,7 @@ def build_qtcreator(args, paths): if args.python3: cmake_args += ['-DPYTHON_EXECUTABLE=' + args.python3] + cmake_args += ['-DPython3_EXECUTABLE=' + args.python3] if args.module_paths: module_paths = [common.to_posix_path(os.path.abspath(fp)) for fp in args.module_paths] From 064740e1b7933be71676d2d17f2eb4561dc6bd89 Mon Sep 17 00:00:00 2001 From: Richard Weickelt Date: Mon, 14 Dec 2020 12:24:39 +0100 Subject: [PATCH 42/45] Update Qbs submodule to head of 1.18 branch Change-Id: I9b94a53c3e378c370a1723cd163181b1d3d21471 Reviewed-by: Christian Kandeler --- src/shared/qbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/qbs b/src/shared/qbs index 647ad909220..a3bd766f74b 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 647ad9092207f0d317c3f3ac70fd8810d7929462 +Subproject commit a3bd766f74ba6f95d1a1d5c1fffea3edd3946091 From e2a2af5d18525a841634aa7f3ef9777082c4bc8e Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 9 Dec 2020 14:38:35 +0100 Subject: [PATCH 43/45] Update and overhaul README Our binaries no longer support Ubuntu 16. Update LLVM requirements. Move build instructions to use CMake and overhaul the complicated Windows instructions. Change-Id: Idf139fd76b0cfb91dbce11f7b814ec8abd9b21f6 Reviewed-by: David Schulz --- README.md | 277 ++++++++++++++++-------------------------------------- 1 file changed, 79 insertions(+), 198 deletions(-) diff --git a/README.md b/README.md index 88e3afa568f..86e9b1eb787 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ https://doc.qt.io/qtcreator/creator-overview.html The standalone binary packages support the following platforms: * Windows 7 or later -* (K)Ubuntu Linux 16.04 (64-bit) or later +* (K)Ubuntu Linux 18.04 (64-bit) or later * macOS 10.13 or later ## Contributing @@ -38,203 +38,112 @@ Prerequisites: * Qt 5.14.0 or later * Qt WebEngine module for QtWebEngine based help viewer * On Windows: - * ActiveState Active Perl * MinGW with GCC 7 or Visual Studio 2017 or later - * jom * Python 3.5 or later (optional, needed for the python enabled debug helper) + * Debugging Tools for Windows (optional, for MSVC debugging support with CDB) * On Mac OS X: latest Xcode * On Linux: GCC 7 or later -* LLVM/Clang 8.0.0 or later (optional, needed for the Clang Code Model, Clang Tools, ClangFormat, - Clang PCH Manager and Clang Refactoring plugins, see the section - "Get LLVM/Clang for the Clang Code Model". The LLVM C++ API provides no compatibility garantee, - so if later versions don't compile we don't support that version.) -* CMake (for manual builds of LLVM/Clang, and Qt Creator itself) -* Ninja (optional, recommended for building with CMake) -* Qbs 1.7.x (optional, sources also contain Qbs itself) +* LLVM/Clang 10 or later (optional, LLVM/Clang 11 is recommended. + See the section "Getting LLVM/Clang for the Clang Code Model". + The ClangFormat, ClangPchManager and ClangRefactoring use the LLVM C++ API. + Since the LLVM C++ API provides no compatibility guarantee, + if later versions don't compile we don't support that version.) +* CMake +* Ninja (recommended) The installed toolchains have to match the one Qt was compiled with. -You can build Qt Creator with +### Linux and macOS - # Optional, needed for the Clang Code Model if llvm-config is not in PATH: - export LLVM_INSTALL_DIR=/path/to/llvm (or "set" on Windows) - # Optional, disable Clang Refactoring - export QTC_DISABLE_CLANG_REFACTORING=1 - # Optional, needed to let the QbsProjectManager plugin use system Qbs: - export QBS_INSTALL_DIR=/path/to/qbs - # Optional, needed for the Python enabled dumper on Windows - set PYTHON_INSTALL_DIR=C:\path\to\python - # Optional, needed to use system KSyntaxHighlighting: - set KSYNTAXHIGHLIGHTING_LIB_DIR to folder holding the KSyntaxHighlighting library - # if automatic deducing of include folder fails set KSYNTAXHIGHLIGHTING_INCLUDE_DIR as well - # both variables can also be passed as qmake variables +These instructions assume that Ninja is installed and in the `PATH`, Qt Creator +sources are located at `/path/to/qtcreator_sources`, Qt is installed in +`/path/to/Qt`, and LLVM is installed in `/path/to/llvm`. - cd $SOURCE_DIRECTORY - qmake -r - make (or mingw32-make or nmake or jom, depending on your platform) +Note that if you install Qt via the online installer, the path to Qt must +include the version number and compiler ABI. The path to the online installer +content is not enough. -Installation ("make install") is not needed. It is however possible, using +See "Getting LLVM/Clang for the Clang Code Model" for instructions on how to +get LLVM. - make install INSTALL_ROOT=$INSTALL_DIRECTORY + mkdir qtcreator_build + cd qtcreator_build -## Compiling Qt and Qt Creator on Windows + cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja "-DCMAKE_PREFIX_PATH=/path/to/Qt;/path/to/llvm" /path/to/qtcreator_sources + cmake --build . -This section provides step by step instructions for compiling the latest -versions of Qt and Qt Creator on Windows. Alternatively, to avoid having to -compile Qt yourself, you can use one of the versions of Qt shipped with the Qt -SDK (release builds of Qt using MinGW and Visual C++ 2017 or later). -For detailed information on the supported compilers, see - . +### Windows - 1. Decide which compiler to use: MinGW or Microsoft Visual Studio. If you - plan to contribute to Qt Creator, you should compile your changes with - both compilers. +These instructions assume that Ninja is installed and in the `PATH`, Qt Creator +sources are located at `\path\to\qtcreator_sources`, Qt is installed in +`\path\to\Qt`, and LLVM is installed in `\path\to\llvm`. - 2. Install Git for Windows from . If you plan to - use the MinGW compiler suite, do not choose to put git in the - default path of Windows command prompts. For more information, see - step 9. +Note that if you install Qt via the online installer, the path to Qt must +include the version number and compiler ABI. The path to the online installer +content is not enough. - 3. Create a working directory under which to check out Qt and Qt Creator, - for example, `c:\work`. If you plan to use MinGW and Microsoft Visual - Studio simultaneously or mix different Qt versions, we recommend - creating a directory structure which reflects that. For example: - `C:\work\qt5.14.0-vs17, C:\work\qt5.14.0-mingw`. +See "Getting LLVM/Clang for the Clang Code Model" for instructions on how to +get LLVM. - 4. Download and install Perl from - and check that perl.exe is added to the path. Run `perl -v` to verify - that the version displayed is 5.10 or later. Note that git ships - an outdated version 5.8 which cannot be used for Qt. +Decide which compiler to use: MinGW or Microsoft Visual Studio. - 5. In the working directory, check out the respective branch of Qt from - (we recommend the highest released version). +MinGW is available via the Qt online installer, for other options see +. Run the commands below in a shell prompt that has +`\bin` in the `PATH`. - 6. Check out Qt Creator (master branch or latest version, see - ). - You should now have the directories qt and creator under your working - directory. +For Microsoft Visual C++ you can use the "Build Tools for Visual Studio". Also +install the "Debugging Tools for Windows" from the Windows SDK installer. We +strongly recommend using the 64-bit version and 64-bit compilers on 64-bit +systems. Open the `x64 Native Tools Command Prompt for VS ` from the +start menu items that were created for Visual Studio, and run the commands +below in it. - 7. Install a compiler: - - For a MinGW toolchain for Qt, see . + md qtcreator_build + cd qtcreator_build - - For Microsoft Visual C++, install the Windows SDK and the "Debugging - Tools for Windows" from the SDK image. We strongly recommend using the - 64-bit version and 64-bit compilers on 64-bit systems. + cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja "-DCMAKE_PREFIX_PATH=/path/to/Qt;/path/to/llvm" \path\to\qtcreator_sources + cmake --build . - For the Visual C++ compilers, it is recommended to use the tool 'jom'. - It is a replacement for nmake that utilizes all CPU cores and thus - speeds up compilation significantly. Download it from - - and add the executable to the path. +Qt Creator can be registered as a post-mortem debugger. This can be done in the +options page or by running the tool qtcdebugger with administrative privileges +passing the command line options -register/unregister, respectively. +Alternatively, the required registry entries - 8. For convenience, we recommend creating shell prompts with the correct - environment. This can be done by creating a .bat-file - (such as, `\qtvars.bat`) that contains the environment - variable settings. - A `.bat`-file for MinGW looks like: + HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug + HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug - set PATH=\[qtbase\]bin;\bin;\creator\bin;%PATH% - set QMAKESPEC=win32-g++ +can be modified using the registry editor regedt32 to contain - For the Visual C++ compilers, call the `.bat` file that sets up the - environment for the compiler (provided by the Windows SDK or the - compiler): + qtcreator_build\bin\qtcdebugger %ld %ld - CALL "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64 - set PATH=\[qtbase\]bin;\creator\bin;%PATH% - set QMAKESPEC=win32-msvc2013 - - You can create desktop links to the `.bat` files using the working - directory and specifying - - %SystemRoot%\system32\cmd.exe /E:ON /V:ON /k \qtvars.bat - - 9. When using MinGW, open the shell prompt and enter: - - sh.exe - - That should result in a `sh is not recognized as internal or external - command...` error. If a `sh.exe` is found, the compile process will fail. - You have to remove it from the path. - - 10. To make use of the Clang Code Model: - - * Install LLVM/Clang - see the section "Get LLVM/Clang for the Clang - Code Model". - * Set the environment variable LLVM_INSTALL_DIR to the LLVM/Clang - installation directory if llvm-config is not in PATH. - * Before you launch Qt Creator you may prepend the PATH with - the location of libclang.dll/.so that you want to be used. - See more info in the section "Prebuilt LLVM/Clang packages". - - 11. You are now ready to configure and build Qt and Qt Creator. - Please see for - recommended configure-options for Qt 5. - To use MinGW, open the the shell prompt and enter: - - cd - configure && mingw32-make -s - cd ..\creator - qmake && mingw32-make -s - - To use the Visual C++ compilers, enter: - - cd - configure && jom - cd ..\creator - qmake && jom - - 12. To launch Qt Creator, enter: - qtcreator - - 13. To test the Clang-based code model, verify that backend process - bin\clangbackend.exe - launches (displaying its usage). - - The library libclang.dll needs to be copied to the bin directory if - Clang cannot be found in the path. - - 14. When using Visual C++ with the "Debugging Tools for Windows" installed, - the extension library `qtcreatorcdbext.dll` to be loaded into the - Windows console debugger (`cdb.exe`) should have been built under - `lib\qtcreatorcdbext32` or `lib\qtcreatorcdbext64`. - When using a 32 bit-build of Qt Creator with the 64 bit version of the - "Debugging Tools for Windows" the library should also be built with - a 64 bit compiler (rebuild `src\libs\qtcreatorcdbext` using a 64 bit - compiler). - - If you are building 32 bit and running on a 64 bit - Windows, you can obtain the 64 bit versions of the extension library - and the binary `win64interrupt.exe`, which is required for - debugging from the repository - . - - 15. Qt Creator can be registered as a post-mortem debugger. This - can be done in the options page or by running the tool qtcdebugger - with administrative privileges passing the command line options - -register/unregister, respectively. Alternatively, - the required registry entries - - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug - HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug - - can be modified using the registry editor regedt32 to contain - - \qt-creator\bin\qtcdebugger %ld %ld - - When using a self-built version of Qt Creator as post-mortem debugger, it needs to be - able to find all dependent Qt-libraries and plugins when being launched by the - system. The easiest way to provide them for Qt 5 is to run the tool windeployqt: - - windeployqt -quick -qmldir share\qtcreator\welcomescreen -qmldir src\plugins\qmlprofiler bin\qtcreator.exe lib\qtcreator lib\qtcreator\plugins +When using a self-built version of Qt Creator as post-mortem debugger, it needs +to be able to find all dependent Qt-libraries and plugins when being launched +by the system. The easiest way to do this is to create a self-contained Qt +Creator by installing it and installing its dependencies. See "Options" below +for details. Note that unlike on Unix, you cannot overwrite executables that are running. -Thus, if you want to work on Qt Creator using Qt Creator, you need a -separate build of it. We recommend using a separate, release-built version -of Qt and Qt Creator to work on a debug-built version of Qt and Qt Creator -or using shadow builds. +Thus, if you want to work on Qt Creator using Qt Creator, you need a separate +installation of it. We recommend using a separate, release-built version of Qt +Creator to work on a debug-built version of Qt Creator. -## Get LLVM/Clang for the Clang Code Model +### Options + +If you do not have Ninja installed and in the `PATH`, remove `-G Ninja` from +the first `cmake` call. If you want to build in release mode, change the build +type to `-DCMAKE_BUILD_TYPE=Release`. You can also build with release +optimizations but debug information with `-DCMAKE_BUILD_TYPE=RelWithDebInfo`. + +Installation is not needed. It is however possible, using + + cmake --install . --prefix /path/to/qtcreator_install + +To create a self-contained Qt Creator installation, including all dependencies +like Qt and LLVM, additionally run + + cmake --install . --prefix /path/to/qtcreator_install --component Dependencies + +## Getting LLVM/Clang for the Clang Code Model The Clang Code Model depends on the LLVM/Clang libraries. The currently supported LLVM/Clang version is 8.0. @@ -266,7 +175,7 @@ http://llvm.org/docs/GettingStarted.html#git-mirror: 1. Clone LLVM/Clang and checkout a suitable branch - git clone -b release_100-based --recursive https://code.qt.io/clang/llvm-project.git + git clone -b release_110-based --recursive https://code.qt.io/clang/llvm-project.git 2. Build and install LLVM/Clang @@ -304,34 +213,6 @@ While the plugin builds without it, it will be disabled on start with an error m Note that the plugin is disabled by default. -### Building Qt Creator with CMake - -Qt Creator can also be built with CMake. The main Qt Creator dependencies, Qt and LLVM/Clang, both -offer CMake find packages, which reduce the steps of configuring Qt Creator to a minimum. - - Configure and build Qt Creator: - - mkdir build - cd build - - For Linux/macOS: - - cmake \ - -G Ninja \ - -D CMAKE_BUILD_TYPE=Release \ - -D CMAKE_PREFIX_PATH=~/Qt/5.14.2/gcc_64;~/llvm \ - ../qt-creator - cmake --build . - - For Windows: - - cmake ^ - -G Ninja ^ - -D CMAKE_BUILD_TYPE=Release ^ - -D CMAKE_PREFIX_PATH=c:\Qt\5.14.2\msvc2017_64;c:\llvm ^ - ..\qt-creator - cmake --build . - ## Third-party Components Qt Creator includes the following third-party components, From a55b7c60947c7bdc356b6c1daceea210d8eae4c5 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 9 Dec 2020 18:39:04 +0100 Subject: [PATCH 44/45] clean up output printing in dumpBacktrace() the first call to readAllStandardOutput() made no sense, as the buffer would be empty at that time anyway. Change-Id: Ie306745a94f98ce358e4af373169d0a5b0a82d23 Reviewed-by: hjk --- src/plugins/debugger/shared/backtrace.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/plugins/debugger/shared/backtrace.cpp b/src/plugins/debugger/shared/backtrace.cpp index 74e69b31437..bbd121504fc 100644 --- a/src/plugins/debugger/shared/backtrace.cpp +++ b/src/plugins/debugger/shared/backtrace.cpp @@ -55,12 +55,10 @@ void dumpBacktrace(int maxdepth) for (int i = 0; i < qMin(size, maxdepth); i++) proc.write("0x" + QByteArray::number(quintptr(bt[i]), 16) + '\n'); proc.closeWriteChannel(); + proc.waitForFinished(); QByteArray out = proc.readAllStandardOutput(); qDebug() << QCoreApplication::arguments().at(0); qDebug() << out; - proc.waitForFinished(); - out = proc.readAllStandardOutput(); - qDebug() << out; #endif } From 30397fd2d416227331d3ca83b522c4c6ff8e6d16 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 11 Dec 2020 15:27:40 +0100 Subject: [PATCH 45/45] CMake: add _d filename suffix to python.zip for the cdbextension ... for debug builds Change-Id: Ia5279aff3658518b946cee3c910b885c5376bfe1 Reviewed-by: Eike Ziller Reviewed-by: Cristian Adam --- src/libs/qtcreatorcdbext/CMakeLists.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libs/qtcreatorcdbext/CMakeLists.txt b/src/libs/qtcreatorcdbext/CMakeLists.txt index 45d55474aad..41769a2984c 100644 --- a/src/libs/qtcreatorcdbext/CMakeLists.txt +++ b/src/libs/qtcreatorcdbext/CMakeLists.txt @@ -58,7 +58,11 @@ if (_library_enabled) foreach(lib IN LISTS PYTHON_LIBRARIES) if (lib MATCHES ${PythonRegex}) - set(PythonZipFileName "python${CMAKE_MATCH_4}.zip") + if (CMAKE_BUILD_TYPE STREQUAL "Debug") + set(PythonZipFileName "python${CMAKE_MATCH_4}_d.zip") + else() + set(PythonZipFileName "python${CMAKE_MATCH_4}.zip") + endif() set(PythonDll "${CMAKE_MATCH_1}/${CMAKE_MATCH_3}${CMAKE_SHARED_LIBRARY_SUFFIX}") set(PythonExe "${CMAKE_MATCH_1}/python${CMAKE_EXECUTABLE_SUFFIX}")