From 2ecbbb126dd0e158a1899796b310adf920728815 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 27 Oct 2021 11:03:42 +0200 Subject: [PATCH 01/21] ClangCodeModel: Do not let clangd insert header files on completion ... by default. This feature often doesn't do what you'd want it to, so we make it opt- in. Change-Id: I631eae9c154ddcb0e8feeac44c5d5c0265706a67 Reviewed-by: David Schulz --- src/plugins/clangcodemodel/clangdclient.cpp | 6 ++++-- src/plugins/cppeditor/cppcodemodelsettings.cpp | 3 +++ src/plugins/cppeditor/cppcodemodelsettings.h | 3 +++ src/plugins/cppeditor/cppcodemodelsettingspage.cpp | 11 +++++++++++ 4 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index c65d8ee95c9..cc192fc9c18 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -521,8 +521,10 @@ static BaseClientInterface *clientInterface(Project *project, const Utils::FileP const CppEditor::ClangdSettings settings(CppEditor::ClangdProjectSettings(project).settings()); if (!settings.indexingEnabled()) indexingOption += "=0"; - Utils::CommandLine cmd{settings.clangdFilePath(), {indexingOption, "--limit-results=0", - "--clang-tidy=0"}}; + const QString headerInsertionOption = QString("--header-insertion=") + + (settings.autoIncludeHeaders() ? "iwyu" : "never"); + Utils::CommandLine cmd{settings.clangdFilePath(), {indexingOption, headerInsertionOption, + "--limit-results=0", "--clang-tidy=0"}}; if (settings.workerThreadLimit() != 0) cmd.addArg("-j=" + QString::number(settings.workerThreadLimit())); if (!jsonDbDir.isEmpty()) diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp index 66c07bed7a1..f6c4629d0c7 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp @@ -69,6 +69,7 @@ static QString clangdSettingsKey() { return QLatin1String("ClangdSettings"); } static QString useClangdKey() { return QLatin1String("UseClangd"); } static QString clangdPathKey() { return QLatin1String("ClangdPath"); } static QString clangdIndexingKey() { return QLatin1String("ClangdIndexing"); } +static QString clangdHeaderInsertionKey() { return QLatin1String("ClangdHeaderInsertion"); } static QString clangdThreadLimitKey() { return QLatin1String("ClangdThreadLimit"); } static QString clangdDocumentThresholdKey() { return QLatin1String("ClangdDocumentThreshold"); } static QString clangdUseGlobalSettingsKey() { return QLatin1String("useGlobalSettings"); } @@ -405,6 +406,7 @@ QVariantMap ClangdSettings::Data::toMap() const if (executableFilePath != fallbackClangdFilePath()) map.insert(clangdPathKey(), executableFilePath.toString()); map.insert(clangdIndexingKey(), enableIndexing); + map.insert(clangdHeaderInsertionKey(), autoIncludeHeaders); map.insert(clangdThreadLimitKey(), workerThreadLimit); map.insert(clangdDocumentThresholdKey(), documentUpdateThreshold); return map; @@ -415,6 +417,7 @@ void ClangdSettings::Data::fromMap(const QVariantMap &map) useClangd = map.value(useClangdKey(), false).toBool(); executableFilePath = FilePath::fromString(map.value(clangdPathKey()).toString()); enableIndexing = map.value(clangdIndexingKey(), true).toBool(); + autoIncludeHeaders = map.value(clangdHeaderInsertionKey(), false).toBool(); workerThreadLimit = map.value(clangdThreadLimitKey(), 0).toInt(); documentUpdateThreshold = map.value(clangdDocumentThresholdKey(), 500).toInt(); } diff --git a/src/plugins/cppeditor/cppcodemodelsettings.h b/src/plugins/cppeditor/cppcodemodelsettings.h index c3ae5b72491..5f4f4622c7a 100644 --- a/src/plugins/cppeditor/cppcodemodelsettings.h +++ b/src/plugins/cppeditor/cppcodemodelsettings.h @@ -110,6 +110,7 @@ public: int workerThreadLimit = 0; bool useClangd = false; bool enableIndexing = true; + bool autoIncludeHeaders = false; int documentUpdateThreshold = 500; }; @@ -121,6 +122,7 @@ public: static void setDefaultClangdPath(const Utils::FilePath &filePath); Utils::FilePath clangdFilePath() const; bool indexingEnabled() const { return m_data.enableIndexing; } + bool autoIncludeHeaders() const { return m_data.autoIncludeHeaders; } int workerThreadLimit() const { return m_data.workerThreadLimit; } int documentUpdateThreshold() const { return m_data.documentUpdateThreshold; } @@ -150,6 +152,7 @@ inline bool operator==(const ClangdSettings::Data &s1, const ClangdSettings::Dat && s1.executableFilePath == s2.executableFilePath && s1.workerThreadLimit == s2.workerThreadLimit && s1.enableIndexing == s2.enableIndexing + && s1.autoIncludeHeaders == s2.autoIncludeHeaders && s1.documentUpdateThreshold == s2.documentUpdateThreshold; } inline bool operator!=(const ClangdSettings::Data &s1, const ClangdSettings::Data &s2) diff --git a/src/plugins/cppeditor/cppcodemodelsettingspage.cpp b/src/plugins/cppeditor/cppcodemodelsettingspage.cpp index 1c6621e070b..7a850df329f 100644 --- a/src/plugins/cppeditor/cppcodemodelsettingspage.cpp +++ b/src/plugins/cppeditor/cppcodemodelsettingspage.cpp @@ -197,6 +197,7 @@ class ClangdSettingsWidget::Private public: QCheckBox useClangdCheckBox; QCheckBox indexingCheckBox; + QCheckBox autoIncludeHeadersCheckBox; QSpinBox threadLimitSpinBox; QSpinBox documentUpdateThreshold; Utils::PathChooser clangdChooser; @@ -217,6 +218,9 @@ ClangdSettingsWidget::ClangdSettingsWidget(const ClangdSettings::Data &settingsD "If background indexing is enabled, global symbol searches will yield\n" "more accurate results, at the cost of additional CPU load when\n" "the project is first opened.")); + d->autoIncludeHeadersCheckBox.setChecked(settings.autoIncludeHeaders()); + d->autoIncludeHeadersCheckBox.setToolTip(tr( + "Controls whether clangd may insert header files as part of symbol completion.")); d->threadLimitSpinBox.setValue(settings.workerThreadLimit()); d->threadLimitSpinBox.setSpecialValueText("Automatic"); d->documentUpdateThreshold.setMinimum(50); @@ -237,6 +241,8 @@ ClangdSettingsWidget::ClangdSettingsWidget(const ClangdSettings::Data &settingsD formLayout->addRow(QString(), &d->versionWarningLabel); const auto indexingLabel = new QLabel(tr("Enable background indexing:")); formLayout->addRow(indexingLabel, &d->indexingCheckBox); + const auto autoIncludeHeadersLabel = new QLabel(tr("Insert header files on completion:")); + formLayout->addRow(autoIncludeHeadersLabel, &d->autoIncludeHeadersCheckBox); const auto threadLimitLayout = new QHBoxLayout; threadLimitLayout->addWidget(&d->threadLimitSpinBox); threadLimitLayout->addStretch(1); @@ -255,6 +261,8 @@ ClangdSettingsWidget::ClangdSettingsWidget(const ClangdSettings::Data &settingsD d->clangdChooser.setEnabled(checked); indexingLabel->setEnabled(checked); d->indexingCheckBox.setEnabled(checked); + autoIncludeHeadersLabel->setEnabled(checked); + d->autoIncludeHeadersCheckBox.setEnabled(checked); d->threadLimitSpinBox.setEnabled(checked); d->versionWarningLabel.setEnabled(checked); }; @@ -312,6 +320,8 @@ ClangdSettingsWidget::ClangdSettingsWidget(const ClangdSettings::Data &settingsD this, &ClangdSettingsWidget::settingsDataChanged); connect(&d->indexingCheckBox, &QCheckBox::toggled, this, &ClangdSettingsWidget::settingsDataChanged); + connect(&d->autoIncludeHeadersCheckBox, &QCheckBox::toggled, + this, &ClangdSettingsWidget::settingsDataChanged); connect(&d->threadLimitSpinBox, qOverload(&QSpinBox::valueChanged), this, &ClangdSettingsWidget::settingsDataChanged); connect(&d->clangdChooser, &Utils::PathChooser::pathChanged, @@ -329,6 +339,7 @@ ClangdSettings::Data ClangdSettingsWidget::settingsData() const data.useClangd = d->useClangdCheckBox.isChecked(); data.executableFilePath = d->clangdChooser.filePath(); data.enableIndexing = d->indexingCheckBox.isChecked(); + data.autoIncludeHeaders = d->autoIncludeHeadersCheckBox.isChecked(); data.workerThreadLimit = d->threadLimitSpinBox.value(); data.documentUpdateThreshold = d->documentUpdateThreshold.value(); return data; From 27ff70fd889b9869691a8b4a438ef667eb27f3ad Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 27 Oct 2021 11:17:03 +0200 Subject: [PATCH 02/21] Editor: remove moved file from syntax-highlighting.pro Change-Id: I30b5bb884274dc2526291826ce5cc823cc5e921d Reviewed-by: Christian Kandeler --- src/libs/3rdparty/syntax-highlighting/syntax-highlighting.pro | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libs/3rdparty/syntax-highlighting/syntax-highlighting.pro b/src/libs/3rdparty/syntax-highlighting/syntax-highlighting.pro index e9354a2f69a..2c2567c37a0 100644 --- a/src/libs/3rdparty/syntax-highlighting/syntax-highlighting.pro +++ b/src/libs/3rdparty/syntax-highlighting/syntax-highlighting.pro @@ -22,7 +22,6 @@ HEADERS += \ src/lib/format_p.h \ src/lib/htmlhighlighter.h \ src/lib/keywordlist_p.h \ - src/lib/ksyntaxhighlighting_export.h \ src/lib/matchresult_p.h \ src/lib/repository.h \ src/lib/repository_p.h \ From a1f088376a79443f0738228e1b20f4642342197a Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 25 Oct 2021 18:02:38 +0200 Subject: [PATCH 03/21] ClangCodeModel: Mark output arguments also for lambdas ... with clangd. This required rewriting getAstPath(), because the previous implementation did not do the necessary backtracking and could therefore miss the AST branch containing the node fully matching the input range. Task-number: QTCREATORBUG-22381 Change-Id: Id5caf2a401b920c0e76f742bec97b5ca6977b4df Reviewed-by: David Schulz --- src/plugins/clangcodemodel/clangdclient.cpp | 114 ++++++++++++------ .../clangcodemodel/test/clangdtests.cpp | 10 +- .../test/data/highlighting/highlighting.cpp | 11 ++ 3 files changed, 97 insertions(+), 38 deletions(-) diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index cc192fc9c18..0c6b16e2bc9 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -359,49 +359,89 @@ public: } }; -static QList getAstPath(const AstNode &root, const Range &range) +class AstPathCollector { - QList path; - QList queue{root}; - bool isRoot = true; +public: + AstPathCollector(const AstNode &root, const Range &range) : m_root(root), m_range(range) {} - while (!queue.isEmpty()) { - AstNode curNode = queue.takeFirst(); - if (!isRoot && !curNode.hasRange()) - continue; - if (curNode.range() == range) - return path << curNode; - if (isRoot || curNode.range().contains(range)) { - path << curNode; - const auto children = curNode.children(); - if (!children) - break; - if (curNode.kind() == "Function" || curNode.role() == "expression") { - // Functions and expressions can contain implicit nodes that make the list unsorted. - // They cannot be ignored, as we need to consider them in certain contexts. - // Therefore, the binary search cannot be used here. - queue = *children; - } else { - queue.clear(); + QList collectPath() + { + if (!m_root.isValid()) + return {}; + visitNode(m_root, true); + return m_done ? m_path : m_longestSubPath; + } - // Class and struct nodes can contain implicit constructors, destructors and - // operators, which appear at the end of the list, but whose range is the same - // as the class name. Therefore, we must force them not to compare less to - // anything else. - static const auto leftOfRange = [](const AstNode &node, const Range &range) { - return node.range().isLeftOf(range) && !node.arcanaContains(" implicit "); - }; +private: + void visitNode(const AstNode &node, bool isRoot = false) + { + if (!isRoot && (!node.hasRange() || !node.range().contains(m_range))) + return; + m_path << node; - for (auto it = std::lower_bound(children->cbegin(), children->cend(), range, - leftOfRange); - it != children->cend() && !range.isLeftOf(it->range()); ++it) { - queue << *it; - } + class PathDropper { + public: + PathDropper(AstPathCollector &collector) : m_collector(collector) {}; + ~PathDropper() { + if (m_collector.m_done) + return; + if (m_collector.m_path.size() > m_collector.m_longestSubPath.size()) + m_collector.m_longestSubPath = m_collector.m_path; + m_collector.m_path.removeLast(); + } + private: + AstPathCollector &m_collector; + } pathDropper(*this); + + // Still traverse the children, because they could have the same range. + if (node.range() == m_range) + m_done = true; + + const auto children = node.children(); + if (!children) + return; + + QList childrenToCheck; + if (node.kind() == "Function" || node.role() == "expression") { + // Functions and expressions can contain implicit nodes that make the list unsorted. + // They cannot be ignored, as we need to consider them in certain contexts. + // Therefore, the binary search cannot be used here. + childrenToCheck = *children; + } else { + for (auto it = std::lower_bound(children->cbegin(), children->cend(), m_range, + leftOfRange); + it != children->cend() && !m_range.isLeftOf(it->range()); ++it) { + childrenToCheck << *it; } } - isRoot = false; + + const bool wasDone = m_done; + for (const AstNode &child : qAsConst(childrenToCheck)) { + visitNode(child); + if (m_done && !wasDone) + break; + } } - return path; + + static bool leftOfRange(const AstNode &node, const Range &range) + { + // Class and struct nodes can contain implicit constructors, destructors and + // operators, which appear at the end of the list, but whose range is the same + // as the class name. Therefore, we must force them not to compare less to + // anything else. + return node.range().isLeftOf(range) && !node.arcanaContains(" implicit "); + }; + + const AstNode &m_root; + const Range &m_range; + QList m_path; + QList m_longestSubPath; + bool m_done = false; +}; + +static QList getAstPath(const AstNode &root, const Range &range) +{ + return AstPathCollector(root, range).collectPath(); } static QList getAstPath(const AstNode &root, const Position &pos) @@ -2334,7 +2374,7 @@ static void semanticHighlighter(QFutureInterface &future, return false; for (auto it = path.rbegin() + 1; it != path.rend(); ++it) { if (it->kind() == "Call" || it->kind() == "CXXConstruct" - || it->kind() == "MemberInitializer") { + || it->kind() == "MemberInitializer" || it->kind() == "CXXOperatorCall") { return true; } if (it->kind().endsWith("Cast") && it->hasConstType()) diff --git a/src/plugins/clangcodemodel/test/clangdtests.cpp b/src/plugins/clangcodemodel/test/clangdtests.cpp index e31cc4d6f55..82e64fad787 100644 --- a/src/plugins/clangcodemodel/test/clangdtests.cpp +++ b/src/plugins/clangcodemodel/test/clangdtests.cpp @@ -1040,7 +1040,7 @@ void ClangdTestHighlighting::test_data() QTest::newRow("typedef as underlying type in enum declaration") << 424 << 21 << 424 << 39 << QList{C_TYPE} << 0; QTest::newRow("argument to user-defined subscript operator") << 434 << 12 << 434 << 17 - << QList{C_PARAMETER} << 0; + << QList{C_PARAMETER, C_OUTPUT_ARGUMENT} << 0; QTest::newRow("partial class template specialization") << 553 << 25 << 553 << 28 << QList{C_TYPE, C_DECLARATION} << 0; QTest::newRow("using declaration for function") << 556 << 10 << 556 << 13 @@ -1237,6 +1237,14 @@ void ClangdTestHighlighting::test_data() << QList{C_LOCAL, C_OUTPUT_ARGUMENT} << 0; QTest::newRow("override attribute") << 186 << 28 << 186 << 36 << QList{C_KEYWORD} << 0; QTest::newRow("final attribute") << 187 << 33 << 187 << 38 << QList{C_KEYWORD} << 0; + QTest::newRow("non-const argument to named lambda") << 827 << 10 << 827 << 13 + << QList{C_LOCAL, C_OUTPUT_ARGUMENT} << 0; + QTest::newRow("const argument to named lambda") << 828 << 10 << 828 << 13 + << QList{C_LOCAL} << 0; + QTest::newRow("non-const argument to unnamed lambda") << 829 << 18 << 829 << 21 + << QList{C_LOCAL, C_OUTPUT_ARGUMENT} << 0; + QTest::newRow("const argument to unnamed lambda") << 830 << 16 << 830 << 19 + << QList{C_LOCAL} << 0; } void ClangdTestHighlighting::test() diff --git a/src/plugins/clangcodemodel/test/data/highlighting/highlighting.cpp b/src/plugins/clangcodemodel/test/data/highlighting/highlighting.cpp index d9b08689f12..6e0ed1c8ec8 100644 --- a/src/plugins/clangcodemodel/test/data/highlighting/highlighting.cpp +++ b/src/plugins/clangcodemodel/test/data/highlighting/highlighting.cpp @@ -818,3 +818,14 @@ void staticMemberFuncTest() { int i; s.staticFunc(i); } + +void lambdaArgTest() +{ + const auto foo1 = [](int &) {}; + const auto foo2 = [](int) {}; + int val; + foo1(val); + foo2(val); + [](int &) {}(val); + [](int) {}(val); +} From 05e698a478c7a91bef5aa16ec9215fe391b8a195 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 26 Oct 2021 15:16:23 +0200 Subject: [PATCH 04/21] CppEditor: Fix "insert def from decl" for template return types Fixes: QTCREATORBUG-26397 Change-Id: Ia215f2c2b5da708b0fd7c894987683b305f4ccec Reviewed-by: Christian Stenger --- src/libs/3rdparty/cplusplus/Control.cpp | 12 ++++++ src/libs/3rdparty/cplusplus/Control.h | 2 + src/libs/cplusplus/CppRewriter.cpp | 47 +++++++++++++++++++++- src/libs/cplusplus/LookupContext.cpp | 17 +------- src/plugins/cppeditor/cppquickfix_test.cpp | 37 +++++++++++++++++ src/plugins/cppeditor/cppquickfix_test.h | 1 + 6 files changed, 99 insertions(+), 17 deletions(-) diff --git a/src/libs/3rdparty/cplusplus/Control.cpp b/src/libs/3rdparty/cplusplus/Control.cpp index 1c0994604a8..4d33becf38d 100644 --- a/src/libs/3rdparty/cplusplus/Control.cpp +++ b/src/libs/3rdparty/cplusplus/Control.cpp @@ -844,3 +844,15 @@ void Control::addSymbol(Symbol *symbol) { d->symbols.push_back(symbol); } + +const Name *Control::toName(const QList &names) +{ + const Name *n = nullptr; + for (int i = names.size() - 1; i >= 0; --i) { + if (! n) + n = names.at(i); + else + n = qualifiedNameId(names.at(i), n); + } + return n; +} diff --git a/src/libs/3rdparty/cplusplus/Control.h b/src/libs/3rdparty/cplusplus/Control.h index 4a2388f7262..62e51c435cd 100644 --- a/src/libs/3rdparty/cplusplus/Control.h +++ b/src/libs/3rdparty/cplusplus/Control.h @@ -218,6 +218,8 @@ public: bool hasSymbol(Symbol *symbol) const; void addSymbol(Symbol *symbol); + const Name *toName(const QList &names); + private: class Data; friend class Data; diff --git a/src/libs/cplusplus/CppRewriter.cpp b/src/libs/cplusplus/CppRewriter.cpp index ac5b763aec7..14d738da791 100644 --- a/src/libs/cplusplus/CppRewriter.cpp +++ b/src/libs/cplusplus/CppRewriter.cpp @@ -283,8 +283,21 @@ public: number->size())); } } - temps.append(control()->templateNameId(identifier(name->identifier()), name->isSpecialization(), - args.data(), args.size())); + + const FullySpecifiedType ty = rewrite->env->apply(name->identifier(), rewrite); + const Name * const minName = ty->isNamedType() ? ty->asNamedType()->name() : name; + const TemplateNameId * const newTemplateNameId = control()->templateNameId( + identifier(minName->identifier()), name->isSpecialization(), args.data(), + args.size()); + const QList names = disassembledName(minName); + if (names.size() == 1) { + temps.append(newTemplateNameId); + } else { + const Name * const newBaseName = control()->toName(names.mid(0, names.size() - 1)); + const Name * const fullName = control()->qualifiedNameId(newBaseName, + newTemplateNameId); + temps.append(fullName); + } } void visit(const DestructorNameId *name) override @@ -317,6 +330,36 @@ public: // attributes SubstitutionEnvironment *env; RewriteType rewriteType; RewriteName rewriteName; + +private: + static QList disassembledName(const Name *name) + { + class NameDisassembler : public NameVisitor + { + public: + QList names() const { return m_names; } + + void visit(const AnonymousNameId *n) override { m_names << n; } + virtual void visit(const Identifier *n) override { m_names << n; } + virtual void visit(const TemplateNameId *n) override { m_names << n; } + virtual void visit(const DestructorNameId *n) override { m_names << n; } + virtual void visit(const OperatorNameId *n) override { m_names << n; } + virtual void visit(const ConversionNameId *n) override { m_names << n; } + virtual void visit(const SelectorNameId *n) override { m_names << n; } + virtual void visit(const QualifiedNameId *n) override + { + if (n->base()) + n->base()->accept(this); + n->name()->accept(this); + } + private: + QList m_names; + }; + + NameDisassembler nd; + nd.accept(name); + return nd.names(); + } }; SubstitutionEnvironment::SubstitutionEnvironment() diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index 3f7e791115c..7fcb3f4caa2 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -241,19 +241,6 @@ static bool symbolIdentical(Symbol *s1, Symbol *s2) return QByteArray(s1->fileName()) == QByteArray(s2->fileName()); } -static const Name *toName(const QList &names, Control *control) -{ - const Name *n = nullptr; - for (int i = names.size() - 1; i >= 0; --i) { - if (! n) - n = names.at(i); - else - n = control->qualifiedNameId(names.at(i), n); - } - - return n; -} - static bool isInlineNamespace(ClassOrNamespace *con, const Name *name) { const QList items = con->find(name); @@ -282,12 +269,12 @@ const Name *LookupContext::minimalName(Symbol *symbol, ClassOrNamespace *target, // eliminate inline namespaces QList minimal = names; for (int i = minimal.size() - 2; i >= 0; --i) { - const Name *candidate = toName(minimal.mid(0, i + 1), control); + const Name *candidate = control->toName(minimal.mid(0, i + 1)); if (isInlineNamespace(target, candidate)) minimal.removeAt(i); } - return toName(minimal, control); + return control->toName(minimal); } return nullptr; diff --git a/src/plugins/cppeditor/cppquickfix_test.cpp b/src/plugins/cppeditor/cppquickfix_test.cpp index 7cfe3206915..5a0e21ad693 100644 --- a/src/plugins/cppeditor/cppquickfix_test.cpp +++ b/src/plugins/cppeditor/cppquickfix_test.cpp @@ -4707,6 +4707,43 @@ N::S N::foo(const S &s) QuickFixOperationTest(testDocuments, &factory); } +void QuickfixTest::testInsertDefFromDeclAliasTemplateAsReturnType() +{ + QList testDocuments; + + QByteArray original; + QByteArray expected; + + // Header File + original = R"( +struct foo { + struct foo2 { + template using MyType = T; + MyType @bar(); + }; +}; +)"; + expected = original; + testDocuments << CppTestDocument::create("file.h", original, expected); + + // Source File + original = R"( +#include "file.h" +)"; + expected = R"( +#include "file.h" + +foo::foo2::MyType foo::foo2::bar() +{ + +} +)"; + testDocuments << CppTestDocument::create("file.cpp", original, expected); + + InsertDefFromDecl factory; + QuickFixOperationTest(testDocuments, &factory); +} + void QuickfixTest::testInsertDefsFromDecls_data() { QTest::addColumn("headers"); diff --git a/src/plugins/cppeditor/cppquickfix_test.h b/src/plugins/cppeditor/cppquickfix_test.h index 4131c20faf4..0201c5b3bb9 100644 --- a/src/plugins/cppeditor/cppquickfix_test.h +++ b/src/plugins/cppeditor/cppquickfix_test.h @@ -155,6 +155,7 @@ private slots: void testInsertDefFromDeclTemplateFunction(); void testInsertDefFromDeclNotTriggeredForFriendFunc(); void testInsertDefFromDeclMinimalFunctionParameterType(); + void testInsertDefFromDeclAliasTemplateAsReturnType(); void testInsertDefsFromDecls_data(); void testInsertDefsFromDecls(); From 14a81406e3e443fc7087cd8f5bbe88f2d5b2d7c3 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Thu, 21 Oct 2021 16:36:09 +0200 Subject: [PATCH 05/21] Doc: Update the Qt Quick Application tutorial - Remove references to Qt Quick Designer plugin - Remove obsolete screenshots - Promote code completion and Qt Quick Toolbars - Describe using wizards to create custom QML types - Describe adding resources to CMakeLists.txt files Task-number: QTCREATORBUG-26483 Change-Id: I804870b962e0d1daa6ba7c988425f14ad87fe888 Reviewed-by: Alessandro Portale --- .../examples/transitions/CMakeLists.txt | 61 +-- doc/qtcreator/examples/transitions/Page.qml | 27 +- .../examples/transitions/images/qt-logo.png | Bin 1519 -> 0 bytes doc/qtcreator/examples/transitions/main.cpp | 11 +- doc/qtcreator/examples/transitions/main.qml | 12 +- doc/qtcreator/examples/transitions/qml.qrc | 7 - .../examples/transitions/qt-logo.png | Bin 0 -> 1094 bytes .../images/qml-toolbar-animation.png | Bin 4167 -> 3874 bytes .../images/qml-toolbar-image-preview.png | Bin 11475 -> 1839 bytes doc/qtcreator/images/qml-toolbar-image.png | Bin 9514 -> 3561 bytes .../images/qml-toolbar-rectangle.png | Bin 2880 -> 2068 bytes doc/qtcreator/images/qml-toolbar-text.png | Bin 3633 -> 2947 bytes doc/qtcreator/images/qtquick-tutorial.gif | Bin 0 -> 96108 bytes .../creator-only/qtquick-app-tutorial.qdoc | 425 ++++++------------ ...uick-tutorial-create-empty-project.qdocinc | 24 +- .../images/qmldesigner-tutorial-bindings.png | Bin 3556 -> 0 bytes .../qmldesigner-tutorial-connections.png | Bin 3875 -> 0 bytes .../qmldesigner-tutorial-easing-curves.png | Bin 33180 -> 0 bytes .../qmldesigner-tutorial-page-component.png | Bin 7941 -> 0 bytes .../images/qmldesigner-tutorial-states.png | Bin 23623 -> 0 bytes ...mldesigner-tutorial-topleftrect-layout.png | Bin 11231 -> 0 bytes .../qmldesigner-tutorial-topleftrect.png | Bin 43681 -> 0 bytes ...ldesigner-tutorial-transition-settings.png | Bin 5810 -> 0 bytes .../qmldesigner-tutorial-transitions.png | Bin 6900 -> 0 bytes .../images/qmldesigner-tutorial-ui-ready.png | Bin 12686 -> 0 bytes .../images/qmldesigner-tutorial.png | Bin 4125 -> 0 bytes 26 files changed, 168 insertions(+), 399 deletions(-) delete mode 100644 doc/qtcreator/examples/transitions/images/qt-logo.png delete mode 100644 doc/qtcreator/examples/transitions/qml.qrc create mode 100644 doc/qtcreator/examples/transitions/qt-logo.png create mode 100644 doc/qtcreator/images/qtquick-tutorial.gif delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial-bindings.png delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial-connections.png delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial-easing-curves.png delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial-page-component.png delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial-states.png delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial-topleftrect-layout.png delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial-topleftrect.png delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial-transition-settings.png delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial-transitions.png delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial-ui-ready.png delete mode 100644 doc/qtdesignstudio/images/qmldesigner-tutorial.png diff --git a/doc/qtcreator/examples/transitions/CMakeLists.txt b/doc/qtcreator/examples/transitions/CMakeLists.txt index bf543f34ffe..ef3ac640cd0 100644 --- a/doc/qtcreator/examples/transitions/CMakeLists.txt +++ b/doc/qtcreator/examples/transitions/CMakeLists.txt @@ -1,59 +1,24 @@ -cmake_minimum_required(VERSION 3.14) +cmake_minimum_required(VERSION 3.16) project(transitions VERSION 0.1 LANGUAGES CXX) -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) - -set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) -find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Quick REQUIRED) -find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Quick REQUIRED) +find_package(Qt6 6.2 COMPONENTS Quick REQUIRED) -set(PROJECT_SOURCES - main.cpp - qml.qrc +qt_add_executable(transitionsexample + main.cpp ) -if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) - qt_add_executable(transitions - MANUAL_FINALIZATION - ${PROJECT_SOURCES} - ) -# Define target properties for Android with Qt 6 as: -# set_property(TARGET transitions APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR -# ${CMAKE_CURRENT_SOURCE_DIR}/android) -# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation -else() - if(ANDROID) - add_library(transitions SHARED - ${PROJECT_SOURCES} - ) -# Define properties for Android with Qt 5 after find_package() calls as: -# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") - else() - add_executable(transitions - ${PROJECT_SOURCES} - ) - endif() -endif() - -target_compile_definitions(transitions - PRIVATE $<$,$>:QT_QML_DEBUG>) -target_link_libraries(transitions - PRIVATE Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Quick) - -set_target_properties(transitions PROPERTIES - MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com - MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} - MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} +qt_add_qml_module(transitionsexample + URI transitions + VERSION 1.0 + QML_FILES main.qml Page.qml + RESOURCES qt-logo.png ) -if(QT_VERSION_MAJOR EQUAL 6) - qt_import_qml_plugins(transitions) - qt_finalize_executable(transitions) -endif() +target_compile_definitions(transitionsexample + PRIVATE $<$,$>:QT_QML_DEBUG>) +target_link_libraries(transitionsexample + PRIVATE Qt6::Quick) diff --git a/doc/qtcreator/examples/transitions/Page.qml b/doc/qtcreator/examples/transitions/Page.qml index 932a29cd029..610b1302367 100644 --- a/doc/qtcreator/examples/transitions/Page.qml +++ b/doc/qtcreator/examples/transitions/Page.qml @@ -48,19 +48,18 @@ ** ****************************************************************************/ -import QtQuick 2.15 -import QtQuick.Window 2.15 +import QtQuick Rectangle { id: page - state: "State1" + anchors.fill: parent + color: "#ffffff" Image { id: icon x: 20 y: 20 - source: "images/qt-logo.png" - fillMode: Image.PreserveAspectFit + source: "qt-logo.png" } Rectangle { @@ -88,7 +87,6 @@ Rectangle { } } - Rectangle { id: middleRightRect width: 55 @@ -112,7 +110,6 @@ Rectangle { } } - Rectangle { id: bottomLeftRect width: 55 @@ -160,6 +157,7 @@ Rectangle { } } ] + transitions: [ Transition { id: toState1 @@ -202,7 +200,7 @@ Rectangle { PropertyAnimation { target: icon property: "y" - easing.bezierCurve: [0.233,0.161,0.264,0.997,0.393,0.997,0.522,0.997,0.555,0.752,0.61,0.75,0.664,0.748,0.736,1,0.775,1,0.814,0.999,0.861,0.901,0.888,0.901,0.916,0.901,0.923,0.995,1,1] + easing.type: Easing.OutBounce duration: 1006 } } @@ -215,7 +213,7 @@ Rectangle { PropertyAnimation { target: icon property: "x" - easing.bezierCurve: [0.233,0.161,0.264,0.997,0.393,0.997,0.522,0.997,0.555,0.752,0.61,0.75,0.664,0.748,0.736,1,0.775,1,0.814,0.999,0.861,0.901,0.888,0.901,0.916,0.901,0.923,0.995,1,1] + easing.type: Easing.OutBounce duration: 1006 } } @@ -234,7 +232,7 @@ Rectangle { PropertyAnimation { target: icon property: "y" - easing.bezierCurve: [0.455,0.03,0.515,0.955,1,1] + easing.type: Easing.InOutQuad duration: 2000 } } @@ -247,7 +245,7 @@ Rectangle { PropertyAnimation { target: icon property: "x" - easing.bezierCurve: [0.455,0.03,0.515,0.955,1,1] + easing.type: Easing.InOutQuad duration: 2000 } } @@ -257,10 +255,3 @@ Rectangle { } ] } - -/*##^## -Designer { - D{i:0;height:480;width:640}D{i:1}D{i:16;transitionDuration:2000}D{i:24;transitionDuration:2000} -D{i:32;transitionDuration:2000} -} -##^##*/ diff --git a/doc/qtcreator/examples/transitions/images/qt-logo.png b/doc/qtcreator/examples/transitions/images/qt-logo.png deleted file mode 100644 index f465822ed0875368ed17965aba4e41069bb7ad22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1519 zcmeAS@N?(olHy`uVBq!ia0y~yU@&K3V9?}XV_;yI$i8tc0|NtRfk$L90|Va?5N4dJ z%_q&kz`D@W#W5tK@oGeLPKc|-zjKzmtIKvTznkmWXtsAjNG6MEndZbM%`KX49Gz?* z5B^xuIO9e0jE2BlD>!Wgc=dldR0eEONm6QR$v(Z7J94SgmR?`Yq@5-X({-!u@7^_j z%=~Q2=DTm_-OP*rG4I^}^Z(!1+&}kpz9eJjhCio1IWaw4!mwwG-m}2=8K)x4SDy1! zl&hc9%BXoHG(M+5#pjk`!>+WZ06oQC)2!<3&%O(eGw94!w6kp0Teohx-$G6q<`18E zKAqI`IpCaFxJZ_9Lr&YzCn8CYpSo4YT;^*|`sp+Iq^VD$3m@Yl?VBpy0)bP*TbKSc zjYz1K;ycN?drJERv9|cni|udm`@bmv;#TG8P;}N-x#gC&c7|D}{;l`}?MLMoT#A}$ z`0ag$ei`pOr}8D~hj#F8zJF!^-a`Fbf0u7sxJ+5Q@M~XahF*3P!@+_+H`5&1A1u$C z#V;Kz(Xm@yU+%hV!^>O0_gs-!qVq_2;iag~+@O-Yl1 zp*!JVb@6@I%e~J|8k;k$o49(y>A=N07jv1KbpPia)cpUlP@0X=arS=M`S)%d`|(KNE}BlJ|Qj&VJGTP4d}k)pMq83JhB$@0`8$=WUP0^q{rf(e~B0uVhyrdphOR z(hR-aq?+G*?Tb4f&zkmm?Ptl|);1qkye#xw9IZF~W65k&p8h#Xni@u;hWi#CnXvHA z!X48$o_=D~A>in+KuA(NQ0z8Zq|)_vds%{YnS+qZoJbR^v(<}iFNZ&0v#59D-&@Rw=L!h0Y)!cI zK9cu&IyYaTQ8N3a6KPIGf0R}AD!HOqjKkg28es)*!}k_r4{j z(rSt8{^TS?%(3DuOgnhS$JvR~?L^1JKRJmJbIc#6E?cH^s_nY(CwajOObbrDT6UE6 z@FO9U#@QRAd)}{HvS=Qk=ryim?}FD$oiM7K>&3oK*z429}i&d|1-U4>T z+>+_lm;SKW>1Veo-3&gaJ*ny0CN+^+T&3~xU$m^8=W0H#<(&V|_Pmj}XptrV-ogjF zL|r^ss@uOMUB1)1D?jp|(H6VQU6=n|ei6Q2aS7`}kDn{H=pFEKmz|@g{#jbL{QHu- zK5SPQpZTVpZxV}<-^u5sxn_~5y4;)t_ZG@8bCY5C^W-l7^hbw;Qon57dm^O6JZLiU=;LxxEpKb_6JfJN*0q$J244kmxqU_P5m^ zt1EWDpWAa?jFD;Hc73<0Yq?aXB}KSOvn4l6^zbfF0$Y0fWr;wR=J&WP?|1T{99`s1{ubX=*&ScfY)wkn~_i=PCIAHRV zX|CLtIZnCRRiut&<-%P1``=j{yVTV5RDJ235 zKF4(*FzKXhtzH - - main.qml - images/qt-logo.png - Page.qml - - diff --git a/doc/qtcreator/examples/transitions/qt-logo.png b/doc/qtcreator/examples/transitions/qt-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e8eba47564666dbf66d6f24fecea68a0184a46e9 GIT binary patch literal 1094 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 f|I2>HKk`ls7UsNYgTe~DWM4fo9jqp literal 4167 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 N@O1TaS?83{1OP8XwEF-6 literal 11475 zcmeAS@N?(olHy`uVBq!ia0y~yVA#vRz_5*jje&uoN1*330|NtRfk$L90|Va?5N4dJ z%_q&kz`$PO>FdgVhlQJyTWQmqFH^xnt`Q}Ur6n2pMGPy~o$+8`VBjfnjVN(RElw`V zEGWs$&tnkgR8(eQVBi9YJLeZv7Gk_paFD=AMbN@a*G_zzOf4H9(8EKbfz%*;(KV%UCQOFshx0|!VrJh3P*GcTRt zfb_F=nA3vuON)|I8NU8+ehpLRoS&PUnpeW`?aZ|O3=9lxAgv*pB{``KE8bmFXJAlZ z@N{tushIP&Hn-==iOPGy; z>*8IvXWsq!=Dpf(&u7P%R}tu-8b`Q)-||ozL~Po!|v;~;QYOzsei8R|JnS3 zIeKeFjCIHk?l>~-R^jR+U(kA3|I6BO*0Wh(JF%gD%_c@?C+#z3^i zQ!T0P|L^WL;Nl6!W`|9Q0 zYt^?WEN@e8zgBX0S1sCHEuFuwmfi8GV$F-^^6sLtdw#x(fADTYOS^rA zY=4~I1p4yS3(^;j)+7PmNYx)!O%=RsX@|`TtDfDxZqhyl|F3R zeINAqwdVi%sHd~Icdz_^n}09U|8f0$v;Uu6-0i;%RlmzWmOVZFmEF&i{*N}#|Esg_ z*VXllZsugEx?OUcW}YaqC}!n>mDkg!e`Yaz0>K|L>x# z&F|O$8T4c7_~U=i{olNOTYb;%+ww=A|9hH$;P>VGht2f0nOo_4$YSHk(j2z*6z|>-CRE_3H%Xf8RL%Vek7|{(k#^7I761 zS=SzEQgGOO^GJq?&~L4&T!#!?_QoB5>ODPe_HWjO5juxV&PH4kpTisT|H0)QAyxbh z?Rl%4wEJ2QOx7GHeZS(et)aZ*!xAP?rrpcf%so1 z`TxT2A6Ra9;P(B0&U^m6xZnDBvi+g$_xKto@BUEt`u^kfYpu>NKPK_g_Wa?itHVD& z)vuRqOMGxtJig_5<&Sse`@5IVtI{&us8Pwxu=pa!;fDpsZpO#8Bz7G5F34h6Q_t*g zQ_XI_>+ZpLxtzyaXEny(_+j}bZ*R};@_N?2^Z!})&Hur3&F{R+j_>s!mRSzzs*nna(93KVP^*IOa8o$RhLaZKI+zgG&MZ#V1L~gWyi47n?5|5?Egqv z{%1#6lcRu!?q65u|9`K4cwhJ2KDl~%=lZ|hYWu#-{?BnOd|%i3d#fK#|Nn9NhcE2% ztsmd@f7~7aLzGAUPwJn|_v^p?fBj7`@BW_l_=}bz z{knKf@N<@9^}mkIZ>fKs|L@Y3L=N-3I}YowAKsdM{g_VG+OWf`*YE4fzP|3^&gb)H zo9zb`1*@*UdUHs?YpKwzvuf9_Ur&tuUduc0`NHe3Gq-bwMI_#vA^CFqwrwB&{eJ&= z_WeK4TJ{vmu+N^YZMf@DQ9|01^;feh{{4LZ@gaYG#TrF#)&)_qmbb$q_|EivIgq({ zd!3)vf-sBy5v|2*3Lb7y`pYHGr+sNXjA@*EVx0l!yOUnsq4$r~Y*6|uazXKn$rAp< z1`~g*Zki~keQ9}%)(pK&Yu%5Q6EmZ?>c86~x@e=)UbaOZb5gB2+Y)^QV*XvIyZZ6Z z9?>fi6XO_X&M|5XmACUT;%Msp&wIEbbJhkO?rEtD12hg8@ch`IBjq#6_9y?94^V@e~+MVyUi5F#$H|E}69(-7o zD_N}Wp39?acQ)x5eycE%>hxcJx$*TbC#R210^th!QHnbXmh?~7b1ArVqt%IVT54i# zt?beu&1o`$y;m|hre67A%ENp#N$_ZrAVa|V>koh1%{r^b*4!v@#`(LVctdyAUwx66 zmYq9Hm!HotaS~wBnCev^!@f1j*P}Hu#+W~1TC4YTz0Q}SvDaPq-#=bpA@bxo>jR~% zf5rY)Q+H2{F8wsC$4xmzOY};X>5Xl+!nON6BBr%wZSC?}+LX1m>tI4d*y`4c87!wa z9Whah`CmNeX|?~Mooai%P6=G}WS4GZyuGdP=clKgE02^`xlEUwQh$3};%&26U#+6n zitW0q$JX4KF*{ zKm71PVBT}imCEL2=eZv?7Q0l1rcZkRTY|6sL#_PNBFV2+u`j-DUUxm6QLANJ?&DWi zSHJjL^`gY;#rNNf?3>DW%@w~{{LEASdVnlnJI7&x*RNl%2+Q#;qSFKw&|+yzn2Vq`c~(`nMrY1XL}W;nMf^+ zTDvH2egD~QW~;M{E_jEtuKxJ<(>AU^S=Ye(f1)<4$ZxIfI;zyy-)|_v6QDKq*cQ8! zhc{~opO<;LIA&tXL-)mk*REfGXwkR9?Xr+^-wsECj_LlNy!1MXLefGGDsp>C&Dx_8 zxbSe{cjNBrQW^GEr^KcoB4W1PuXUNy`@S?p?ccqQ`?AT#ojWBZ)hD}6KE}HA;&z!@ zPeW^$qPn#flRnIx`?E=G3fsx9q>UO}PC+cGvzp|>nQw0E)ec|x;KvV%y>a<(?p4U0 zn{?DZc*%5I6P5G~%kx{eZas3qV4j$w=jzj8v%EExEF)_yx6QrOuUtDvX3_l;-+5&V z0|Xwjta1`?KW6glzKQRe_3IBC@RaP1ov0>yV6$53IhL1;ZA?VM<1|DzY~0wGv~kAE zg{Q+}{`srzdR{5q+O|dS@3fQ0_dm@Qefd;?OG$isz~YM@Kdx2kDjdIb#_7B8NA6Z8 zKR-X0T~Aa_7@w(%n!|aC`EiT-Upon&fR!OfPS2Q{_FPVJlJ30coeyiYy5+tyURmOQ zihKQ44gD?g_m(wz>|MEs&0|$+iQ`KXDPECo*EjFqcXx#RoRPZyhqr%KR5<+&kZ5lV|FG+R`>_ihZ6CJL|O1pQWm`bEY5rY;$9q?M8-{S2dDfoIVVS3Vqm7~sO1my?t7>EP-=FE)vHJiF2_l`nNQ<4MP* z_g6l={r=m4hk5Zuj|r1LDbH7rPV*~>V+d(&jIO=6dzF??X2LABYuEgyw<-6YpUa^Y zxm713>e6Ykc^v!WB%Optp=|)$3h{Voyjn*Fb!Cb zH*US$Gh9o{b?(rrT=V5x<{d;__JkU5(_PSUa8MgB9nN4dp&I{4{5pr0x+x21X!%E-9Uv*C(dU|^L#{K*I z4<;D6{fRtgf0oJHx9ZZzr$v&zZpxPr@LP(tt+9UZIF-}CQZf6^>#s+g3OD_m8}{x) z_4DH^IM!eKqILHD?|mQUfB#*pn4Ds+p3f|>taF}@Soe(^Hx4{}xR8Tear#T6$UjRJ zYp1MPxXPIO;m_`+$F!y!uVP!B8mZLQw(QblR+bL+Dxr@*_o?{z=46(t@NI28aqAL; zlwV%tw;ng;js0utrU?eOC3f5tzxB3kjZKWow5BhAT#F)wSs3+VcbS+)+51*~Q40NK z+x6v1?TfPA8C#lm8X_La*7LJoWi`dgQbjA5NP1K6IO6z5PT- zfxcMm^sF6g!s>H#d7BS1%zLhBo6vpikmvcm+@Dq~k6PR2wbZCAM`lMIyTP@Ys^$?p zw@h3s^>aby7Sa3?x0AEi9C`j-)HUzt4UJ0Y=cZD;iuoGvZTL4`Ss2xDewI(b$w^DT zACTTAB6m>wdf|B`ew{gASl)#e#)`KU-g-UV?b?c4ELRd(4HT0@#5&CPRUEc_ZJz6X zQg-Uru)E!J zdu`#ONv-PnzO(o=cKQmqR)j7;v*k$NrYA+e0*|}MuC{WU>UPcMq^X>`iu@GicB>Z$ z40u9Thu+v`E5@&4K1aNtw!&V=Po}?zbQ_!cyzv^TO&wn))&&e80$KLj9 z*5A4DO3c!k*uim#5y|)^XyA_6D6z zfx8PTmCx(Gv^dwYrgJl2k@AdHDNOYTtm0a>h}rr|?ea)Iy4+X!9rK-jF4b=N)*a;` z>#qlDh_q~-K3)BkG`Hg3KMg0Wm@m9)nRNa+uK|}A^P_kz`?mV!cjr%guqie4=c~&J zQnmiSC(RRnzxU~`nCUyFrFI_JvL?4BGAVJ|yzELY(+A8>o0c)&+5RqYerBp~*xIw7 z*FLVB`_%Mt-_&f!oo*&P$vQ%&Yp0s=IA3`%rR|R231RN3<}s5l)V$g?;Wo3$?8qrw zPpvxrc*50N?uxvflRiz_wm~Jby375M++34NJ+bZ;SF^km-xjOes%yVIdNHG=YOmch zXTML;r~mzUSg_)&P^!wyPbNqDtlXX-b=w+Ra_PG3rN6Ij%qwRJ-~BGqwy@&(rr$>S zpPqYF-Fxw5Q%l%|$?;uYyMv`R+0V1#UgfrW-I|FLmrZzaulm;iMH7xrIzCtZv}EP% zy2)o0YtMh4zvMIT<15DQh5_B1zHx8b7Hut&l>wRlx zw4RwXe}2x(lR>AKT;0omypSQ`%;d@DMap|m-FD(%7q)t-m;1c7X!ptIqUznB>b^67 z>#gKrdVP`os|5iX3!>Kg`AnI*{Ahf~(&xSBb;9Pk`>m2%Ut^?F z-Lq#8FIRs!PiE7%nwFV-hYVbH#>h!;pHSXh zrueDNgFE5ODRWwVsc_tLNIJwA7_Rob<%`0qOm zcrL#G?z%;l-}0GIyL-y3J=R{$Vhs8Sn(3HPA6n2<;7FP&%f}!4$GOR4{yAdUF_iWL812&@{*8uT7F3+elkwo@}0-(}w| z-frWvYvSz92b`Yx&Whx#@L)W8li?=E{Hx#ReGyu;M>jGq;Z9}dXG8DR`ty}fd%cVF zcCMK<+y4B#n=yOLYy6}?&0lUiUrdbQO0#_0)az@GADz4Uv(V(enbTMz&-YjF`}6bi zmB*`o8a_^#wQR;z-)ZKbmFn{DNh|4n{r0jcMX-0B*Q=PQl4LW!OzDkQFQ1miO)50> zHU4biaJ*3MknFS07#-XE6U*LCcx1|&DA>~fNo(b|v!9Nh^?Kz~Eu*-qOto{;(fD`` zk#qff0tL-`Wfm6ylnMxx)k?qkNnP<=@5<^oHj3g5o4#cpKOeN>pD#9)A+f^Bw()g z`^7bGvC6NWzWnB`OnGg=ed0@Z9dzzGqUQY`}xkd-siP{wmeU5Oq7^uV#^>HU;oT{ImezO%T;x3TT(AQ%iQwKX8rVZxsvsB zOJBq<3^?I>p4qZ0e}&-eGB#tq-e;{UujNz~AALLj=;_g=!cT3zy!6k0^qlb9yWzKy z>RaO(Q>DY%cSir(BK&9h#n#NrbImvHv6(yFu76K@VeF^;TY6&MGuPP0Gk%Pz$ZvQV zA2RK#!6k+6t^K$4}@Aqr!FiZJs~dd$P#*PmJixm23}Q`Ufkk zT-6A??os@<(!}F(Rl%lZ)7>^N|9aqs-%AT_os_8kIsp^yIG7@)sWRQTl=VNe!?62t z`owoSd%SmLUNG>T_0*?SuKeh-!Wb7_0YiSBn!q-dBavKD>C^gVAD1!DT>C;t_o|8M zlQjoEJDBSEu3ywO^<-7<)!%c)KTc08J*eVh+c0^uupzV4)~KtKG>V=F-Fd&GwxMqM zl{HKI^Q4u%7xvz||F-Ptnj(|dZoX+J@ABw0e92s8Q#Z$J*Nttx2NM+7rn~HPF722r zx-0YStzYMUOBwMTcGwx?w*9uNL|f9%%Nm`FH}@;Q{c$UEg7wSIyN-n{(HG%bas4&J zvF3}*a<9CKs-F8ltv9pN_UzB4L7dxi{Y@;=18;nqv$x`hrSd#5`P|$udyag%s$Ft^aa>HSxAOaLYrD+&sMD*g)Vgm6f8P^1xh#w~^XeJS zOoRMK&zHS?>bJz?IpfEN9IM*2?9JcpSi&xI-R?rJ^%Ku?CPBXHXD#mU{9_lo`P|E< ztd8Q;mz`fSk2w~3%e(GcGJSfOoX#zMyR%!Ly__GOyV_xHc;+EDp2H5SuX@??CWk#) z^s;in%-6eC#`W#-h!P3WPn-73ZuPc#qMPoWHwm-T%}`peb8C+NVw3zQUcYv{d%fdx zMpuUp_xDpLqW)gqXL7GE^Td+bes>Hbx$^I9eZ1}Phb^DI<~91UU)ek__0nCP8PYFP zbKP04@kRvA6~D@Ht7a8{4@*z7x?LDxnl)K!mlf~B6*m6el}n9#dlr3P61CZ!Z_bxhm0sz+ zF;95c@5*?V7<=LHf>8ZSKKg>`w$BwapY@uUwq@-< zx%`Q3#uSSu`R~8~UU^QH+v)jAsWnzrR@xsQe>;8rO!uE%*RS85zqH}>@egn7_UqpZ zm3kC(-#4yG?u6sL3%miIYM+*IT0IU^;Arw$yyB9_#1+Yh;>ilfJ!< z`m$t}My{`DdGD6*6HMo?GC8r@ZHd40t+@5(+uj}6)85KtS>{)Gse0aW)xsAwO0^p! zMEE5&`@p zTf64%t5o*fe!%B;NAGR@cxC?--JZ;+lg{l8oG>%@_R88XE>%i@c5+xuX70Brw4U1+ z_Ca#J=89iS`1Izkvgj@Gm}F9TLdmye;p}fF-_6b%%kZ#m$gOsouAXQi^XSQwlr_2& z*gqD(pZK&l^8Dv5=U5HY3N!ZoQgO))zgi#o+-2_i;(Ju zV%;;p*jSpRc-QAiZHjp`;r!nF@3Z%Y+*8vK>o(v~-d0|AZ<3mBTBz{RrLy1a@6^pr z7oDm+!fOSgytRi7Tz22}dwX=D>-6fq^NLihe=aWW z;j;Sg8*T9{lKaIo`LNE!TH*PHq)8SofAY4k zcCD(bTNog4xwg1ddA~`O;GNsb^4j^UC%Bz{-WVyiWkoJSk}jiNvZVd7@3j{>o-Vn% z^_si8`=O51mq+Ka?d+TQ^wY6zxfS!&W5TQ+ur3SHT6q1n@1CBA1sY*%HtTS|EsOr6 zE-(H4l4aV$)yrG+4tj0+@X2sh?j&7Dfeuyur`skxul!IOFEQQZbq8;|vy8mFHn)%5 ziP9$`kyWcMakVn>@$(0+zM7Oj#}& zl*Wc=P382S&t8;&;uG7-+}jyuvsdo1xN>VbyI=NnA&qbQF27uG{q@4I)r%-l1+yL~$( z!o?~hFMqf+c5QL0e!$Y8nIE29*w}EZ>UD+wrHH?KxDJ^7?D{QRe!tDoPHo}MoI?hF z;@;D$6DN0MOR)9z_aD#d)LC~fbK>gLL89%!T2n8)|9&yYOueuBcf>SR6~CP^ZoBV> zh28!1en+k6ea{);j2@HIf)4g7)!#8YSQ^{ortDZDr_Zdif42h1hW-2XIrewB>1Y9$gzX>+`c#lU$L|gV%4WMKU`?R2HSansoKE&6~GxIhBtt4ZIiO;T)EC zX4>i0DW_B4ynUNlU9@A{_FUE^4cxtZ_XivP?Cflfsb1XK2ZY4TLbu;ppz7cAymCkN z_q-#^*h>i#FY*qtixy?=Llg}X00;yG={W6pi=xxcFj+I3fNy!`UP zxw+O(QY-Jwc^-F_hduk!j~7!^Cc#`zACX&((pZg%C&a+&1vf=y8cp` zX#cMKj_nIM{yE2X{ocoays%}Br*(4U``jZ) z3s@O)EXi)sx#vdg7GDi69M0K(JHte3Wti6aE{#s-luNl^UcU3c^eyrUZ-Lj3y8ZoG zTe*%Gy43KhuRd3MXK%H*ySw{}>#rZhF3V*(&&)mDe3SUH7`??&Ym-c*66@>jzfN$v zY;ye4Mjh_8Vct3d(^RCN{LNgoaNR@(2JT6qwE$~t=Ct}NXFj@g>8$wwYo5XubLTF& zo5#()zH91r#q903kG^}i&LAa|`SP>Q)~G7KFor|7e(%%&v#alMLUOY6Z^ghUk?X=N zjJxjYS&}-~&t0@mwpC-&s=C*&s(+TRzb+iO`p%){ zs(ar5-ckBmtmeM^-Z=51VnIcAEuGdqj0V>vR9`=+lq)MM3s@T#d{X9L!r>1kk<;VW zw}-86jaobH#npv}9$EBtJnHEZ5BHp6S|9$!D zyiHft^?fDgxh+3+%ept(kjHt>oH-93JYaZQRCy+O^7AdVo)H!=Ib)u+Bx;oW%rH50 z@uHy2@q^6#HVdw59@4ehTi{pq$tU22VeI7m%Q3GHXcj)Xz;?50m6OyZFA32}9dc94 zl_Vl#u2vd7Jb8C^Xf=Pk^POF#+ziL6@;}S{nA@^cVXuzwiPp%KAp$InZi@xW%F7dP zo2`r4Icb&ogbsiHIsT4C6%`#-d-dERKmNI3%9v1FE9)q*q%P6QNd4uXC4W~XHz^#r zySv==U|8nwy8WPVtJ)-cT(HnPvgCV)$)Vf%`+FZ2bhs^6yu}i^jBTd*w5BfymYh+1 zB>eLBTeEw$-$B)eA@|zZ^H$|IIL$hFs*v+?h6&5XN?w=$?vXV=Z+RY>>-KHMiF}E+ z3ztgX|M~y0K;v1zie>WcvXqJjzP7`PdH47APM$1Wm^-z)D6(U}$&%*^-7z|1f-H<$ zQ@bRXDqdgHwfTA_IQel>>7~hE?P3?-f4}(p>w~4SCQ`hLnHD!0w=Q>E`u^wtPjyUd z&!$MUWvHx{I;{1gBA3DEN}EdQuDg0XhXv%MvQj?X3Yhv_qb0Fp?_S$GyUY2fdbxhN z_o;71>cvkjOO^KiIdJmUWxLBJ7qhm0IA{I-L8tmWhpkb*H4`?4KD&H8a6|O|`^OUu z4qUt_s5O;KYpU0iQ|g;U{VzXEk!YKdb*E59qOCD+`)rNyNB_F5rhgJ+X)NGqNz{;9 z_2uC;Tiu7X_mA&>zpwlIy=wlx#~j+{xBgLbYM;CzWC^>PdM@j`@)Z|$1<&C}TboX$Xv?=P+>le##&*5b^{Rhf@T`AMPiHT`Z*zCW>rcNI+`P+kxZ!zavSZAr zk6JHw81No$c)cqrNLA{xmm=%sUuSFYAAk35okGppu-P15r-LSZI&f)X99v|{rXUls zZFln?Ut1ep@#&9~;)MF*I-#NXXCUx3;#{nCd0G&M$JEuJFS~ zRkgjZQVT9I9r*as@Lt7ZUYnm!COhf9SmK>|LcUT-Ytx^%Wzy2p(!wr*j_#i(n6kVx z-?VwcymhX!L5USoVQ(wtxLOa*n4);vZtXF?!vgH=>=n=FmbbL3yB}D@R<-=-rOETQ zWnNNyHFK%>-MsA|pUuvH^m6%pvEn;RJf$Vn<@%YGK2^_aFWarl<{ErOVgAqV<*P3n zikd6W=v$}mbTQ%W!Gwm387)a0HL5mv9xHfl-TUN2t$cNL^^Vfl(2uwSTbTKm0IY$DfR+#g{e)ZfgHz&1-Sd z_j1eYT}@9^zUSO-du*}jz$ZV&sXZqzJumqEE%(j4cZ(u)x=wiRWX=j?cD|Ib(vyFM z?!K-iZ_A|3^X?o-?ze3_d)7C1edDUeQ?@pV5?zjZTV!4oScu%8>*vn1ZN>H1PD+7m z9j{N|E|@ZZUb(`@T&;?~b@e%1qOTlP{Y5-ySgfAiHl^h4Z1em_@9yqS7K{7FkXl%& z$K>r_m9S|sXTyaxE`CxX|E@*nAN*_+v$raAccXT^^FA?8xv1#Q6aF6^x9B`cFc7#M z5^%^sgyl*0gHuMW`RtAgeM>t-I?r6q3eEX^Z2Kv7J8mI4dHLk@boRM^>|d*5e|!)9 z9H6&($wLd_CG3k9YrM3-b^rC(4SVA=;B#_e$Kfv=gyr)$0Kj8;k|bEZmghp@an4ptFInwI{B|AL*VlEj zJzw+bK(^eb2Qi0Mgnhi=Y5h`Je)*|rF&4*$$B&cm?5mZ2TPA%qE40Uc!tzhn*^}BH zpP48(D-k2xQ{M4SIr;kH{_ zGttp8*+iJt)vG9ef7aUTn>&m>s}kn$tU9M=xoz3~_m8(;k2`$rnwVVW6T!FV)+~Ab z`p@)hsVgV1j}+*0Qu6cjD|md2m&MUQE&azCAy2u5n_G;%s~qm0bouT1Yr;8wvF;aN zt8U!B?Y#Ns5odnemet|wyRLGj&+N~fC_b~VukXXX>h}*HJV?-))8Ot^WVw0GMw86K zWuE>4rdgq4^P~Tj->YP=uCA{5@vt4V1YxJ2;3glIg^Vh z3g-P&Z1`K)&vCxwj7ctD&pvT(n#1Z4EvHX=J|2_akSpD9^N9mICpF{Ao`w{k_16!d zJID9!`}f4iYctZG3$Om9aq_cU#RHj%abJyobU#u&l5#ZXwwU15{Cz*wvbIWX+qP}P z&YdeoSJ#Uf$nb$C=9-(CWn^Ry7`*epe7yFZO@xo=lrp(_tPk%@nCJZT+LYRR%QCxG zvUL7g_d2P%TDtt*9mlOvM?u-CYH!^$o&AXtFTR6XUm!OeO%in}`E+bTPiOXudFq>l z&#As_{3t2N;Nu~8dXs@v@3AmVl}F!y*UHGtKYs9lq1B0z-}Z}uUi>~Av*nMC8kPKF zue&b4eDK^kK0iOdBNI+%ZPi+1sc!W?#p-n3_bnFNm#{B-oLQkfz2hJ^!`XR0-GVv! z`N`GQprUR?*yrUtjsUy z{kzJeJJoF4Pp$XYpUa*fxL}5ipU>fUef|B64ld?qQoK32xtw!zW-a@+NGS8O-`0x< z4>G>HyIcK}YqML175^;NJ`caD*lTY#bx)6fZS(lh1i2Y+PE0z?@ng|B5gRwbsUZwM zw!PkUdLaO!?(e)go_?LSsE z4eVQaR|s5eZ#O6?3SWJ-Gs^SpL}kOLeyUST_h;-VSn_;=?pz-WJE!jY3J=5HxJie5 zDl<09+*R(TRUwRur-oeyM{SbNO`=CCF4 z4-X}}{u0%bA&$9_!J%hDd}8ZozRM;b|1)fT6?^uklJ^S+1_lOCS3j3^P6Qdg$?Ii;#!=9Om6*4_}%T0c|2e?-WehHKJ_%HY+Ry|U*o) z)}?ditao->Uiak0L`zG{eyde;Ud&gS#&_pTk$e9_+jqz1s^9EX2@MJ|s{WQEtoE^6 zcEjyrKF@#MLC=m%ieQsJy?oO3J3EUP&*`}~uUsViMvLscqL54RF3+ZIxD)jEarm`q znY|@f=S8xe`WIz3=l{JWD|;{h%}aXet}}nj(x0E7KkvJCP)O7-r|J@`Vsy$p3GWTt ztHamot@8+<=&AEkA+fV-so=C5PuQlNxF$4BL-gbB_s#a6+(k-3Pu4z*NVA_b_kX)* z0mBTHX?90HaYh^I>&`E54DJr?+ku)P@Rf^kkp5P4T1Ew3E}OEo^r#h>Kk?!$;0r z_*;kSMjzhODf4xm`CC7gJvq#nJSpOr$Z5@{v~zQIrkLoGYDb8LUll&h5)svSgyZy~Lx()ms&d1B zOn%k6i#yF}+mTDNr$$V!T6S^X$Fe z_5OKn_3a03eQk?lk3TTBP5*bd^vmQvwjIk#U%#4WBvDKKc=&a4k_Z6MP-S%xRoce$B=i-TTqHAUIV!T%Q-mS$~g> zI2!GFnJLLr&^zhntYbZh|SPyBgXdw;WQ4qv&uufAx^lm-EuG)NF1M%D<6euH!i`6#&)dh{=B*YyZJ50Io9tPu3p&ewd<_y?pZx#$ zq;sF0bc~yqUbOf!u~`4ML)`AX%|R3LlRV#7o@AJ2{_bvrtH-{pdu}}1=zaL~5$5Qs zD5E~reY1|1JLtQ$vaX4;`Fm^krkY3lH+@#9Yp<>Fx&7q9tEF!ebhx@zd-#(*|5qwb z(@fl1@bJ*4O`E1_hkH$4l*qW6TTEv|;jg2=3%|Ydf0}xg_3b^77OSZdp}XpnPM)ar zG@r(*&b@VlO>NDxqlcf*(-Go-Bl}|NFX@EK_rBE@q{oMc*H72_|F5yGBwS$c-&cGV zt~%3oA~%)149flW>FH^4-Kdn$L4C38ZoFUgVo&KEUDUtSKH2kmrQ$TRjYs}UY*k+T zU-9%bUE}@c-syqgO^&bjoK-SiFZFwp;h{^9H%cU~td47Hc=~yHoIoR^YeCRsi52@S zX4WS0>AYh;ard2H1N&6d>}w}h&)D>6d7$gFbsd~r)p+a^uWd;v_-^W7{wFBx=pyag z8zpqBEyYTIubO&E==}VB$BHU{s0z;TF4sTk`S9Y!>x$0|)~{soGoF^=bl`E*}f#?(f)g-+go!2{ra~(s{aEs$Jz+lFIFkDhDn#Z}f(&)gUV^@1;wZ{@R|hack^`T`z-nJi1zKrEVyue6vGU zu1_dd|M;Q4LU71FXD{1 zM<)9l9n%Z^`>uTBn8vp8$YH@Qss7_h9ZLgS=R{O-oet67n53(BGu_+0Tby01ZrMha zbw{dnr!D-M^Yg9o>QH^Tqvic!cW&KY^{d0>tE{Kg2AA24QG7?#=D%8TL~Z`3PenZo z(~82Uo$6h(p-1M?i`Yo%?sYlGlbV*MCvWUuTJL>2AwlzM>j$|rFX}nWW?o-r^R?;7 z-iS;8n~qG3XuHEb>C$Cy*MwVDw;wF|@Z#lr!Qvm!I@2G1N#@jz+avM*;Fg!#VQW6b zmNQLHI_Xi~#4txZX=c!K>pQapvkyH!)wE(mgH_O>u=W_~xqD*vO_|%P>iFC`{^+EM zpC{$%T>Kl#^33nQ?2TU!jr;8vzuITK_G6|+aD>-+;|wQ_UM_C6^{a&APJMiKs^3p* zmkW1z!|J=cWqXcpSiK9H@c(Q$y*1)T;`I0pa|&z3+S)^V1y-+Woh7l>`cb3#`@2`( zJ?7Raoy~Z(dh@TpTlX*d{ml0I|M`x~U++nIaCqJ4@_)?TH`e4uCV#vUe!kY-MqqJN z)ZtG%`Zw^LbCB+7jbLN(uGCoW&{KanqNe$&yZL{%?i+jVMkRl|A)CAPQRD4(`xf72 z@1M1*>eI`2mu1waeVW*zx^YQI>fvX;Dq()-iu?*B5&nN<1oW_aRcnSVu(*Bfk9nRaASgphaA%Uqp@>3(PK-QFi2#``yG z-S_;O2?pseHw#VP$EYPn8x3TWnZqg9^c?&Dwf|;oO8nHW0U2T1}mg|`F0v`T?x9{G!P1UztpVgjY)>QoV=Jbd0asRH)dtGgpbD#hEmb||Y zkIL(E>$e*ln+CiIs;hZp@%EU2mCeidOQl}2)d}u7T6Xk2ug=?}PCCsEOaE$SOo`~4p4k+7eM5@bx5_KM zS#^?r-h6w$Yxc9qnSo5;*tE;jjmPvIVx4M6`qcx)HR;9IiTU+~@^9B>Yh?pdWm-@Cxtn>(Jkc#$m z4lljEv0}sOs!baOPCF#d-0~w)-2RQyv}<$sXDi7_&3pT<#^(>utoe?@-btQ1olEm) z*5n6$Q@*+3^=5G)kdSSA>Z|aEau=PwJ*uvOd|eSiA{&=zpi)^L36X))eXIAax?o{g zsJB&gmPx9RtDrZx)|yqp&`uLyio*{<7P*!x_QxeOTdF;e4Q#+!dy?POcUAY zvyxAHdcRd?^U?SzMum~LcJ5o{6`ZUKk}6qnB_w!>$CNOKOp&OMnkJiK9Cb94UIy)4 zS+^iWGi0OHx1in`z_iNq^PF#Gd0sw(EGWZ z=2Ts~s?H$o35%wL2)OHLg8Mzt?ho8gr;MgeojNr?NaU#`1ebACZ(QD%BZ3BwxxGgb@?418eGqSQo?QiYPt+*AhB@BEw$ z3=Etgnc)1ilJdl&REF4s{~+buAVHVR;^dsf%-qx>hV2Ko^fNFpaDarv6N~aP^U@g( zNIz?bIW0K9v?w{1;p_kA*Dz(y`MJ5Nc_j?r&P?0Sz`(!;(i)Okl9S4?;@u^61_lKN zPZ!6KiaBrRR#wPdox1)0t5x@|Zi@PSEh;ziQ{JAY+-*mW3A8`uR^e$o$;MY{G!4<-KWIp6A|>v+{4V zzH4n=GEH#d{pXsyL+_Tpp11Db)xF>E6#H}f|Nq9?s^U563xk2S)kD=`P6fgOIn&5Tl2#|`&y>_ z5p=xL@#LwvLH#^dPa*pkuT(q@?B?^kzh_{Y*!23%o0R+eY9rQ$eX068<@{0&E?ZmM z2puuK-EWLsF8;6nb%Enjj@jm-r(Rv%-Ihg9ILda*_8%`k_&)rPJdMz5d##f8y1vtQ<4xqeqV_u3tV|)qC0k z4X(`0%sb`xYg1BE9(=806kt*OV7c}7g3B*0s=jEPxB1L-_wL;J1C+S=&jo6p;we%xhG+a9s~e&_IEe)}`C^Y@*6bhKMIY+}N?ozJA!?Rur<+^ZleTx`c+pDUN~_=Bf-v3RI~ zH}?;>mo|4D*Dn@6en8{d8l_cTIwo^pxqsVo(U@bYx8BklHYMw7#JldDy7RO6q_3&K z-)U1-W+Wf)yLkDs@TT)=n*-zG?A~qcS~TH=WwoP#Qq-LpO*Ylvbo%Z8S-ifs_VL1Y zxkWp7S}Hc3IdLN4;v(0adwV1qw%?XjI#j_Tnd744xN3cBWZJhkH)|ep#~;Ys{`r*l zdY_wZpLv3JKQ^rU$4vOhm=+-7ntrIoSzeyIKwhoVmWQP}ui;-Tb?}J0pw~ zmTT~~S>O10Bi?et&X)CIbA^}eZomHj^>Ud4hix~#ooBa6=gmHT`Tl=xZ?n*amZcrb z->|)#^_Opd%{!HAH4`7Jx9@xzU0(co)uSZ}j~~3axVYxu=lT2=ET2Dp0!8K{p(Q$} zcf_n~DUWXM)buFz5&KuA_2l{U&6S_iHf`SQ9Cak3$wY!@%9JS+CQTCBWWPi7&6_t% z)~?k}iQl1cbzP35BjY5MkC(jlRgcKAN&UDx-)+a+iEGz*OkeOo;fwzF{&mft+vOkU-d=x1>Q3>+)J?zs z-#L-{`cg&V>%~{DZb{ILJo%z$ zv$M?~7wx>UDV3XH|Np=5Be&#5q|N?l6p_x;jRR#pz);??+}O!G++=W}~;8#c3NML)M{uc)q*ZtMj7plC!B3qZtWZ2s%@?E2kQM|G$*JGmRqvzjl=O0hn7!VS2HjnQ z@9%llsilaXQ`-7TOD<;5boso$lJUPjdDZ>iI(_HItN8~Ul=ba@3g0_za7p{w=a;-` zul!i%UY>OH>gk}LU%CA^lukde@mFHru9U2_nkxbBQ_1SbVYL_FKM8(NO*1&`{BCFhWL@tN=c~Qgp)Au<^H!vY zn9h^ghd6_{y?&lbW=-*w@_V@^L}zVMX{e&*(c+oG3^T)KhBTbnTJ!p~(NidCMn0+j1-Hvq0f_@dS`mcMIH z&pWGnbF;Et_|~eO|6SAAdgduEuTfOxzP2eZF3%xls_66cp^=Pl+vhz^@Bh~&%%?s5 z{wLmRx~Dw3ie{ZWbt>uqzrP)eB!2MvvCcn#{9rTt#jLH38nQFe9K%9F9(?{OAuG%K zvM$R+>eT7ek-N)uD=RA-ty?d@RMFMdU8Zn&_o|CBmYZ}Qmso9#(BWuuaCK!}xpHOB z{e5$vJ$rT_{mOZ9aq-J{@Alr!>p!j5f4uwrbMBu)!fkewSKHM--XX6Yv2|wrz73Wi zpa1W8JUR7_T>h2Wx8K~{JTZ0V<>mgDuU?%x;j<(Uo87;U{fn>8o8LRn%rPxJJvc1v z*ozk#EuTRJFQ}r4+?>W5<;Jl1qD1K_vmv;FvHI~)1JKNV*K)p|C^h&E~r*f z(AMsL`0(Kb!^E^SweZ+dQAV+L%*@Qo zA4_{Wvrev9^MJe0fvf8MVW&&eR!%N(oHlLRqpwwxa&pI>7O`&Iw8_Zs_s#Qd9ENd+ z=9<5<>&VefF3k=NoOL!WZ|~QzuC6YpSI>)fdieVvPul47QF?|&7t>cg{^K!mDXKc# z9yqrxYIybTSM`RcOHLoIKF3`iD|9b4bnmK%=VrWKx0}yVfayJZb#QX-MHlwR`i-5c zXC6LG+!Cehws_*DOF?}ymO_F_%dfwdl#%hdBQA8Lk(vF*?(+N-c9D#U|AOkKoAdX( z9nOvY`r+O~2c8L8$6j4sz4Ohc)615|O@8>`V6$NHj;wOOy;hEeUW(h+#O$1;y{==9 z)~^K?H9rh?m%rz`sjjUMqW6gPw$q%9A9rR>E_jmAqN^RY<^iaFkBAl0^5{O= zB+Qp7(`;g0d8_Er5zeyr_iPulRKB>NsN$J)v`e(HRy{^;pXrL$iJz}Oz2|y*$B8xE zH!fYca6meLk6|&ZW|xxPeE#|8#g$I1S)&sa9Ly|t{=>#(lP2dUhoVnaxJvx1oa-kp zkWf`+b@S#;6I0WpbKE-HbWYE)t)BL5npjnJ^~WlkB@sGLo;?eiFuy-;z5HhDeFYDl z^!9$abl`r!oc&o>oKYvQ_v>E0`Zb)$K(A~E|EJ&9BGc#w3MgRK!oB8_D z$7Pd?&P{8w$eC$hU)Q1AFZ=$9kn6&0PaV|{yb6-eXDAPOnjmJ%;gFS;b?EvnwGy6{ zR)scl{Br&5+i#y;6S;YYeSKYw5{uHY&W+QeR@Srsm+$`YfT{HNBk}zbk8Tw1zFT24 zZ^mN}*T4b`nJd?>O`4XbYQ4Ur=Z{cP(dR;|xmRwyEnLc1x$bq%^dC!qR_@tm(BG|7 zm1D)bUiZvneeTZ}vRF)*_B@c_D%4WxDu_On9&V8TFo`S2)go5!&EyTNPPUVq3if3$ z7kuD)TwvaZG!sURu0u18(>GkdHpxs|H^F=1+4t%jZod_di}>^BPfT3&jN@M2^I~59 zDK+erGCB06GE(@O)2fFBa{cN_UyprydiuENqX-vi?_=7>GFFtHJbU(N(#8w7Z%beD ziduVZ#p4qfF9up!TWe}*JzC$MedBi-Z(RTEEs<$?`wNwuu6u`>$N+@b{E z^G|vX=X)nQI-W5KS?;@Ke#V;nGxDY8*l-Fjd8JcmHCJ&Z=d-i3#b>a~^nb|9+L5dt z^;+VOmE1(O>&fr#?7UNOnD@`0=l1-T+jj4^eznnWxp3sP%wA1lYso-x68`sL2^uTv|oG`lG$nn@eJD0xw$v{+gB zMvht5+ixqHWImkQ^S?8CS zm}H&2cuG+&%+<2~aA1e-lamt+99IdyeOT$VZvVeug^P0!af&^zczi6QZ(hXvl`Q@F zu7Ny1=P3M`-u$y>Uq?gn{PXNh4%OlM>F(}7gO3~VrthtI9^PCT!AC_FU*HCMw#iedt4&!L9#~4R40t$qKiYD9!ZA z&(A-S9w^fFd2?Y&+2u{2749|t7fRW0OW=tBd&9*-1;Vs1K(%;ws`gB!%7}uZ{1-33(`s42^U^p^pw&` zOFp2u)GkhGny#pu?)NGdo zYf4!fbx$RqMRi}$kCjd8)|fNjVY{SC4x8o%`%sY;uPi(tely>g_c!iPj^Rw7f2lrA z4GT_G)Y_FeZZk184;Fj8%i+bI%mB3viT;b)$ECvgkWV9D=);V2aGw(n} z(HhVH8A&~A6HZpdG*53nx@x;dSDA3LtKa22iLtS@z~U-SKn(V_3hjlWCymz(~Oc_qGPnta^) z2RUp9SHvZ+4SPL*_v_b(AAg*XwQ<7S$4|Nwu{eN(vL0H|-KsLifYE78-HP2f?(b3XI|My&c`fyzx z=O?a<8b)*9zP+YfGSA2qnPcQk+5Un*eg6=EA)AmXVs zbB*rmu(e6o*To8MbD6>~xN+@eQ6`JX=&&^r2c`4(2v)|fn)bonnbU9nncPbP>$ZP) zkD2b$&Y%`D!ELeOhXk3abFIsZp3g03TDaOQWKm_%ajx0iX=^n5BkJ4RPoCT)qv)~y z_S^=Mi4)gEZf-NpzSi<4`0!aX-rh&d({#2k-1#iIF--N=tUWUifco+ioeXVC_|CC& zo=J%gTOW7!)z#I`-&Ss`x%Bdwu69g{rqkw+U76ce6PrqQ#(eqm#bw7S|2Y8(P4Cdl_Vnb;&CM15$EViK5Hhp0gT<0_ znIhK{Cj|yMS4S3;rVk6ZFTJ#6?}F>9iHn2#k2jxw%GD!&_3Xof5BI9yyNVu(c)Tye zaLvX(`TmIGWu>KtCMF_*&zCJ*=2ENsSZUtpcP~wuF734REdB438<;e4OX@3?E3r%5 z_OayG*48pEcQFxc6ZT)?yCpg4tRvfdZt+ju`uijT;{!$XGhWY7@igF!ty_Bi^~J2M zg2fel?ac=d9_$De>00EH!Y`p+SE_UD)vi_D6Kd_^6Yku&e%-yexcJBqLkrdTNh;#A zTDDEl)z#(U<8#|$QT_eh)4$*E^LIGbHU(_Sd+ri_B4VP&tJe?KJYBco#+m8yb(UG( za{pFra#7Uoy!mL4y|1=s^s@8QT9$t}aq?v6EY?5#^*@+DKR?gErR(CZ86VI1_PKsY zKRjP_r3Tj|71lhC-rn9oW~OD@(GE)MuKP%~sd~8^ADlNc&HIou-?w*ny{oFK6rQiz zHP@oBNqv5ek&DDDF2Pdnx*sPh_~vYsaml**@VS8N#DxnL=hgknl#-HidbRxW%NMU- zCnqE*T#WZTQDo2m z{q61IUAwH5j`&VXWn*J|6s2k($tP#wQ2O=0TIripp{sZNx%6^ozbY|5wx9&E2x(rd!LQNu08)zm#k)I4-}_WwGMZ`TsZ_*Uv7h zUFJGr?b@|7&VmQ@zRkC-o+ch&Gf_8s+l1-U#V1B7-#ID#ug>D36JK89;?l^ue(JZk z=eti@(vi36X3n$x`q^_L9;N>O_tzsz_VhG8-prSW!dI{MuDP=R^{ZDE#pmZqs-9?O z=Tqnk@|d)`;)D9mTc*h@mY<$audIIP)N<{6q+$8FAM7j_3tsW;?w3#gIn(&VQeA^! z)|VeEm^4KXE0@ojJ^Sa^_4Q}xmf!QNs;X-Faphz37S^-LOFwYD-_>S+Z_n=Cv(@KS zG&MFhc5Gbix4ipz;Pb4c70;eMbC{$J>NL#pTsKW8>WJ#}IJf1;-DlrEUNl+ERlvgX zjpMQXPO*&lB#S05z8bJ#`UD=gU1fRwtLuanqmnedv$7NnuT*TyNDp5WFZQ3=pRq*B zcFR`3t*-=+coj{ZJ=?o3F7AvGrnVnCiD%Z{%!iC};|Q&(1BJSAoV_4?14&;A{mckR>SM=wt2M`+qH|x^UKT`u?ppZ@yfxd8KUFsdp%cQ>ATFVVQx~ zq}A)r6;6)1J0tJOm&6EPgX6MQ1|@Fq?ofJ%R(nOJ3H_BaEN~6DHR*vn54=(PvJ9TSo_Rd$UR$qAiRnanbai`&rlVJjy9;KPV<>lt<_k7}dzwdY6 zfz8ru>)QF{`)2cSUIj<$3-TYKiBK6|q zsh$&D_fLJ+kK4C&;dK8cl9AaLKiaQa`~070%kog)BGX5GNvB_MY%AW@qk3YdlfucV z$Jq~ht_uM*?XO=`W97VX`}XOD&g~I9i&U**zc{{sc(`3sLSn&+6&+t+UuXZuzI}p& z!pD#gH`HP#$jZuIxqdx3Jlwsuw)PC`;k9em3JWc+s$*e{UvnhD&H2ocfP)@Q2YMyd z^3E8rihZfuZg91}uXr`jwzDT0SeiDwYpCSy%RZwLzHZ~>n6oBLlVi?u`4>I4n*QXK zbJA(nmm%e)r5p3_+pXLGuWF88`jzunu3ilc4?n&#c)5WDPtKhk6X(pC!{P3?VX<1p z{=0e0ckPhYNl{5lT9Ht5;Pl?Z zfA*!%xIZOY(3FXP8^3{)woSt9R)4`CHO~Ckmq`BbX|q%ju2}R;arvYtS<4Kss)QSN za+{rc`}S?>@jls{8yggp1d9!p`^{zg!(=+sC#L4((J9lW9V^k3u_$O*?B4Ij!tatT z>8mDuyiay^!RZx?)OKF-oHgM{z^lsHvt}i!?c{nkSJ6B^|D8KyUfzqRr$TJ~OMbt9 zkQR8@aC-aR=DdGqFVy1IeNRgS`4%nZ-K;uKCES?T^yJhfGh-&Lo_U0|)Vj2!WJB%m zvK%w%sZ*yuuB)r4m=U|X%(W!;aHsnH)heD}zJC39Ejr(K$33lsp6k3$pJJNm;Oy+Y zW!u)?nNPH4*sN{4su{({Q@P__RzjcSp=FmJ1SXVr^#$#9`MO~C(llLHE5YMSvTe5M zW=&dsY0{+$D&e`gYb%a<@GSkb{9a<;e7RW{DsP|PVc@^?Q6PtBQK-2)m z?&W^R{_fSQLk|lc6j(%TNMMYNjC?F7Y}aWY=n|On``g<>|NJ9LHYY=4b9M7fPllG6 zJ$*j!gQ*;ARi}G*+Qm2D3JbgV90e*CnaIj>eeShlQHWQcv|d>AikFZ3j%tOIQ&leB zy5*G{`}Su`?9H2ns%^7!Cq$&pyYWh*JJ5Sky5eEsva8qU`xi}}JK6cBgzcJ{$JmVw zl}{U;J$u%~+nebqLPv%DUr7bklib+QSy|JZfR zvEb0U&Krw(cpqkGF59=EWlM2z;K!m%PY;&=GAW9`|3q8v7`t8YuV1g%Po6mO;G?76 zk`fXLhue53#}z7i3LQRt_{z0wk3Rpb`2BXfu-cJ?W3#1ukFE+`UGe#>?VEdlkF}iN zS$209r@S!#<0DXG_4&EE!FuX~{$5^7rk84|yjtlGYKEkApG^7n z;PWG4DFz1Sm!P!((I*P7?3w%a?b|!m@Ao!}=_xBWA3Ef8>GI{w{QTv6_u3k47s;&* zo1`M|mNrMBnKSR{xjB}`x!vvhEKa#i3E7`-e@XCGT$F`eQJSVvrJ~d2P^Sn~Ub5crCjDl(Dhvn7s4_7ApGKj=} z=9Rl$BsuHc_MP7!9=E)9#rx;d`OjvT=PV0&@!-3^-KpYgsf}W1AD_No*AW`n{KfzC zr&|8cS1ziF94PyGy)x&tXh&>*@%_X0&ohGgQ(xyjTBo}`NMp{kpX%~YZ`$%M5e@zL zG~fQrtC{jY=08#HsQCZ)yS;#}cTAGxf@Rxh{C@Y}XsVN}{rz9TLH1>)?DgN)|2Y(Q zR9|ji+jaSx2IgZ+Q?CD4FaJBeIseb^zZLW98`874>S&o?x^$~`%A~%s6|LK|XMON6 zTD!P-$NPQy!K&9jcfbEDa(b$?<(D6KZ32y_tIORx5-(rV@V8AhW&RJza@(6n?f?HS z|G0O@)ce;u);x=b;^}{&aLm#a+Pn+ zmn?}rcq&NoVc{gtNiiOJKHM*5pZvAIbH3}mjmP3V-TxoI)SfZVHk9n?`Nsd~%MOV$ z%_Yku43{lw%9faZ{A9v^4Y$3Vo|hh!@;`bdIDyeq``76|kIN%}zLdYPAo_5!|NZk! z-F%Y|c36kaeD^suYxzgb9iEeXrg0m$y|F*m{QuYgiruH3pRQV(!n6I-Gu;H&&S|ps z_nbe!l=3Ty`gvS8KILtUw)?#sXLrB9ZTYLrIQ-5xQ?K9OKVMd_JO8Twr=*ETX)RKPX6;u39hG&E=Yv^~&;f z$>d3~K3C@io!OC*wc+v=)0T54-CeBQ0k`@KH~B9}IvAvLZnDgZ*NXdh2>kT1p3D6F zw9m=e$CIK9X1a!))jO=SBO`0Y(v{f)Yc;3t?6<@uVV_;xl@O1TaS?83{1OQJH Bn0o*K diff --git a/doc/qtcreator/images/qml-toolbar-rectangle.png b/doc/qtcreator/images/qml-toolbar-rectangle.png index 296fb798158ae75ccc3f9569f01ff9270bfa9b7e..c7ce5602d5762d732f3b410d976503ca10719435 100644 GIT binary patch literal 2068 zcmeAS@N?(olHy`uVBq!ia0y~yVB}*?v~tEuVh>+9S58yFZE8X6iI85tWJo0yoGnwpxKnVGApnd{q| zo12@vhg(=!SX*1$*x1nEp`oF%v9YzP`Tx?vDQc{s|K%Oq@7z^5n_WrcIkMW5&#xGiT49J$LThdGqGY zpFe-Wf(45fEn1wZw)obqB@5=RUbcA6nl)QDtl7GC>;5*+{rmUtzjf>6$&;5aU%s_C z^Va^hTelY9y0!n-ty_2Q+D#w&zkK=f|NsB6tufXN3~aofE{-7;x8C0EjlS$A z!(Jc~^YV1#1|#FAOOKvCl(H|NkxS%F#N0K(4uXuOJc$M~I1ckl=;xiYJi2g7?!W!J zr!QHOIeE*H%=dcVYv$g0p zee|hXbxUwYT;{>^!Zscv&o(#Lc3!pTDz-hi&t>5{L(2&po`2^CThKD$#8athWu0Hb zqkdRwhwZQExVgLM{UX-WZ_cZ1z9L^;De1Y>SLmX;#3RosRh`1e4Uc>jHuG$lxm@7U zOCDzCMUNy}EW#46zhGea&Z%~ecZWa2Z5)yJwJa(3oHmfZ=^T&kwhDWQB*_&S? zb6M9ck-4F*xK91akBF|lLho;O>g%Yqv`i2Xa&qzziCMHud!k2-{o0$+^Iv>WUuWrc zXnqHCz}HGYp?@yy`-QH?O5Syxc;b%aqe!K%$FB3K2$|c-9$;Q7*C&2SJ?kT1{iD^4 z72-|RkMDRb_%0{+BO&_jfrQyU&1^m#-XY~j72WReOJ3kFx~u-Ga6X43r-@I1{0^~0 zRw%Pu;8!BJK=)g+<)$^K0l*ble6Nbp!oF}kFsXZw$zSRb(pcVL-KCYnHOA~n=iK? zUn<-$&XB+K-sY)to456N{&2APmU`{Tp##sqZrhSBfBda(-1@@kYbrJmPgu@%IW+Io zw9k|L&TS8o+MeorNYr}y>=~!8>b+ccH}%f6pw2Uby8S8PZ`R~3aEXXldSjI5y}ZT$ zyYcNzp?L+(;Fw9W+&!eG}(ABInd7 z^eODFUgaVWq2vurKjIc_5nAHEz}g~ULCc=d?Z3Ze=?U%i)rjKUv-!G@QyzCds2D7t z9mF4ady)5v^tMZ0cjDsWMI&s_DZ z>1Xb!?2-=LB2ub?Z zOQqKfRG+=INzJjm#YIzP%@zLw)x@QBP5PYLUxjNtBUa8&2s$+F7pItN&F!0yTsY5v zYn*e%{G!K=i9+jqIye7yIpp-0MPF#63FqTgjG^H(T116vJWamKdnO5mdVJ8FcsZ() zD~T!0!zVyB@Ux6w)(SDZsT!}3J`*~)PuZjAFjr?`r%`7)|HZXCgpxNnJ(}k-|H#SX zVJb|4N)sb*D!lhck+qo*@k)oFIq0@&?KDoX6Wj%9i;~%2C2?-y6+e|d@BPHBMWugTmbnDy&lB37*m^|PbJ7YK+27r-gc!H8Q=LCzn2N|3Mx$uzIwnnLa{J-QIOL6Y@ckQ4Ni}w zJIg!gyi$MmY~QpUQ!OsfR4beU3dTFPr*HAzG2JfMTV`cl(^*UHw_Iv5J5_|lRHJ4uC)vd3=E#GelF{r5}E*}>7ZT! literal 2880 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 literal 3633 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 diff --git a/doc/qtcreator/images/qtquick-tutorial.gif b/doc/qtcreator/images/qtquick-tutorial.gif new file mode 100644 index 0000000000000000000000000000000000000000..d15b3806c2390456aeced7a4047ca9764a129c4c GIT binary patch literal 96108 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

(TYjM?7fHF?F~L0 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 literal 0 HcmV?d00001 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 be4a66a01c5..75495477244 100644 --- a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc +++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc @@ -30,33 +30,29 @@ \title Creating a Qt Quick Application - This tutorial uses preset components and illustrates basic concepts of - \l{Qt Quick}. - For more information about the UI choices you have, see \l{User Interfaces}. + This tutorial illustrates basic concepts of \l{Qt Quick}. For more + information about the UI choices you have, see \l{User Interfaces}. - This tutorial describes how to use \QC to implement states and - transitions. We create an application that displays a Qt logo that moves - between three rectangles on the page when you click them. + This tutorial describes how to use \QC to implement \l{Qt Quick States} + {states} and \l{Animation and Transitions in Qt Quick}{transitions} + when using Qt 6 as the minimum Qt version and CMake as the build system. - \image qmldesigner-tutorial.png "States and transitions example" + We use the \l{Working in Edit Mode}{Edit mode} to create an application + that moves a Qt logo between three rectangles when you click them. - For more information about developing Qt Quick applications in the Design - mode, see \l{Developing Qt Quick Applications}. + \image qtquick-tutorial.gif "Transitions example" - For examples of using Qt Quick Controls, see \l{Qt Quick Controls Examples}. + For more examples, see \l{Qt Quick Examples and Tutorials}. + + You can develop Qt Quick applications also in \QDS. For more information, + see \l{Qt Design Studio Manual}. \include qtquick-tutorial-create-empty-project.qdocinc qtquick empty application \QC generates a component file, \e main.qml, and opens it in the - \l {Text Editor} view. Select \uicontrol Design to open the file in - the \l {Form Editor} view. + \uicontrol Edit mode. - \note The visibility of Design views depends on the selected workspace. - To open hidden views, select \uicontrol View > \uicontrol Views - in the \uicontrol Design mode. For more information about moving - views around, see \l {Managing Workspaces}. - - \section1 Creating the Main View + \section1 Deploying Applications The main view of the application displays a Qt logo inside a rectangle in the top left corner of the view and two empty rectangles. @@ -64,256 +60,122 @@ We use the \e qt-logo.png image in this tutorial, but you can also use any other image or a component, instead. + For the image to appear when you run the application, you must specify it + as a resource in the \c RESOURCES section of \e CMakeLists.txt file that + the wizard created for you: + + \quotefromfile transitions/CMakeLists.txt + \skipto qt_add_qml_module + \printuntil ) + + \section1 Creating Custom QML Types + + Because the \l Window QML type requires states to be added into child + components, we use the wizard to create a custom QML type called + \e Page that we will refer to from \e main.qml. + + To create a custom QML type: + \list 1 - - \li In \uicontrol Library > \uicontrol Components > - \uicontrol {Default Components} > \uicontrol Basic, select - \uicontrol Rectangle and drag and drop it to \e Window in - \uicontrol Navigator. - - \li Select the \uicontrol Rectangle instance in \l Navigator, and enter - \e page in the \uicontrol ID field in \l Properties. - - \li In \uicontrol Layout, select the - \inlineimage icons/anchor-fill.png "Fill anchor button" - fill anchor button to anchor the rectangle to the window on all - sides. - - \li Select \uicontrol Library > \uicontrol Assets > \inlineimage plus.png - to locate qt-logo.png (or your own image) and add it to the - project folder. - - \li Drag and drop the image from \uicontrol Assets to \e page in - \uicontrol Navigator. \QC automatically generates an instance - of the \l{Images}{Image} component for you, with the image as - the source image. - - \image qmldesigner-tutorial-user-icon.png "Image properties" - - \li In \uicontrol Properties, edit the properties of the Image - component instance: - - \list a - - \li In the \uicontrol ID field, enter \e icon. - - \li In the \uicontrol Position field, set \uicontrol X and - \uicontrol Y to \e 20. - - \endlist - - \li In \uicontrol Library > \uicontrol Components > - \uicontrol {Default Components} > \uicontrol Basic, select - \uicontrol Rectangle and drag and drop it to \e page in - \uicontrol Navigator. - - \image qmldesigner-tutorial-topleftrect.png "Rectangle properties" - - \li In \uicontrol Properties, edit the properties of the Rectangle - component instance: - - \list a - - \li In the \uicontrol ID field, enter \e topLeftRect. - - \li In the \uicontrol Size field, set \uicontrol W and - \uicontrol H to values that match the image size - (\e 55 and \e 41). - - \li Select the \uicontrol Color field, and then select the - \inlineimage icons/transparent.png "Transparent button" - button in the \l{Picking colors}{color picker} to make - the rectangle transparent. - - \li In the \uicontrol {Border color} field, set the border - color to \e #808080 to make the rectangle visible on - the background. - - \li Click \uicontrol {Layout}, and then click the - \inlineimage icons/anchor-top.png "Top anchor button" - top and \inlineimage icons/anchor-left.png "Left anchor button" - left anchor buttons to anchor the rectangle to the top left - corner of the page. - - \li In the \uicontrol Margin field, select \e 20 for both anchors. - - \image qmldesigner-tutorial-topleftrect-layout.png "Anchor margins" - - \endlist - - \li Drag and drop a \uicontrol {Mouse Area} component from the - \uicontrol Library to \e topLeftRect in \uicontrol Navigator. - - \li Click \uicontrol {Layout}, and then click the - \inlineimage icons/anchor-fill.png "Fill anchor button" - button to anchor the mouse area to its parent. - - \li In the \uicontrol Navigator, copy \e topLeftRect (by pressing - \key {Ctrl+C}) and paste it to \e page in \uicontrol Navigator - twice (by pressing \key {Ctrl+V}). \QC renames the new instances - of the component \e topLeftRect1 and \e topLeftRect2. - - \li Select \e topLeftRect1 and edit its properties: - - \list a - - \li In the \uicontrol ID field, enter \e middleRightRect. - - \li In \uicontrol {Layout}, select the - \inlineimage icons/anchor-center-vertical.png "Vertical center anchor button" - vertical center anchor button and then the - \inlineimage icons/anchor-right.png "Right anchor button" - right anchor button to anchor the rectangle - to the middle right margin of its parent. - - \li In the \uicontrol Margin field, select \e 20 for the right - anchor and \e 0 for the vertical center anchor. - - \endlist - - \li Select \e topLeftRect2 and edit its properties: - - \list a - - \li In the \uicontrol ID field, enter \e bottomLeftRect. - - \li In \uicontrol {Layout}, select the - \inlineimage icons/anchor-bottom.png - (\uicontrol Bottom) and \inlineimage icons/anchor-left.png - (\uicontrol Left) anchor buttons to anchor the rectangle - to the bottom left margin of its parent. - - \li In the \uicontrol Margin field, select \e 20 for both anchors. - - \endlist - - \li Press \key {Ctrl+S} to save the changes. - + \li Select \uicontrol File > \uicontrol {New File or Project} > + \uicontrol {Files and Classes} > \uicontrol Qt > + \uicontrol {QML File (Qt Quick 2)}. + \li Select \uicontrol Choose to open the \uicontrol Location dialog. + \li In the \uicontrol {File name} field, enter a name for the custom + QML type. In this example, we call the type \e Page. + \li Select \uicontrol Next to open the \uicontrol {Project Management} + dialog. + \li Select \uicontrol Finish to create \e Page.qml. \endlist - To check your code, you can view your \e {main.qml} file in the - \uicontrol {Text Editor} and compare it with the \e {main.qml} - example file. + \QC opens \e Page.qml in the \uicontrol Edit mode. It contains a root item + of the type \l Item that we replace with a \l Rectangle type. We give the + type the ID \e page, anchor it to the parent item on all sides, and set + its color to white: - The UI design is now ready. + \quotefromfile transitions/Page.qml + \skipto import + \printuntil color - \image qmldesigner-tutorial-ui-ready.png "Transitions UI" + Because we develop with Qt 6, where version numbers are not used with + modules, we remove the version number from the import statement. - For more information about the views you used, see: + When you start typing the QML type name, \QC suggests available types + and properties to \l{Completing Code}{complete the code}. - \list - \li \l {Form Editor} - \li \l Library - \li \l Navigator - \li \l Properties - \endlist + Select the light bulb icon \inlineimage refactormarker.png + next to the type name to open the \l{Editing Rectangles} + {Qt Quick Toolbar for rectangles}. You can use it to specify + rectangle properties, such as color, transparency, and gradients. + + \image qml-toolbar-rectangle.png "Qt Quick Toolbar for rectangles" + + Next, we add an \l Image type with \e qt-logo.png as the source. We + position the image in the top-left corner of the rectangle: + + \printuntil } + + You can use the \l{Previewing Images}{Qt Quick Toolbar for images} to + specify image properties, such as source file and fill mode. + + \image qml-toolbar-image.png "Logo visible in Qt Quick Toolbar for images" + + We now create the rectangles that the image will move between. Their size + should match the image size and they should be transparent, so that the + image is visible. We set the border color to light gray to make the + rectangles visible: + + \printuntil border.color + + We anchor the rectangles to their parent to position them in its + top-left and and bottom-left corners, as well as the vertical center + of its right edge. The following code snippet anchors a rectangle to + the top-left corner of its parent: + + \printuntil anchors.topMargin + + We add a \l MouseArea type to make the rectangle clickable by users: + + \printuntil anchors.fill + + To check your code, you can compare it with the \e {Page.qml} example file. Next, we will make the image move between the rectangles when users click - them by \l{Adding States}{adding states} and by connecting mouse clicks - to state changes. - - Because the Window component requires states to be added into child - components, we must first move \e page into a separate component. - - \section1 Turning Page into a Custom Component - - To turn \e page into a custom component, right-click it - in \uicontrol Navigator or \uicontrol {Form Editor}, and select - \uicontrol {Move Component into Separate File} in the context menu. - - \image qmldesigner-tutorial-page-component.png "Move page component instance into a separate file" - - \list 1 - \li In \uicontrol {Component name}, enter \e Page. - \li In \uicontrol {Property assignments for main.qml} select both - check boxes to preserve the appearance of the UI. - \li Select \uicontrol OK to create a file called \e Page.qml that - defines the Page custom component and to add an instance of it - into \e main.qml. - \endlist + them, by adding states and by connecting mouse clicks to state changes. \section1 Connecting Mouse Clicks to State Changes To make the image move between the rectangles when users click them, we add states to the Page component, where we change the values of the \c x and - \c y properties of - \e icon to match those of the middle right and top left rectangles. Then, - we connect the \c onClicked signals of the mouse areas to the state changes. + \c y properties of \e icon to match those of the middle right and top left + rectangles. To make sure that the image is displayed within the rectangle + when the view is scaled on different sizes of screens, we \e bind the values + of the \c x and \c y properties of \e icon to those of the rectangles: - To make sure that the image is displayed within the rectangle when the view - is scaled on different sizes of screens, we bind the values of the \c x and - \c y properties of \e icon to those of the rectangles. + \dots + \skipto states: + \printuntil ] - \list 1 - \li Right-click \e page in \uicontrol Navigator, and select - \uicontrol {Go into Component} in the context menu to open - \e Page.qml in \uicontrol {Form Editor}. - \li In the \uicontrol States view, select \uicontrol {Create New State} - three times to create \e State1, \e State2, and \e State3. - \li Select \e State1 in \uicontrol States. - \li Select \inlineimage icons/action-icon.png - to open the \uicontrol Actions menu, and then select - \uicontrol {Set as Default} to display \e State1 when - the application starts. - \li Select \e State2 in \uicontrol States. - \li Select \e icon in \uicontrol Navigator to display its properties - in \uicontrol Properties. - \li In \uicontrol {Geometry - 2D} > \uicontrol Position > \uicontrol X, - select \inlineimage icons/action-icon.png "Actions button" - , and then select \uicontrol {Set Binding} to open - \uicontrol {Binding Editor}. - \li Select the \e middleRightRect component and the \e x property - to bind the \e x property value of \e icon to that of - \e middleRightRect. - \image qmldesigner-tutorial-bindings.png "Binding Editor" - \li Select \uicontrol OK to create the binding. - \li Repeat for \uicontrol Y, but set the binding as - \e middleRightRect.y. - \li Select \e State3 in \uicontrol States, and bind the \e x and \e y - property values of \e icon to those of \e bottomLeftRect - (\e bottomLeftRect.x and \e bottomLeftRect.y). - \li In \l {Connection View} > \uicontrol Connections, click the - \inlineimage plus.png - button to create a new connection. - \image qmldesigner-tutorial-connections.png "Connections tab" - \li Double-click the value in the \uicontrol Target column, and select - \e mouseArea in the list. - \li In the \uicontrol {Signal Handler} column, select \e onClicked. - \li In the \uicontrol Action column, select \e {page.state = 'State1'}. - \li Create two more connections to connect the \c onClicked signal of - \uicontrol mouseArea1 to State2, and that of \uicontrol mouseArea2 - to State3. - \li Press \key {Ctrl+R} to run the application. - \endlist + Then, we connect the \c onClicked signals of the mouse areas to the state + changes: - Click the rectangles to move the Qt logo from one rectangle to another. + \quotefromfile transitions/Page.qml + \skipto Connections { + \printuntil } - If you develop with Qt 6, you must specify the connections as - functions. This is currently not supported in \uicontrol {Connections}, - so you must do it in \uicontrol {Text Editor}. For example: + Because we develop with Qt 6, we must specify the connections as functions. - \code - MouseArea { - id: mouseArea - anchors.fill: parent + \section1 Adding Page to the Main View - Connections { - target: mouseArea - function onClicked() - { - page.state = "State1" - } - } - } - \endcode + We now open \e main.qml for editing and add an instance of the Page custom + component to it: - For more information about the views you used, see: + \quotefromfile transitions/main.qml + \skipto import + \printuntil /^\ {0}\}/ - \list - \li \l States - \li \l{Setting Bindings} - \li \l{Connecting Components to Signals} - \endlist + Press \key {Ctrl+R} to run the application, and click the rectangles to + move the Qt logo from one rectangle to another. \section1 Animating Transitions @@ -321,56 +183,29 @@ the image bounces back when it moves to \e middleRightRect and eases into \e bottomLeftRect. - \list 1 - \li In the \uicontrol {Transition Editor} view, click the - \inlineimage plus.png - button to create a new transition. - \li Click the \inlineimage animation.png - button to specify transitions for switching to each state. - \image qmldesigner-tutorial-transition-settings.png "Transition Settings dialog" - \li In the \uicontrol {Transition ID} field, enter \e toState1. - \li In the \uicontrol From field, select \e State2 and \e State3. - \li In the \uicontrol To field, select \e State1. - \li Click \inlineimage plus.png - to add transitions for switching to \e State2 and \e State3, with - the IDs \e toState2 and \e toState3. - \li Select \uicontrol Close to save the settings and return to - \uicontrol {Transition Editor}. - \li Select \e toState2 in the list of transitions. - \image qmldesigner-tutorial-transitions.png "Transition Editor view" - \li Pull the right edge of the blue bar next to \e icon to frame 1000 - to specify that the x and y coordinates of the image change - linearly over a duration of 1 second. - \li Select the \uicontrol x property, and click - \inlineimage curve_editor.png - to change the easing curve type from linear to easeOutBounce - (\c{[0.233,0.161,0.264,0.997,0.393,0.997,0.522,0.997,0.555,0.752, - 0.61,0.75,0.664,0.748,0.736,1,0.775,1,0.814,0.999,0.861,0.901,0.888, - 0.901,0.916,0.901,0.923,0.995,1,1]}) - in \uicontrol {Easing Curve Editor}. - \image qmldesigner-tutorial-easing-curves.png "Easing Curve Editor" - \li Select the \uicontrol y property and set the easing curve for it, - too. - \li Close \uicontrol {Easing Curve Editor} to return to - \uicontrol {Transition Editor}, and select \e toState3 - in the list of transitions. - \li Pull the right edge of the blue bar next to \e icon to frame 2000 - to specify that the x and y coordinates of the image change - linearly over a duration of 2 seconds. - \li In \uicontrol {Easing Curve Editor}, change the easing curve type - from linear to easeInOutQuad (\c{[0.455,0.03,0.515,0.955,1,1]}). - \li Select \e toState1 in the list of transitions, and pull the blue - bar to frame 200 to specify that the x and y coordinates of the - image change linearly over a duration of 200 milliseconds. - \li Press \key {Ctrl+R} to run the application. - \endlist + We specify transitions for switching from each state to the other two + states: - For more information about the views you used, see: + \quotefromfile transitions/Page.qml + \skipto transitions: + \printuntil }, - \list - \li \l{Editing Easing Curves} - \li \l{Transition Editor} - \endlist + We change the easing curve type for transitions to \e State2 from linear to + \c Easing.OutBounce to create the bounce effect: - Click the rectangles to view the animated transitions. + \printuntil }, + + \note You can use the \l{Previewing Animation} + {Qt Quick Toolbar for animation} to specify the + easing curve type and animation duration. + + \image qml-toolbar-animation.png "Qt Quick Toolbar for animation" + + Then, we change the easing curve type for transitions to \e State2 from + linear to \c Easing.InOutQuad to create the easing effect: + + \printuntil /^\ {0}\}/ + + Press \key {Ctrl+R} to run the application, and click the rectangles to + view the animated transitions. */ diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc b/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc index fad9db2bab4..3eb7e5401fb 100644 --- a/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc +++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc @@ -46,16 +46,18 @@ \li Select \uicontrol Next (or \uicontrol Continue on \macos) to open the \uicontrol {Define Build System} dialog. - \li In the \uicontrol {Build system} field, select the build system to - use for building and running the project: \l qmake, - \l {Setting Up CMake}{CMake}, or \l {Setting Up Qbs}{Qbs}. + \li In the \uicontrol {Build system} field, select \l {Setting Up CMake} + {CMake} as the build system to use for building and running the + project. + + \note If you select \l qmake, the instructions for configuring the + project won't apply. \li Select \uicontrol Next to open the \uicontrol {Define Project Details} dialog. - \li In the \uicontrol {Screen resolution} field, select the initial - size of the UI. You can easily change the screen size later - in \l Properties. + \li In the \uicontrol {Minimal required Qt version} field, select + Qt 6.2. \li Select \uicontrol Next to open the \uicontrol {Translation File} dialog. @@ -63,9 +65,10 @@ \li Select \uicontrol Next to use the default settings and to open the \uicontrol {Kit Selection} dialog. - \li Select \l{glossary-buildandrun-kit}{kits} for the platforms that - you want to build the application for. To build applications for - mobile devices, select kits for Android ARM and iPhone OS. + \li Select Qt 6.2 or later \l{glossary-buildandrun-kit}{kits} for the + platforms that you want to build the application for. To build + applications for mobile devices, select kits also for Android and + iOS. \note Kits are listed if they have been specified in \uicontrol Tools > \uicontrol Options > \uicontrol Kits (on Windows and Linux) @@ -82,8 +85,7 @@ \endlist For more information about the settings that you skipped and the other - templates available, see \l{Creating Qt Quick Applications}. + wizard templates available, see \l{Creating Qt Quick Applications}. //! [qtquick empty application] */ -Con diff --git a/doc/qtdesignstudio/images/qmldesigner-tutorial-bindings.png b/doc/qtdesignstudio/images/qmldesigner-tutorial-bindings.png deleted file mode 100644 index ab9e72cd9ee475352125053b32ed5f0613ad368e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3556 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 diff --git a/doc/qtdesignstudio/images/qmldesigner-tutorial-connections.png b/doc/qtdesignstudio/images/qmldesigner-tutorial-connections.png deleted file mode 100644 index 7a2eab8736209a27be2c612d6e144fe595658b9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3875 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 O7(8A5T-G@yGywq5p+F}9 diff --git a/doc/qtdesignstudio/images/qmldesigner-tutorial-easing-curves.png b/doc/qtdesignstudio/images/qmldesigner-tutorial-easing-curves.png deleted file mode 100644 index 96cf5687c59f3f01b6e389f36110f94dd02e3c65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33180 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 diff --git a/doc/qtdesignstudio/images/qmldesigner-tutorial-page-component.png b/doc/qtdesignstudio/images/qmldesigner-tutorial-page-component.png deleted file mode 100644 index e73e8370857c083f40505ea158b03f0c93dfcceb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7941 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 G2~7aHjz+Ek diff --git a/doc/qtdesignstudio/images/qmldesigner-tutorial-states.png b/doc/qtdesignstudio/images/qmldesigner-tutorial-states.png deleted file mode 100644 index 7c4d44f0ec70d816885ababa6b33d1aa2bc07b0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23623 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 diff --git a/doc/qtdesignstudio/images/qmldesigner-tutorial-topleftrect-layout.png b/doc/qtdesignstudio/images/qmldesigner-tutorial-topleftrect-layout.png deleted file mode 100644 index d05ac96a4dc7fdbf3be2ecd21706abe3db55fee8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11231 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 Mp00i_>zopr057;I*Z=?k diff --git a/doc/qtdesignstudio/images/qmldesigner-tutorial-transitions.png b/doc/qtdesignstudio/images/qmldesigner-tutorial-transitions.png deleted file mode 100644 index 548f7ab2d329e37d8fcc428c6a3448a900208a5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6900 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 diff --git a/doc/qtdesignstudio/images/qmldesigner-tutorial-ui-ready.png b/doc/qtdesignstudio/images/qmldesigner-tutorial-ui-ready.png deleted file mode 100644 index e87bfd6b8779eecab2d8284ef350eb74b8d94125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12686 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 Vk53-67#J8BJYD@<);T3K0RXVZqG|vD From b153aa54590a00765c33579cadd0b3bb324e2e70 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 27 Oct 2021 12:00:41 +0200 Subject: [PATCH 06/21] RemoteLinux: Use more FilePath in AbstractPackagingStep Change-Id: I66533efd39f58f9bcc4a57334d427aa225bc73d8 Reviewed-by: Christian Kandeler --- .../remotelinux/abstractpackagingstep.cpp | 26 +++++++++---------- .../remotelinux/abstractpackagingstep.h | 8 +++--- ...abstractuploadandinstallpackageservice.cpp | 4 +-- .../abstractuploadandinstallpackageservice.h | 2 +- .../remotelinux/tarpackagecreationstep.cpp | 11 ++++---- 5 files changed, 26 insertions(+), 25 deletions(-) diff --git a/src/plugins/remotelinux/abstractpackagingstep.cpp b/src/plugins/remotelinux/abstractpackagingstep.cpp index de41be4da51..2c31b8aa75f 100644 --- a/src/plugins/remotelinux/abstractpackagingstep.cpp +++ b/src/plugins/remotelinux/abstractpackagingstep.cpp @@ -32,9 +32,9 @@ #include #include -#include using namespace ProjectExplorer; +using namespace Utils; namespace RemoteLinux { namespace Internal { @@ -42,8 +42,8 @@ namespace Internal { class AbstractPackagingStepPrivate { public: - QString cachedPackageFilePath; - QString cachedPackageDirectory; + FilePath cachedPackageFilePath; + FilePath cachedPackageDirectory; bool deploymentDataModified = false; }; @@ -67,37 +67,37 @@ AbstractPackagingStep::~AbstractPackagingStep() delete d; } -QString AbstractPackagingStep::cachedPackageFilePath() const +FilePath AbstractPackagingStep::cachedPackageFilePath() const { return d->cachedPackageFilePath; } -QString AbstractPackagingStep::packageFilePath() const +FilePath AbstractPackagingStep::packageFilePath() const { if (packageDirectory().isEmpty()) - return QString(); - return packageDirectory() + QLatin1Char('/') + packageFileName(); + return {}; + return packageDirectory().pathAppended(packageFileName()); } -QString AbstractPackagingStep::cachedPackageDirectory() const +FilePath AbstractPackagingStep::cachedPackageDirectory() const { return d->cachedPackageDirectory; } -QString AbstractPackagingStep::packageDirectory() const +FilePath AbstractPackagingStep::packageDirectory() const { - return buildDirectory().toString(); + return buildDirectory(); } bool AbstractPackagingStep::isPackagingNeeded() const { - QFileInfo packageInfo(packageFilePath()); - if (!packageInfo.exists() || d->deploymentDataModified) + const FilePath packagePath = packageFilePath(); + if (!packagePath.exists() || d->deploymentDataModified) return true; const DeploymentData &dd = target()->deploymentData(); for (int i = 0; i < dd.fileCount(); ++i) { - if (dd.fileAt(i).localFilePath().isNewerThan(packageInfo.lastModified())) + if (dd.fileAt(i).localFilePath().isNewerThan(packagePath.lastModified())) return true; } diff --git a/src/plugins/remotelinux/abstractpackagingstep.h b/src/plugins/remotelinux/abstractpackagingstep.h index f7b2bef28de..681ba70ac00 100644 --- a/src/plugins/remotelinux/abstractpackagingstep.h +++ b/src/plugins/remotelinux/abstractpackagingstep.h @@ -41,8 +41,8 @@ public: explicit AbstractPackagingStep(ProjectExplorer::BuildStepList *bsl, Utils::Id id); ~AbstractPackagingStep() override; - QString packageFilePath() const; - QString cachedPackageFilePath() const; + Utils::FilePath packageFilePath() const; + Utils::FilePath cachedPackageFilePath() const; bool init() override; signals: @@ -54,8 +54,8 @@ protected: void raiseError(const QString &errorMessage); void raiseWarning(const QString &warningMessage); - QString cachedPackageDirectory() const; - QString packageDirectory() const; + Utils::FilePath cachedPackageDirectory() const; + Utils::FilePath packageDirectory() const; virtual bool isPackagingNeeded() const; diff --git a/src/plugins/remotelinux/abstractuploadandinstallpackageservice.cpp b/src/plugins/remotelinux/abstractuploadandinstallpackageservice.cpp index af3a23df947..d02dc82e54a 100644 --- a/src/plugins/remotelinux/abstractuploadandinstallpackageservice.cpp +++ b/src/plugins/remotelinux/abstractuploadandinstallpackageservice.cpp @@ -71,9 +71,9 @@ AbstractUploadAndInstallPackageService::~AbstractUploadAndInstallPackageService( delete d; } -void AbstractUploadAndInstallPackageService::setPackageFilePath(const QString &filePath) +void AbstractUploadAndInstallPackageService::setPackageFilePath(const FilePath &filePath) { - d->packageFilePath = FilePath::fromString(filePath); + d->packageFilePath = filePath; } QString AbstractUploadAndInstallPackageService::uploadDir() const diff --git a/src/plugins/remotelinux/abstractuploadandinstallpackageservice.h b/src/plugins/remotelinux/abstractuploadandinstallpackageservice.h index 2ca0a3dc626..1fedd8686af 100644 --- a/src/plugins/remotelinux/abstractuploadandinstallpackageservice.h +++ b/src/plugins/remotelinux/abstractuploadandinstallpackageservice.h @@ -38,7 +38,7 @@ class REMOTELINUX_EXPORT AbstractUploadAndInstallPackageService : public Abstrac Q_OBJECT public: - void setPackageFilePath(const QString &filePath); + void setPackageFilePath(const Utils::FilePath &filePath); protected: AbstractUploadAndInstallPackageService(); diff --git a/src/plugins/remotelinux/tarpackagecreationstep.cpp b/src/plugins/remotelinux/tarpackagecreationstep.cpp index ef3647d6c58..ed89fb6564f 100644 --- a/src/plugins/remotelinux/tarpackagecreationstep.cpp +++ b/src/plugins/remotelinux/tarpackagecreationstep.cpp @@ -87,11 +87,11 @@ TarPackageCreationStep::TarPackageCreationStep(BuildStepList *bsl, Utils::Id id) m_incrementalDeploymentAspect->setSettingsKey(IncrementalDeploymentKey); setSummaryUpdater([this] { - QString path = packageFilePath(); + FilePath path = packageFilePath(); if (path.isEmpty()) return QString("" + tr("Tarball creation not possible.") + ""); - return QString("" + tr("Create tarball:") + " " + path); + return QString("" + tr("Create tarball:") + " " + path.toUserOutput()); }); } @@ -148,11 +148,12 @@ bool TarPackageCreationStep::doPackage() } // TODO: Optimization: Only package changed files - QFile tarFile(cachedPackageFilePath()); + const FilePath tarFilePath = cachedPackageFilePath(); + QFile tarFile(tarFilePath.toString()); if (!tarFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { raiseError(tr("Error: tar file %1 cannot be opened (%2).") - .arg(QDir::toNativeSeparators(cachedPackageFilePath()), tarFile.errorString())); + .arg(tarFilePath.toUserOutput(), tarFile.errorString())); return false; } @@ -311,7 +312,7 @@ bool TarPackageCreationStep::writeHeader(QFile &tarFile, const QFileInfo &fileIn header.chksum[sizeof header.chksum-1] = 0; if (!tarFile.write(reinterpret_cast(&header), sizeof header)) { raiseError(tr("Error writing tar file \"%1\": %2") - .arg(QDir::toNativeSeparators(cachedPackageFilePath()), tarFile.errorString())); + .arg(cachedPackageFilePath().toUserOutput(), tarFile.errorString())); return false; } return true; From 44c8116597d884873438c77a2ebaeb12413c5bb4 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 27 Oct 2021 11:50:39 +0200 Subject: [PATCH 07/21] Qmake: Fix stripping of std c++ flags Change-Id: Ie2f0dbd63e7ecd53b7d034ab2930e5d05f0e01ea Reviewed-by: Christian Kandeler --- src/shared/clang/clang_installation.pri | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/shared/clang/clang_installation.pri b/src/shared/clang/clang_installation.pri index 2811f0b2c14..b8055c7b51c 100644 --- a/src/shared/clang/clang_installation.pri +++ b/src/shared/clang/clang_installation.pri @@ -252,8 +252,7 @@ isEmpty(LLVM_VERSION) { # It is not intended for cross compiler linking. LLVM_CXXFLAGS *= $$system($$llvm_config --cxxflags, lines) LLVM_CXXFLAGS ~= s,-fno-exceptions, - LLVM_CXXFLAGS ~= s,-std=c++11, - LLVM_CXXFLAGS ~= s,-std=c++0x, + LLVM_CXXFLAGS ~= s,-std.c\+\+.., LLVM_CXXFLAGS ~= s,-O\S*, LLVM_CXXFLAGS ~= s,/O\S*, LLVM_CXXFLAGS ~= s,/W4, From 0814af1503c6192dbfceb5ecb58cd1ab1e3de61e Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 27 Oct 2021 15:20:21 +0200 Subject: [PATCH 08/21] CPlusPlus: Fix build Amends 05e698a478. Change-Id: Ie33c233b89cad40f7e6a29a26582990ba9029f44 Reviewed-by: Christian Stenger --- src/libs/3rdparty/cplusplus/Control.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libs/3rdparty/cplusplus/Control.cpp b/src/libs/3rdparty/cplusplus/Control.cpp index 4d33becf38d..7a40cbba311 100644 --- a/src/libs/3rdparty/cplusplus/Control.cpp +++ b/src/libs/3rdparty/cplusplus/Control.cpp @@ -25,6 +25,9 @@ #include "CoreTypes.h" #include "Symbols.h" #include "Names.h" + +#include + #include #include #include From 1a84cdab84615f9e1c5da39819bc2b15cee3dcd5 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 25 Oct 2021 17:58:58 +0200 Subject: [PATCH 09/21] Doc: Hide ADS (workspaces) information from Qt Creator Manual ADS is used only in Qt Design Studio, even though the Debug mode also has "workspaces". Move the topic source file and image files to doc\qtdesignstudio\. Task-number: QTCREATORBUG-26321 Change-Id: I72b0011a6c8258df8a5e938f3f33d44c39ccfa4c Reviewed-by: Alessandro Portale Reviewed-by: Johanna Vanhatapio --- doc/qtcreator/src/qtcreator-toc.qdoc | 1 - .../user-interface/creator-open-documents-view.qdoc | 2 +- doc/qtcreator/src/user-interface/creator-ui.qdoc | 3 +-- doc/qtcreator/src/user-interface/creator-views.qdoc | 7 ++++++- .../images/qtcreator-workspace-attaching-views.png | Bin .../images/qtcreator-workspace-manager.png | Bin .../images/qtcreator-workspace-new.png | Bin .../src/views/studio-workspaces.qdoc} | 6 +----- 8 files changed, 9 insertions(+), 10 deletions(-) rename doc/{qtcreator => qtdesignstudio}/images/qtcreator-workspace-attaching-views.png (100%) rename doc/{qtcreator => qtdesignstudio}/images/qtcreator-workspace-manager.png (100%) rename doc/{qtcreator => qtdesignstudio}/images/qtcreator-workspace-new.png (100%) rename doc/{qtcreator/src/user-interface/creator-workspaces.qdoc => qtdesignstudio/src/views/studio-workspaces.qdoc} (95%) diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index c1ce9e2f2f5..f1e06156fd0 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -43,7 +43,6 @@ \li \l{File System} \li \l{Open Documents} \endlist - \li \l{Managing Workspaces} \li \l{Viewing Output} \endlist \li \l{Configuring Qt Creator} diff --git a/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc b/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc index c64809d8f2b..261c3406136 100644 --- a/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc +++ b/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc @@ -26,7 +26,7 @@ /*! \page creator-open-documents-view.html \previouspage creator-file-system-view.html - \nextpage creator-project-managing-workspaces.html + \nextpage creator-output-panes.html \title Open Documents diff --git a/doc/qtcreator/src/user-interface/creator-ui.qdoc b/doc/qtcreator/src/user-interface/creator-ui.qdoc index 7711dbd01f6..e2f31b0c787 100644 --- a/doc/qtcreator/src/user-interface/creator-ui.qdoc +++ b/doc/qtcreator/src/user-interface/creator-ui.qdoc @@ -93,7 +93,6 @@ \li \l{Selecting Modes}{Mode selector} \li \l{Working with Sidebars}{Sidebars} \li \l{Browsing Project Contents}{Views} - \li \l{Managing Workspaces}{Workspaces} \li \l{Viewing Output}{Output panes} \endlist @@ -350,7 +349,7 @@ \previouspage creator-views.html \nextpage creator-highlighting.html \else - \previouspage creator-project-managing-workspaces.html + \previouspage creator-open-documents-view.html \nextpage creator-configuring.html \endif diff --git a/doc/qtcreator/src/user-interface/creator-views.qdoc b/doc/qtcreator/src/user-interface/creator-views.qdoc index 65e44a03a91..65d41d0bbf1 100644 --- a/doc/qtcreator/src/user-interface/creator-views.qdoc +++ b/doc/qtcreator/src/user-interface/creator-views.qdoc @@ -35,7 +35,12 @@ \title Browsing Project Contents You can organize \QC views in \l {Working with Sidebars}{sidebars} or as - \l {Managing Workspaces}{workspaces}, depending on the \l{Selecting Modes} + \if defined(qtdesignstudio) + \l {Managing Workspaces}{workspaces}, + \else + workspaces + \endif + depending on the \l{Selecting Modes} {mode} you are working in. Only views that are relevant to a mode are available in it. diff --git a/doc/qtcreator/images/qtcreator-workspace-attaching-views.png b/doc/qtdesignstudio/images/qtcreator-workspace-attaching-views.png similarity index 100% rename from doc/qtcreator/images/qtcreator-workspace-attaching-views.png rename to doc/qtdesignstudio/images/qtcreator-workspace-attaching-views.png diff --git a/doc/qtcreator/images/qtcreator-workspace-manager.png b/doc/qtdesignstudio/images/qtcreator-workspace-manager.png similarity index 100% rename from doc/qtcreator/images/qtcreator-workspace-manager.png rename to doc/qtdesignstudio/images/qtcreator-workspace-manager.png diff --git a/doc/qtcreator/images/qtcreator-workspace-new.png b/doc/qtdesignstudio/images/qtcreator-workspace-new.png similarity index 100% rename from doc/qtcreator/images/qtcreator-workspace-new.png rename to doc/qtdesignstudio/images/qtcreator-workspace-new.png diff --git a/doc/qtcreator/src/user-interface/creator-workspaces.qdoc b/doc/qtdesignstudio/src/views/studio-workspaces.qdoc similarity index 95% rename from doc/qtcreator/src/user-interface/creator-workspaces.qdoc rename to doc/qtdesignstudio/src/views/studio-workspaces.qdoc index 85a4fb78549..444aca6b81d 100644 --- a/doc/qtcreator/src/user-interface/creator-workspaces.qdoc +++ b/doc/qtdesignstudio/src/views/studio-workspaces.qdoc @@ -26,15 +26,11 @@ /*! \page creator-project-managing-workspaces.html \previouspage creator-open-documents-view.html - \if defined(qtdesignstudio) \nextpage creator-project-managing-sessions.html - \else - \nextpage creator-output-panes.html - \endif \title Managing Workspaces - In the Design and Debug modes, you can arrange a set of \QC + In the \uicontrol Design mode, you can arrange a set of \QC views as a \e workspace on the screen. To detach views: From 60b9a4aa3906c9fc222203c7913cbb6aa4cce951 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 27 Oct 2021 11:19:26 +0200 Subject: [PATCH 10/21] Doc: Move a file back from doc\qtdesignstudio\images ...to doc\qtcreator\images. The image was accidentally moved. Change-Id: I8929b70225e524bbe50b1f1359cf4f9c1956057f Reviewed-by: Johanna Vanhatapio --- .../images/qmldesigner-new-project.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/{qtdesignstudio => qtcreator}/images/qmldesigner-new-project.png (100%) diff --git a/doc/qtdesignstudio/images/qmldesigner-new-project.png b/doc/qtcreator/images/qmldesigner-new-project.png similarity index 100% rename from doc/qtdesignstudio/images/qmldesigner-new-project.png rename to doc/qtcreator/images/qmldesigner-new-project.png From 2654f74c3bde182ed975af52e4e7cf19a4216959 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 27 Oct 2021 11:03:56 +0200 Subject: [PATCH 11/21] Doc: Remove obsolete image files Task-number: QTCREATORBUG-26483 Change-Id: I48ead2908f8f3b6555f2d91a2906c5bf65976d95 Reviewed-by: Leena Miettinen --- ...quick-mobile-app-tutorial-binding-editor.png | Bin 3855 -> 0 bytes ...uick-mobile-app-tutorial-binding-editor1.png | Bin 3802 -> 0 bytes ...ick-mobile-app-tutorial-bubble-component.png | Bin 7248 -> 0 bytes ...ck-mobile-app-tutorial-custom-properties.png | Bin 3009 -> 0 bytes .../qtquick-mobile-app-tutorial-image.png | Bin 46791 -> 0 bytes .../qtquick-mobile-app-tutorial-main-view.png | Bin 49195 -> 0 bytes 6 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-binding-editor.png delete mode 100644 doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-binding-editor1.png delete mode 100644 doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-bubble-component.png delete mode 100644 doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-custom-properties.png delete mode 100644 doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-image.png delete mode 100644 doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-main-view.png diff --git a/doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-binding-editor.png b/doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-binding-editor.png deleted file mode 100644 index 2f759e125fac5f17943c1fc3360dc444104c7fe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3855 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 diff --git a/doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-binding-editor1.png b/doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-binding-editor1.png deleted file mode 100644 index 2b0b4082ef3cfbc2f25a044cf1fd2757c815eade..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3802 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 HB{Ts5slL0H diff --git a/doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-bubble-component.png b/doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-bubble-component.png deleted file mode 100644 index 877cc8cdabb8f664ce39bf30b8d78191eabbc81a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7248 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 FO#s9`>BnSp_U%g^vJ0|Vpo0G|+7mPsdBCY@oK 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 diff --git a/doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-image.png b/doc/qtdesignstudio/images/qtquick-mobile-app-tutorial-image.png deleted file mode 100644 index 3901fb4b0f8ac8c837e3008d9145d3315f48d0b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46791 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 T{Le-P1_lOCS3j3^P6JKDgwd4>QFhnm6u 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

l z?vuqIMcq@OPgndDm5be6d~VH;NBQC9bA8s=?`{@*V6_O{eA7Y@50*abumhJ9OeSZAxg`<_W8?MgL?^U^O^YK{R&zR3&`|ZkAum9>|T|S}f5|!Qa)<64{ zTej?3)xJX3uli=Uz28MRBxN4H{B`rxcRd_xopK@e5vqH{XFuFwxOCgn7yss2^7SQ# z7aRGVH4@3YU-A;EBnTV6mNg}ebqj>@6R|V{Cl%` z)e1}fpSxcjz05yTeOch^n`pL6wAR4JUeY#v$By!_cNM=sQqlJc;JTfif3H6-uRq7>EM}~dTF`!;ja#E-oNfWa6VP$#-h3U&z9@1cUE28 za^m+)R##KqwW90&bvB5{f7np#_jI}%TR}k`*!%sfEf3cPcP*KfKR+cQBggPyb!tqM z@8#)}jeox?j}*Up=iKW6x8#?PlcUXCRrhJ;W`$0>ptSOtN%PK5Rr|Ur!J5xPyw3%` zTzg;o-n$3CUE8z#9{)J@bX(~1Sc?tMZ=CI!wXN)4?gE|ZC$4|pn)!U&nux8>-T1a^ zXkMAKT=(4Wd)xnL*qoN0b8$+=pZQixj7rYIX+xHH&*KUocB*19UWKY zwe*;T1Wl}}`rpXR{>}aVsZ5XVl11EGZqGTkA+mPA*8ew;O1-Y$nd5fX>Eq&$wO2&c zf>%820)>txBd6-s?_nPIE;{8MJg4l~ROwaj)^hjQm9FKlUG~48*?xE38T;4y4#(1F zNfoZ&V)}oJy?aUShTqOd*QzeFum`oxFHFBW$1wH%?^(yDeVfLX=lN-oB)jqLTT!zr zu1v4>x%VpfQhBlQQ`Qp&zouPYzWv-1lUYyqslCg2qBC!ne^l9@JB_SnCfg1lT3jBt z&v$24LFkWn#>>qsXP>`Q^-d<#Gs$(#X0Nc-|#mza&gEw0PFPo)xn{p3Zq`vT&Am&g6TYvx3dT%qPf5 z6yBKQs24h$`_Z3eT6ZM{!?NYV_jL*UyRh8;cZ}f0{JQ690DsFf!B~pPBhUu+aMR>(7^0+xRRoUhZof zHorP}N_qY6hdHmT}k!>fp7h0N%n|m1Zd#W+M)Ap8G!8m2cGP~;dYo`0|TF!jCEGPZQ zi=T6Kf0ZS!YkY9I=Z~agac0m4$;|e=&5!azubw@6Xs=;>*>bJN4bpjQ!Oge(VV@gy z92mabG@hJjQki*X^PN?%9{Hbtf8WDv*Uty8Zl0x~ab9muX&#gPk<9=1sle3ApvvNn zGgmY`tu)#F@~)m^mHGajw}lFOe_C%$-1eqFyC|#9VzplB?V{G)cXN&ito)hRILrHQ zlz5iUlZ9sx^iFNA5(|yufJzF7;Uh04mx|(TKR8sb6`MFB$l|{YxBz4me3AdKrw@9ILGA+=kAv0y|}cL`}xmZx1~2) z#V%~WGG}FWLc#*|%$+6E_BAe?H*X!Id%r4IuJOtD86l=G<*zS!{UQ9C@rCP`gYT$$ zZ*c8njEvmjvdPi$6!+~T=Z>B&T{M-^dC%moGB>H%_b+<7ruYgUnQp9;Ty5_Ey>r^H zM@rj%|NC;w+*(aBjStodbU0hxBNz0!vE}2PmZn$Yw_~T?n|tu1-JgxminsLJ^@&0{ zb|5#m&-$+Ab~)^A->scDLLb^QzVPL|y*0hM!}y;XXx^6r)OQ8%QH5)P*a4Y+1j$0C zm}?AHS~AoM!+T2wD=itC1&(I*bt^K|-CSx0?!>b*lq`A1&=AiCmz^+%TU(B?&xFxl@@E54N4W1WGU|4N= z+4hxdU7nwx-?!;KU$*m~U-#8OM9*l3=;wt7zwa&Ubm~mA*6FI97atmaey!%|%F4>+ z>sb%iUf=virt8jmPQ_y;v(`C(nD{$>-_keS$%Y?fbcz` z+W$M&w^p`ZUBBJx)15m7el?ES7v*n1uiCN0FMh}GU+wL)Wiw=?!~ff^{JOKSc&^Nu zuWt{(4>b|JcYE`J%Que}-)k$*JnDZf$~*U5+S9+M4jtKf?2qN^3zN&^pI`rNf=`yu5C6Pi!2<1~mX?+k3!bf4dQ)kfGk?aOwky3h%FoVp z>HjM$y?*k`ukF?=c358iToC4bi%&gJj_dY?fa%LGy`FdN`MepY7D=+k{kk?~+v!%- ztU0MqpXF$6G@SN)qQ2?*Yu!DwjT4{!Ik0r&{8y^FF^P&d1E=48e=@a6SXNySo{)a+ zn05MgA!3+jU|0@@Fc`>b3Tp7&bI-Mnw2u$FrOZZ9;N7 z%XV+aGdpaxUyye5i>IetWRkzTr& zx6XcLfA?gBp5gTqna9>ho=ZD3@0PyR+ReR3Pa(CT&b>_u5TO+qEl?gtl*7Ekv)xG+;`|P={nJc^h-Aun)b6cfv;l`Q0 z$7f}`>aso;)3KNyUu7C1F)yuB=G22_uC2%K^vAzUJhm*4)AXzLx0Qzfx2(6zJWvH89oB-ah<`uFyhFTVd?x}d^fg=O-kb6dK8r|UmYIr_^x_12}C zIcAgf);=qlHqUN$;=UhkduCmpyKV2v3XytE?cZl)m|yySxHhRX`|`|PRXH!kBywtN z3nzZPrT%pNHcLa5X+>XL%v9q}T`@PjnBJBB@}$}7g6M$H@k^iO=IZ+T`kp;|)_3ZB zz1H0`Cg)5$HM{$)OKHSB_sz5I=JeLa-MMk^-lYR;^Ru$oR#hgn338^quZ_Qa!%1|S z%4Cz`*y*L$_g~w--K^-fbo6a0@3>=Urtf)qSwmyxnkR>1E}nRKZT0(UAG5ZZTr2)8 z%*5;3%4^ih(!C*i=}qB3fu0U8FehUc-PH2kMp%>OG!(e3eI18YNciIseAoT z`wz{n@fQ!dC-g-2#d*v5zwInPmbxYf7i)j_c3L4i_t;F~`Cs3?Y87Al)%UFKoi*It zYc+41eY*L1#fp6!_wAcFyS{w(a>m2DuWFrt_rK5m`u_V4qglbI( zsJrpX>Hi_eo(u0gva)CS``Vb0>jCliL+00;A8L+C)3_&g<kFSfQSomWby@8m7&-n@8e;|He+XCJQ5J#kSqZi*qVj=F`lb(G|(<-RYg z+|xsr)|~HuUvAAW^Km*O0}eB%v!Z;SZ}vVpaMe3{`9~o^ zp1NS?kP|&DJ*sWyZdr9G^XJ&DNz{XPwqhpZtnsl-gItQ+r+4f7LBxey^35TdSVVO%*fwc4hI+t>?{de7?fwVdVl@%sA!Y_&sQ^bJbs1!O?fTCY<2mH z^{dp}hdU$Ly0)>J{-2uluiJ3m?0|s3NxQSJ8?Caq*KU8UrtjOus{XNnHBx_&y#0oqs`WS znCq&vRCML>FxK`Qzds?-Rmq*ASN<$FoKwAU%bQzX{^tDU=O;u=`m+1-Ovk;lOBbz) zUCeqiaCLcLnwdk2o z(dLY&n|b%FR{YhXtN%*%>Yb#YduJ_bv0NnmAt%g!jowa+`w_0D*NZ!UMf^@W%@Sv3 zc-Zn&?$_D5ekJp2@(UNd{C!+JJb0y%NZIT8SD($Fr5Ny8H_7z5k6OLX%v~qrE*x7| zes#T)j3v0$25u?Eu(di1&1O>%6`B9}`sASEQ@_8QnVYV6v+`+i?cvY5pEXV6{Z{Tg zc_=&8_2Z!y*4=0Ir8f2LFs}Zs%AaAn+&ZW3++VLnPaY|CrmkI`Fka$j*t z{+G31_H5F+m%AWMF}&;b{(H9D%zu@+CAv;^S-10U+mu~Y;(UkWre zO~0(;G}(Jr_q@551t0EwzVxh#`}4`SE7TUATsl>czxc|Xl!M#W+C2+Nne%eT-_WQpuTEh@S%cD}2LjIWp`_3Hc$Q-hqBG3iFBCYA;{8~b@Lx)!f*^=`J+t$Nh9pKj%Z;~)jK8m`@yNsH%)ipj>NotNcPZK&n5Y}|>YZ8s z-!=#JfB$@+ZQp2@z|^jHci$D0E1*RHS7aCrIRYkz%yZsxk5KR%>t z#-A1bEIms)OH2FptR3;^SY{c@nA@z&$y}GeqDms~xk%mS4I5`h2M6DenJ#BM+x*=8 zo13h+rcPfW&714_!fg5}r)Adf|6TZy`95WZr9=w63$*IL^olzZj`-AaFFz@)`{hLZ zB?*q>5^0h*Cv5C}>s!kDSmJVN@7lMyXTMZBVqy&(obXt zwT~RmKD2`N3mF)$?Aac}-cZK^(`1)$Ri?p_1I7hS>49b!;nRtTULV3%(2)z!E;L*n zsD1#izhgvJ_eIupzJ2|_o9~*wuiXCf(!t}_tWZVFj%N=aIwV%!I@h|~=?7>Ii~($< z>HA94>({TpKNeMcEot`_rOLOp*OI^qAGA)?;KS8F>7ODxPJb&j{V%xybN~ccS6%b0 za{YeREI!lsE3d0=zHPKWp~Qe2W|i;R-P4a>`hGQLzxITFzZE~%*T*g@_W!hZ!R42- z=exo{T~lzdFM4*DPyKtUskmg>@$1r0+L0>*gaDQ;j=|&iaehpZ>|-vd8$Bp0}Dit+ICKM+3*zS%4Bhx8u`eU+^qe z#BS1Yr$Koz$l!2xx6t3T zvwLIi#QaJqKj7lc9eusQ_xXJ>o9OICX`(+@{(E|mwfH&r$E{bTjPBU{DGWW^zT@a* z-JYJef6HyPvQOJTUhJy1e0plSxDChU$44)<-+oguJvt!bd&SOqO=UKB{yt-!)VcHE z#eC`e^6?(JTyvhAAJqL6eE9QB&qPdty^r@2=3; z`(iooWafa+d0g{1IeI@~e*QP)?9|pXs_~|5{-Al31Ns4obp0f8vUhc`6nXj&>skx_{?y=tR>BjR{%UAba zT~Nr7^>6bbb$O%d{Byp$o4&V5(W`n3YK~lyVfc`JCFat(&<{n2D(<&jy2Sl&))kY( zr6+&!+JsfT-D|-tul^BHw0go;G4WIhVan}J9DgMS5!W`+w%G3`qMiycdPYH-NCTo-bx*9 zHii|I*IWD}PsFGd=mixUeRz~4_xEVhZk8*5!uRRTe64gfec>~PhPt)SVw?6pVch=d zmd&gc4Vzy@p54vSIP3I{4eu_we_i@~dB3>z=9|l|pWW#mE6b8)m(o-066B+>Q!*s# zZ0LDYbs_tZ+tzBkSH1{h@SYK7cZMsAZ^1KL#Twa`GpS6^O*&hq+5LFPVfx-Z>z+QS zj{4Oxi~r&rvFW#?%F5R^KP!lvw*BBMk&Uy~Z@zL#%qZ{51w||P2?LXMWkm^Zw_BZC zvGZcml&Jw{kM4XGl%;puFMWGs-wfz?Yu$a(6YlC)WJ(^t z7Hj8VaQGeicvimwm(}Nu%hqn)xNX_A+ZT@L)|Faam~hH8KRZ7+^V#J~an<>TvqR*P zrR$8>?_1g#9ew@6rJ$d`CYVd!i1D2`>;1o&-xWLe&6-r^lC>}LA%|{?&+*EWOV|E< z{`Uo_j{nb_wJ)OM#r}K-a2x1A`qA~j%r7J+XRtk+Cg#?&v8h@gv@yrSFs;R4f65CF zU)$nr@8o5>3igO>4NN}XC#Pt-=HZ2hi?6N>waRE;v(&C^O2!${py1jw9)&@_HV7tP zIsWPS%2|`T85(AN-!$v-XYs7Q_0cOV86JFJX~~e#unN4V1zZWkm+&C1Is&%_K%>t! zVGInvltG(k4_$xzdt*EMbLQv#2hyRtj27_M-sOwZZ=c0n69#Wx!5X`k3_o^-u6rgg zaold#G41M_3)YN~RWc2;Rv(#k`(}I0?~{qewo_`WPdZrfPm%k>cTaR?^M(2M_A{=2 zc4WWtygk2Veuw^5ZuqzEnaja{AxW_*f&D*cOt}?!d&v(|rae!- z&36j9y&x+~FJoK2)aoPIYSt(0e=PC&mijf&bo#yD^Y>qPb?f&1ErF>{{d$i>DyjoCFHDza5vErExqp+s-{mVxWdd=(i z6uGxgx38?bY2qg1Llc&7;B5Wqe^KqE+9uZCd($|az0H+wcby3eed=SOxVwFi?SuV6 zCx5I8F?|>~;aX^7HCKG|6~Rf}_fF~jWzEu?kbAMs^z))R3JuY8)M zA0%cfeoeqsD|Vu}`sJ=KY9T_ll8>ixE%JWT_+_1Uu4~|tSf{VnRlJv`+b@bd%D(LR zlQ6x7t~(MruPzajnZ&E@-MQz(4i5j;xVzb{)$*EO>sr0u?LYHRIPAE})tD#?S8h?4P}Q|v%R`-32d;Z&v`=5iIdbz9ldpP9mAq&Doxi=j zLw5Flhksqp6`_hdMO~*e3I!Isu6KOJadL}Z<&$b#kf}i>PDb?`lnUT+mG`B2|%YMIVXQ5A;TbkRe-(Q|yKlwwq zDC*CX&wG6iJ>OaQvWc@XJ)P?T>!F`aXRH1CMRgur|0AK@F{Qqz_EX`z$vwJ-A*cUv zKF$8<^v3B&mY&|jo%=j)t}NR3ce1TW44cDQ@Y2i!3ZccE<`es+%N9N3T7BtB^S!z5 zXGJsDt|)5{{H)h4m+xhlrFZUGpor=8tq!4AV}5aH_Rjjg@6M@JJCD4c^e58g*Nk!@ z)AzAUzSVW+T#4E9|B<-z*E~%-$0y<8hFSk^@6WRiEk1Q_{$BNs#hTXQOBbA}ouoNy zLTBRSNjJQcPKxc^xi>?4k|a+&+^vdxhTRZ8>pD2XZ@~IgF$<$xSn8osEt#1(Aue;&$Q2& zhFfOo$^M;k+Eo0wpXk$B+MTny-7^A(Ov7)@DOvY(eeW#oGp7Il-`vf=ec2}0#K+I= z?(eN{C_ZodbY8LEw>Zxg3zd~30&*e(SzI;7&# z^2}9j@(Y`VmaEnp{;S>oqIBw8z4w_<50w4;P*!;T*E=ECDcZ*$KW+XP72jmSp6NG> zd8@_QuYHa(1#^^JuCGfEcl~!#@pkS>d-v=*m0LNYfqHG1-oNeJ`FfxE#-nZTm+yQg zZDo2nGJTeI`*!!3lk%VUO}b-QU$MI;Q%_!Be&L-di@tu|&yvY^X^siIN3rdSn_SkX zN=w_~OXXsv*(N-5wLiim_R~geyY2UD@j~iCw{xz16g#shbDsREPcK#Pdlvuvu&si5 zh1S!fI-iTThZ>*j-aBnY<<(!S-oBo3K`H)c-M?inAG8@IN; z+I8Z;=a{hbSe?Bp|7`YAm(RP`nt!_P@b##FUhw}f|M&fU>0d8W^XK{Y`FECm&^>&f z>(ZW2MiZ-#uU+-6+I<#t)t~cg8%xbH*Qv3caP1J^yFV%MZr|OX>kN68*4j;emZAiT zh!rn0|FyGSx|7iHQafqJo)?d`#k#tGtTUWpqW|T`B#@$WcIsytFU{$n_50xC=+$!Z zm*)7WoW1#ciKWA=&yFC}?DHgS;xh&8Cd7*_+}^G8f*P=qC#B zu}#Rc*|+u8N7b_@T`tY3^_#_9HRsu^M!y#fzocJ;e%{QKqO`rsgxz5lv%=ZV@OQGm z_pmMbIgcx7aaqaDyg1(d!3t*?Cp=rSbKkv^VD|n7OYY|7{KcCmO?Xzd@4U9{+3EW6 zb{l1!oSZy9zuGlB>Hp`+vrO0*ywA*gv{C8Z%g0-`Y;j*%zFs!k`rg@3?)6r^wx8ad z-8oaX=WLZ<%s!(NyZ2r@bjpAJJnnOM_V3Q0v-s7XoD;iVYfi6wneL}1R@HF#S!~tp zzi+-h&0Z-vf4;0tYW%nA=O+IWE-f~8%nQ0&xw87h&MUKL*XG`MK6Tsq)plo3&n#c; z*1KwEW}K;G{ND27kB^S-+qZAovSn9{Gx;3qFUQ=f&V9A~cA~JG{|ux0%TuS{-?Z-B zTb-X1*JoVL4+;oakY1g9d7rd=t%dbf$LvJW4H7#HpMKt4TldMp=2m%FlbAR_D7<)|D4c`t-4MUfH+5vy&go+;~29 z=lRu|XH|tx-q@JDJ^%i`;^*gP8mG^i{r^RFT(jrruDed5|B4P=x^yXG{?1*yKytUY z<=Wdddacn}r?k#v7PG+=ll?n4Y<|@9^@MVMQS$R$9h0~HZT=SP>*c$*IPEcuIrr05 zea_S6I(>b*_LpU)Z`eNj`z2*T?e@|yT%CI+|5N;W=;Pz#{kb#E{5D>=7V%tc&7Ntp zcDu6D9vmy?TzS%P_wq7h?fd*5+4p1jKU>zuyXnC*8L6 zTxctjnPHg|UzPU7Wp~jX>&2z@eEs>d@+lk6Ygf(>_nyTsZRTTK zn|5Y~tgBX+-u3vp|HUu_W|gM$)m34MqOJWwUCu9`|ooKV}{F z%|H3?85iU8y8WAzMfS4`1~2&Cy7cMYs5?97d_QORAmdm5{^zP|-(?@OTfe9_F8Fec zPu0qwnQ=u&UmbN!J5{#)OI}*{j446?7BhGDPI$)f#qR9>CwnSCzB##g$qZ)iHmlCU z3*Q=_-&@|w8?bl!ioajDZ~AYqoE2G}>vQJk_x<+u74s^x-fD=So^&bZyO_!4J0%yc zslQ*Weq(BJ!=~q(ZqM|;G_T$#=4If?xhv++)Ofp9$ujy(Y1kaY@3+3%JU_&<{L?+_ z%=e}INAjbrLVvAIpC2AQ>;H+CX?}C9I=hdgU)qy)Z{bM&=-J%K zU}qj(5hs53e$B03`+v_|cg%lfJ9XW`!kzr)6(^SKdFaU8-K*9rv-iK@_g{xNqcZJ$ zwa=F3FI;pv=GC?bQP(c-J$y%PZq0YYyuj^Vb7L1S|2!|3xo>ZE?TL6p-utO}KHnB^ z__yq-|L3hsDn;LaUgh^$zEb+dn#j#Zem&YeZ`sZtCo@)dA6&BY)5XHV!k-6EdQ^R! zv{G%)8l|(0m-cX7s+m}pRywCt^LOZzik}?2T-Q&KmY@IrRw+Y>|8x_%I|v`gnitRK+dZ%O@!?}}*{5xZO7(A# z$yChxZTa2V&8;l%T=QM!xu4ayNO|RyXevccr1fLz0^I zbv9meVeNnSX3jWWVxNBF`P91iSuV4>f9ghW&kLPC!D8*ak503$pIJB8rn2a)ytO(g zNEC##KkZGPA6`F8TYawhtZPd5Vj?u!uH>7moXsw}KIz#KONL8xDxTikc>b%!*`xOh z1i4NBPwGDLWo!0zu`b1pE;HXRsqB4qD|B_3?{x=I>%^n@(bVeWcGs_)h=1Hw`8jQ4 zKuuWtn)degb81#Kg zlPojigm-PrzP>JanU5kUq?TA_p4*!|U)pb0`O8bLpVu$zzMRzg={%39d(5f%GOLbR zZ%sVh=GraRx%~;Bl!?b20q>@!re9xPDo^$L`bh7CdOO2}X9~ie#g}5-XLZlu=H=BD zu}wO8-u{1#lW3=XLGpymb$^0gO#l0dN-1C8{dm^-na0ciWa^nYff@y##qVT)-&t_! z&h_itc|uj(t}XYS9d`NBo*Lqk{Mj?3cHK|$=xn1xodrhMckWp9 zY+;K>F~btehEriLGuMf~KdgMVenL^*#JaumAw1RHo|;Rm3N^yS!dEtZEV?8EY6^N? zj`^9ceA?$vtGzwld0WZZ!c%I>Q(1 zv%IBF-fw-1Cp=^DD0V&?Ep+pF+kdkF22gy*#9x|I4Qt4O1Z3bXq$QT{))lx_q#(RA z6s&>)xA>l-_cy>THfDvhj%r1#J&GO9`&xa?h}8%Az;9OZ`y0=H&3?A`nr+aZJC>#= z70P$m-QDZCoGWknqq6WTz1Qv(@K)%wobt?os1LX8tZe_6oW`O%!+hoZz1LXN{PynI z^SjI>c&=&b2aXw=4Jv*am}_%p#?`f!t#9qVzUAn`{Ve`cR}T8@^;`P(^C?+V@uMM~ zuED}h0hQmiOz&u|(2-x6m%YC9QHkr*ElImg7o5G?-?Hc8{^H_OUlJxhWB6iu_N!CHSgQQuodm86UC!!#gFds*;nzmca^Me+nbtcrHRWnS8yi3 z+Gu6@`r0DBNt^ClXTIOMa(ofl`W=i`}vb(V?#p6a=2F()c_UO(i-&bGP5$dA-W-bKEEY z$u2WjCq-$moH{-0ZrNAgx1o2O123%ZI^F$G$npB&n8^Mk@~u|Uzt3gt(b4!+6Qp-x zpZG2RV{xq38^TrZ2!oqGpVM1C_kZOtems5G%F74O+`4t=M$rdwTl8iWFRx`$%-bX1 zH0So{-d&z&D?b01!pp25=WExj`aD0f-E;Y;%^M!yS)CbvUe)fFc}!jRob=dV6LxLu z?_^A0wDteP>+AXZw@kljc_VVxDtVjE%Quw$<6ZpUN)~)syGnMq-p;v`MQ%B7?0UMP z_T|ir!f!o3Z@Rd#`t32f>gm<#q4q!J3g(K>p1Ebw@-0o@D@&JF{tH+VwnVJQM=QwC zer8B!+=t1l+xlj|_W0a%d(FpJi`tg#eDrLkc1ZH3iH~X?z6-f4zHvjiA%E+$y`g`F zmV9W~{Ofh-C+3xVj6X?7Jz`!s_t`Dm^>J%rAKuDbSG(V%n4!ur>t5ltrEkvj^ZUGi zoua8LAuY29+;-jS+TXAsA+hemq*~6K{@?muSlgRD{yFnP;XP;dHG3!hGs+4oo&bF0X~Ks_nGQ5cTdm_nmexEOI}4)py<1o42NCE!|nx zE$;bwlG|BriA=r;&!+y~eCSH)opndP$JhV=yM51he*HGq5;I+o;;UL>f3Mv+Tesut z>AVNW*v~5;w~joqX6;(pwmk3C9kUX`YyY2{^(C&@UOg{S{N@8$e&M>8Y4(b*o__tg zZrR`K%lGxodl7Ikeyv*SBAb7k@^s$kr>jkk_{!ON`lmwLw=WSBzdX8iZv(Hi*_!zM z*5A&)UTuB-ob;u8#it*?nXyxERs6&jNb9*K^PlSPtB>O^i`4!78tE4I)}y%d+}&*T zmlmeKelB+2eC*u)^51W--+6NO-nL_DqPx$pHaN@8ml));B&)|M%hy)lzFFCF z3tcPyx4aADl`++qxq9@>@i5z@U1{CfHX^Od_WW6B%ITK9sBB^T&Y;V8EdGZxAKjC` zFhL;xU)SUQB=@u2_LAIZP1CQ)G}tZOX=HQe&8{lHKTm%g_TRrW_v4leUd1;boLza- zGy8Y6gtedD*MF~<=WOkNuYYdcx$Rw1RqreQXjQE`f9bVnG~4Xc?ic5~`@Y!!;MneL z$GKX6y00!Vnf@(u@+4XF`=OQVJ}-){+@B})z|Jx!eqYD!eB*a6?>HsX?t7ovEnYlV zRC`wS+p2ksXHAHo$En-B+bjESi&*FEb$4&qIow!$=Je*dQ>~M)ObnlYlws$Vr0r|clkaU`|2}_>WKyuf^*xg-7C+st zU+Fd9UVZ(Gmo{nN_pZ^el;6C$__JN=(wwjB?wL&g7BO$echl6h?VD<4md`!?>u+qx zQGb*5jWaVIJ=y%_!c=R{>;7xxF5is#Z4~`pb$7Y`$8CZ0j9;U)@u$7MH}RQk+4?Jm zCl1w4f2X2;)OD@&^R&d6hoGS|k79f{-%r)3}AAB*7uq_mf{Ecz|q$4aitfGmNjn#QcTH^_|*ZzPGx(ty}_WwMI>Rrn-H>(xp%P zVfDCNT4iqCi}y|Re|3mNIYBxY48Nv7TPjug_n_kKS!M@fVopqY25yWpcobin18w1Y ze2$v%?C9Nzlk)f5$t_%(F{`*m4C-#MyTF6B5Z58}K(s^L3+kePRf1aC2oHFCzVv5} z0n>v2$aWR)_5J)_EbHR$Mf#cR{>@(2L2{uYkRooD)*~f zKK7Hvc2{10dWF5H|J^%@Te}us-M|}OS37;`+`s>>HqZF5AZ}8XY_r~~@DFcyet5OM z|H#WLzdbq4&*jW~ap};C4_q7j{r$JDn*HC^L~n1ssovX*%(?w?cRM`&Yz@zDo0s+X z*SE`y-ydD~EyME=$UB~(4g*iwl{+`=Kl%Q0oNxBZXujm^sWO*hpIxaw_;ilDH2aNH zYuIzEKRtceb!V&i8UTEx_FuhF=q(-Me?sz5B!G&)PdVZ}Ik@sVF}Ze)ZY4&FfO{#y*OP|MFo8 zw`KpelFWenr9c1nn?Jv`s(p|2){KiDf@fBV_Pi<=$eb5{uXoql|6dxHvG(8e%olq;l$G5|>lbrd%l_8GyPwZswfFvm7cTG7Zdn<44S$B0!_RY@jxv#R9ZNB+qb7bZBa<&~_v#(sfdF_-*{FU2V zS4aE5Z%vQeXJK{d%8EUidT!UM^J-?y-jMcd+3%U*>9?*eznAbMb6(bqih7K>Cr+F?{}? z`za|g-_Psk8^!Oh`ugi_`<*-6Ij#Su@}8Ri%*`!#@1gnszx`hRLv>y6k9I~-)&`A) z6|VbP&?^6b=H;vxjo0(}e{b73OK@_b_KA)2&Xwd{Iks%~{Xfo{JNGYL_ww437b||| zWFI|HW_ww%Jw9cQWO^85W?sm7%Ox*FK^cf0)CQdVZ0WVE6LuG$6;C@_x5M)Mx_ReH z!ZPm^U%u>bXq@79^sK4*s_S)$PWSevp8Kk$bk=&pGljF++Y%4A$y%5BJa?j^z}90*=D&#`#L&07QJ2*xA)e`lb+A79{r>ny=}rXhRnFyLQSy^i)*k|QkU*o!ZTbiCQ zpY7j2DcSp<-O}zjH1G1h(&$#RwX@Avg%@aM^1UdWb$@5E`=3ego}8TAI;~rE-n@B* zg@sEjy-we}x%13)E#25%TLKq1&77d9sOWk<^WL7HU834Y?3aSnCMG7Xjoz*XY70pH ze-hB$SRMCIQR_z3#A9Er^!Cl2`TObZ>HRm)^Rw&k|D^N%_V)Agn~Uvg|Nhb|TUqVB zR+NvYIDVRr-ud5CrceL=^YZQ^wvT0Ji^M&=xBdRUx}R&lJpDRx=R(%$zqV+3d``F| zvt*}Q^7>qak=Qx<>wPdQW1BxhMpkDr~oe0H|k zn*5MUTtB^~%r4#A7qGu@^Rq`i-_}mj&$+ci?tjq2Ys+@#Tu>;rn7(_Vw&vNX$erk_8Xio1BVwi#y!{JSZns-n^{Q#Yxt;fIdjXS0AQ?$6K7UG6h8X#2Wr z`a$YGGcN2d&!78xy5-qcHQ!ks&)5Dq+y6ty?{!Q&Xyy-8nFLR5UEB3}(c#-audZ8H zepU18tVcfoK0R8$x-jtIuT{6gr~LZ9+UEYjX7<}#v(@d2Tg0YJ?)YR`{H)~F70|_Yq8BNvs@`Dsa130F6}6M zY?^(o!*asWwJ{oJryeOiD%i5`ck2-wF~c~$xX`Zir)KKHY>BIxr5#jxVa=Zh>w-(Z z?fmoU?9bG7QF>K-17^M6ljpi*r-k35D!J|-I?rZh@6(=Q;(oKES%Qt7y<78H63gBl z%(BxaJj=bcWu|rcyYl@l$ST=AK3`h4(~#ls_rE6L=gd|vwiSz8v4x#iDn#JbDo)*7 zit9e_Vhz4p>YMSi(L}#$j>|{60K?+#F9bzBi>F+hVVHcxr_k{Io+npNO?&3rKUstA z)=|UgF1f&o@JQHt%3}W((TVG3OjuO-V_L{r^X65PqxNR~`yx8`dZ?bxyW9oK_nXJ* z?b`FAQ0S(2pFQ;~Hbhn6SOtn-PzAl-f;C@cZGy16 zpU#)^R+HoBjwYyQ_GwL+Hmz(ohv9aw=Z+Vq9toN0R3Gk9{HEsKo=SL-9(0UzFBaLe zYvQvD!7#zR3=dG13T{4u3U~%EYr+5ZS|GbXlb?|G2YbNN%yU~98#r|tvWjMvYYQS2 zGr(Miq}pK?Go(0QVi~ae@}K`ATC2>oQnLU5y1rlQ$uyIU3k#UuOMz!R8AFn0br)^j zzFpoZ#iLba&5e#5Q*I6s=K?hc)3MRR;$SJ8y!=pPQ8(Evnk@G{Qn>A9>pJb+QjO;o47+V z$@)}v_$ukeHMs#yuVj{3GF;kIH91g!+sV2#`{_z&UDrlMM|T&A&j0_t{{QwxYIPk; zwr$v;;Xik}@!6~E%~OnK-sqb-Gcq&3=M&qM1vdK9P>)ZV_}6Dvxa;(AkGa#;&t8qy zdv`tl-zV{nbNB!Ix_;?i!~cJt+wU%UxvBpDzeRy{4-PPvmzQs3isS?}t^ABO&A)kG zbi%V&dg7D)L6@y{UeNj6lQlP7MEcL~`~UOu^5V8x>HE*Ree2e$_qo_z@md|F zN8aXNTy*r+)zzlEYwqqUT^qe!O#I`uAaHwR(!{@K>ekILSs%ZDUy)pyWqL?`x!<;; zRoj0Q*#{kdbx(K7GyA#|;)T^VwzfxK^FDpgXtG^-TF28zm*nTG>BS{|wM46Zi>|J2{jZnH|6hB0zW(3m{v|sje4k%En&#{4 zJC*sy{ki`FU+mDEuc9yR$XBV}AY%EZk+oUbbd}iMa6gZMOyDS?4eO8>8d>@u<%3pMCPr@88~c z<7rskYyG2nl9@|uUtYK>{7k*EhF9>&ph0_vF0q z|8vkhY1-RYk91dAm%Y&_z8{`5OS|~a?c32m)54xcew@{)=l*o*&-y=aRWtb{;%5Cn zem_2>V3xISU(JN7jHYDA(A})@RW-?nFLk8npF68_X?|I9zsB_FA8&l?t9Jy5tkO4? z-t)QAZOMy;O{%u)dhwD^?#8XZd}q`9PqQr_9sKe3=03q~_IrF+9-ma)nJF1>XXCkR zul0d-BJt>Yw5R{Q=e4Kz z7^JUxwKC$)Ig>Lc>lxRODEr#Ls zrqb^0(%ds++10COdQQxaTrq969ILeUbh~D@9XDsb@+e+8)%(5UyxQF>^h{oul+UcS zwEli>)xTBgORpT%PRV^>aWyz_@8zDeYh~Z0q^Tt>ujG4?mhUx-Il+m$VV3d2qluSJ zet*CC*y>w*x-~vmul^muA6KQ4^whx6M5k0{*B6hRq@X`rgRPtQ-rW;=`f1<~wW5Dt zbj9B-Q#<}Nb-CyHe?ry6A0Hnt_j8@!7x8#~SIO^(tCjlJ zNTh`~PYS%Gm~i~4adwT#a=RI2b8G+2eevnOvEI4Yd11eDS6#kyrPk5s*mC~$@q5nv znDO1_j=$~xqf4%zdNSuo{GFv;voGYHe0%0c>fSve6JuXQDc6RcKDzkBr_w`PuY9+Z z|Ge+-zn>5NekzAecosDMq!J-L3gMYL?qp%%A-EN$S#(x) z(V60RYhR^Kx^FlsuRA~8wl~V?oPENxS1)F~ofSCa-}^n`+xgqrbZ?3M{&o8C+X}kP7z5Z{H`10`9qkCehx64Kh{)vo@ph1Jf`X|lmw^&`4><>DVIkA7H`q~$oq2)bi^#2^4efe_i)cs$l zdz@j+X&FhxVMGwWO!pc<$Be^&hsLDY4_awzz*^wYX%$FB7|K6du)Zk-(;?H*2-3+nY0ycQ=dTnrkgm!GFTFUtDV(V%pZs2?4LCth@x+0S@( z>>0E9^4gBr8>^51S^fUqx)+hY>_wWIlD@mn*nD>5nezYN!>g}tjtczxb@1BL8)*k) zii4*=TqtOM`Cjd>xA!f}!@gXu3cZy0>*w~Bx7~Vg%=lwewP^9PD-nr{heF$iAjJ zZS#cPd$l#s`c|*q^V_g8)qmx`r8^B9q&h*P7F-_1$+IW2&s%O^H%oE;>YO!#t!2q# z`kzXs_@^7b-1Q{w+S;YUTNf2f*&1HmQR?HK6}!+f82F9<>!BXa^;n4ab0JXKz+*9Hz$Li zz27zYr&f~B!YA8hi@%(Gzu)%uYwgQbBFEe_VzcM$KgPXe&KBcn@&7jYS2zBazc*** zy};yM-CIuI(U$)-Zw@#2Jj?2n&nAC=|6VRFQu%vvYwqQ;AMf1f@87d$Tl&#MN43l6 z)lQgNTzW4eHuK-h$}|7ADr#?wulV%wYNw}P)z|lS;6^l$-Pzu?fBEnWq_ z9-o>0i|wD+oj7sg-08{<)k`)%YngWE%y#)rb}9A0W_|y0VF#bk<4Kq9MBFO9_q0cU zzWuX(`z^fZJ=WW-pSnz5HaWc3-hQ=~xzsCE-)HKRvKO zwtCtxjb|A%O25SJ`2FPSjvc4fx3TiSSDGyGp)PFioL5FgFXv4*G=G%j_m)@k`sHg@ z_4zBxXW5*+KZiHE{KcE4pWB`O#-9E1=6-GHEOWL1<%yskyke%_zdw7=XVG5#o{-1BHTlO}6?apUa9iUzq!&Zf}tEVja{3kn-|1jH(i9JgyL-Q{O z$z1=#3mueRedk3$!hF5d0s>2_()tL>T-y_O37y*vNtvdYbAXOHzrCMPB;+RfHl zalWgYL#+YQTurbK51h3<4=DTib_qt^XwCsen)oUx+x2NLES3Qn6--X@0lj~cOrOt z-{0JP{P5w$&Voq`cX+H>psZxV6f?(Wx8oo4ojs|3Na}Y^TVA>1kX-9D-RM_2tWTF} zhpiFF7Q6iHl<=#-lC#36L`Bri=7j!B(8?${8nHX+WLuNT`FIVHTXVt=mWS^bf^-Z| zMrhvH_~yBmZ?Sc&yl1hxy86a6!{8{j`JpVEf7SogTs!lb)WX;&Q;wC)Xli8*zG@m| zuj~8zDuXIJD2VtPOs;2q{!vBJ@b!GRqO6BW?=33PIR{ru2o44$Y zBWTqNqrt+ZC#Fn0IcxHnr@`mCLn+SLR&m{eCxeKIj zU;SgW)FQ?T+!M`aRsNvn-R${!)8CVd;DsoAo-MJoZnRBS$XvIk*l_9{Se$!LX9o9) z7*fwKcy(z{Jc^m7*fN8|V8XK{ zmW-$7!3N%$rr0)T`4pG21Q>&|h2JdU1#cw53L8w+9c~)0sLZspHJD(_3hvrLOi?%s z>YT4{Fq!VbaltG3-JR>#m$%m%PM>8}!Ez>2!lrh{?5Rthw1Orz&Y3)4f0t=0XoTo9 zmq+pIdz%mC+f>j0{4x34>nWGDYi@a;p2%00+;3A|oR`L)ym_AR^z}TS^89Cc`>eJ4 zGDqT{hPvJj*XvK!FqemvJ>;KM#>??#lXfQWZN)~$*rlK@e}f5oz~W1HuGC)KdgjgV z-}Q30Hm{D}U-&xder~rCuNy&%PzigP0Uh~~^wvyg4RTb5HdrB;h z96#w&$9npm@OAfCf1h2oh4(K#oO?!>UEfw{V^M_r`UxkjU&;sR%h=cbxw7)bWx?z} zp%e4$YeJ7q6g~VV%YT-39OKuhxqkx7XO+hmS*vSqX=W+fs4->-PBh zZ@z6cGJ7pwWK(pw>E&d#^LK@&E3UhKbII+d*Ov3;Ty$oeWq!LQZ0>ia#84Wtq#+n( zIqpvHe*5~;nx^KWL*7Tak5{)vUfs0wnb3F9qf2(aJm8yYdHuPzJkw>yXu0QiBQAJ8 zKNM7dQ7QTPeMx=wv)Qq;cJJJ|HfCp$f9DadB-2UUpw3d=tlNFPHJ_i|h=@Mhd1~*q zB{iOL#>O^(-#(mps;O*dvFY=l?-q)k>bz{GXUksE8zb=b$;o+w&gM%~kDhzIWLCD~ zRIlF9%)H#3M;ku|PRnxYK2!ewGyn7Df(_J}Rr$??wCeht&B7_;3k7p`zKx+`urWA=?5%YV%YPd;l} z-DW!fb?B$7TQlQj70xog@SSzK?Y;kb8}S!QW_C4ivpczaYtAaSSDSBG>39_VCeJ=OuA4{JmKfk@)|Nal>Sif1<7n%HjS5dienA=d z6JBH#-}bvqqV&bl)h||_3p)Dexvl@ace3V|pGto{3^Y5s{HMuPp5n>(v?t%Ye{1XG zU#GJ_@4nK~Y!X&HYxb@3mzTHqudexji%q8b`>zT6m1f62JChsMd^3&H zJ95w7FYRa<-Cld$zPZHGqnP2>tY^pil9l6Y zYpY6v(u)PpsC}EKou5*_OZd{|Q{hW~PP}Lq)VXoZ_enF>Tz7Z7d85a2(!VzsG72T^ zg^w@PPQGu${k?d0p`!NZpb5K|9*IzTZC80OBfS*fgaa?ZH4#joe&^qWnLmHkB(zIS zvARlTNh!pTjA_yajpC%-_A(tuf2LD`5S1FqtxXXo`z~2 ztM5ABz3&}=Gsi!Ef0|mJv?gCpp5i5&=do4Kj{DEwUvqZn{^FKDJ8o@KO#E&SS{0!F z{O{k>*XwHc9QRMVlzHl6eDVHgPg9;hsjaJ4+n{jv=*6wiW6%Bg^fUS0@9xb{EZ-UZ z4odrV(Xi~;R^796-Phlfo|pgqkm9F>1+Nvk%irEL&2K2un-KY&p>WFVAJ*Y~x>AoO z)NhcP%k5cwY0tAIl}W`smJzV$F-$9=Ovz(aGEv!L*T^4&o&A9e-Gi!F~2_X+0ixni!ANu zPTjdi@T_WFY_eU?HK*R|oU6W^j}M;r&vxqa(+25m3ZOYGqsx0ZLT82FFyvF6`#k=1 zm4w-W9tPF3fhRNn-DTgQb!m@6_tl5L_nL&e6f+xMjIljuTfWWBBs^f&YV|WK7TK(6 zyjIG1Nyfp~r}#DFW#{SVB{G5oQ{P$DB)+(GF?K17MrL2s#Ait#qHpeIWw-qkH|w-> zr0tP;_JvCqto7datKTOhFxSgYXuaXor62DYq-_S(cZV;}VMslH;K1cQHSGR>-nEFO zrg#5*k=R>ba3v=4suc5$Pv(=v_E>*re|C7v7qfs~P3>9j9{NWgUSb3do!6V3ee2}{ zsrUC3%nJWHUxvv8yotdR)M{{^_1dR6b#8t6o0v5YNDYso%aD@xjkO?O)ywybNp-|J&nKYx8~Iz6Imeg36Y zfw556F1@zJ{lmq}TFV#p%ih~t6(zs9ZRxF+mB+8_EPj4Y^77J9*1OAo`4yjAwq)56 zo%a`ye7N-ISlhy9Z*NJS{;iaj|>Lc#CkB4-`grxU_uVJLOs~w!Kg8~Md}F8g^mFcS;~qV~;1lWob{9*_n=YH$cR5!c z=5`+!SwZ{fvNLS@e8S@T za`rj5+7_pucYXU~XS(&#^?zpH`lWYIy7pbkk!wc}Dkk-A*eRF0_41yHmG>hP-TmVC z)O@^h@T&0cEi1DtGVAoMu591ExN>)xZqydTjjsha{7U(=H~Ap*F3!5u`lqk&*mCK* z?;PnpPg1-d-Q*RnirAieZ_Un)x%V@z^}2(6JL7CTVqV#m6~|<~np*nr-J>4=7xzT> z&0XSF`s&Y>3!AdPzq`w>+vj!hyUF@|ef`f{$v8{jh<6m!a+l{XG4QXZfxVO2_n_BPx zCf4ju;7{9&cQUVZF)u$i&uU9u=?_zAx_IjMnNjzs%zM7#MXs~%_s>g=zrVusc;s>6 z;NVB+-{0P&{HiUYrg(S%mUS!7Z+rdekoT_Ar$J}lKKcFpTJDYo5;^{!UOQ@ke_MK$ zdG}ensS@(l-%`FDmHzbc?35Xya=N`fZg0J(%=Zku{%~vQ-zZ7R>fFxB^LN&Nzt(%( zQ*+gI4ynwz^Ox$spS^Nr_jLZ;n^jM;CRvDDUftJtaB1a{ij(pGFK*cCa%s`K_&TBK zX0LXCth!>-{eNZfbNO@JdiVC%S9ZR(e|_cW?!R}8#hrFt5zhY8AJ}cy`~Um?qZ2AN z|C3(7)WzTQfAL%^H`}nzy^_DZ#W%i-&#Aw+`@qlt|8(x(s{j90{{Nr$iC;_h`hNy3 z@Hw*jz>Ke_x82jp_^h_>v!B|@`7tNUL;RHtv-0jG_SJ};@AaMcsNC|BV71Ez^*7R~ zX{P@?oF0AstiJes{C@5DV4LNtZfn`|cd6D3-P=F^|DQd3i)S2JvGB1-<@4qD{CjrS zXqx?tJJe`sCY$Ec^}f^k`M2Dgb$@p4(A-}3bLO?pGP3I`bl$7q*&(R^|1S%8OvdAL z(bCFKZ)a#5nhQONEqs4z7UQwf-YDK10_y(#4C>z6GasLLt7P}?&8PRa-+MUb?RH;& z%RGo@!S4QVWt--fgcvSNT~XxZy?EN%Xp{WxwCfwa*ME#&f7-czSFCO7tmEzdQ%!Sn z%%65heAy!|nvuOMVpdUI=6A8u*HQkqb?XaeZ7<=qn?I@Q{f{~C%)+LXH9u88@u+H- zn&j)!S<6*o`ghhTKdZU2@NS~eap ziZ8zY|JvgDnY~w@Bu_qbWaj?u{QDLdpFRK7Kf{pEVpa-=aMUa7GZUu&{Q8yoO>KF{ z-tzZHNSBfe|KZf-l}TF_mUs1>`^PtTZDX>oY)G9QcJ}s+ zTO}{<9Ik)s`cY-~jupkqsk7AOXJ6cxsoXtr_mN$i;^Jjl*UNircAIbiIqSsyd|q8P zwjVta+Vd`atX41Gv~klri4Cza+KKO1+_OI&&!QqXGw1e!6-$q2sciw*Uwigs*6IIq zo0D`v|K9@_>z}(FUf=Su4*apV`MXlO?+vX(Pyelq+vM1BL%coAh_Wtzo z%TJR(tTOSxVH`l#N*=ypOl^_w=N@9l~8E|I?pOkciF9%Mr+2r&at`ygShNjqWj-3FmG4XJ{O{ zfHkAHGkcK6Bi+gvyMaUao7=~`0xc%8SN zW_PSv)&7c8_pHs%n$^2iE3e-8Nq=fZ!L06?ov*47`DB>|{IpdxQ}O>i71RP^RyeDj zvaZrL_#%T< zlFM?%=IiFZz4$JlmHDo@S%t}p#TPc*KPLStd0o!u9Idvi|202H?l8(&@a28!t3NyM zu4wL@E@sg=x%A(yGy9^$BOmX-61cST(7J`bM_=xr%|CDVljoVM{a$^J`OMb0*{>_M zsQP_M`Sf$KyGmY~>nnL)eC8)By7^Rap354(xGg`Q%oX`681*Wu$9Bews;`?96S99! zbebMNb^cA;+7AaVDjt8oWZINxzB+F0r>}ch>`eP)aKB-Jta>^7j^2s<*OuS0+E{hW zL;ik)rF7q1Zs}JhMlt^;nLWI+jP-N4{KWGP(1js!*B;OMU-Yyt>(tk+f1^*G-}Y|r zpQb&!kCf9&GSpsf{_vtV<*U!6B{z7RZ%b?~n7iwD)+DV@K|+hut<4SOcKlkDWmJ6U z*TULnf6Xe5r{6xxvLD$dnwe*1WaFqaasO_=sn1TTGrfH+X<8_;^ZCJK{mZ&q>+>Gmxarli^#9$&dzKTs+tnif2O9=1I~RXu`OD9@9i%PJSt!mc{j|Mk z)xRD6Z?`;tv~#A6?d6L*%1=Zd{ro=e&cVAA7oEMz?r$Q!bj7nNGp@>YEiYGIp6UKx z&bDBe3(PgG`kwgllIc&C+=}b%}@7&dxH;zGU!!?bNT*rokDP z0t63ymD*~want6_8x8WVIm8|*mEJa`t2InbS9;a7tJ!zFvhosdt=n1SxL561m|5B* zex+;SIlD6#|8gsp*6`EZ@6~+l)8*dR*G*UDU(LVrz|ZLMHlf$|iu=1Zey={h{N}ab zyKPOkL$*6|cP?GKckR+8u7|no%aTI>n_l=`{y0C|TjcBXn&+oxPJX^lb(zX({*q#K z#mJc#r%&I}aqi#Bsq_Dc3$uQu`#xzKyf z?Gu#lJ*<9s=cjfd=l3s_PTqIfdS{=SFVcJUWc2nr<)=bF8LMBJn{VA}nt#*bXO3RQ zt1H2AYd0P%-X18;o!xEb`|4?Yi2Z-gn=AI!EdAAW*;nd`{r6XFUOLQ6HvC zZ=G`L%^TDG>aR>QwKq@Qnj7Q)^-kW0yUR79?S@%yJ^k}9N}TfDw_{cPZms=-rr-PT zE}t_qS$+P!OL<#r?(MHLWP+$I{(I@nrrpiS$Q$31j@f$Ee%QQ%*tHC7QiJJjhd4l?b@E#hd ze*o>^DS(Gek-C9bW|^#yp1zL>+M%27+}y{VEI)r_u^~K zWlNU2v(LC{nq~Xt!RtBRms5T=zjV|6l~?=c<1?GD)Ai6z6cS<;fc;TpeVKBxUH+fz|o zd3jRm>1n#LfuxZQUfT1-TIimiXIEmRfVemelMLU6S$nP^KQ=rWZ!q zzfK<4ue6N3xifxW%AF{4k3|s|@8rL4o})j1ld*lxncsij{rWVI)%o=)6Mi*NHyfOL zZsp$FQOV7#8@(;-;-13VUeQ;kIhXdhPG(y*b+&2#trhdWiM=w*%6<6aO-lBqJ#`C@ zPJ0_`b!)a+e!vfHv+R35uf0JVPWWKMDd2$;Ptdk&Yy&6~QL{cX3uEMT$jk>)HU^sp z&+uR#a_OL@es(Hk&03pyuFbx!&p)by3WA2Z<&_KTU!Ig@_BNNhANBReB+!QJ0}C$A z;b;E+;N#lRetobV9>sQG1lk+ks}I|Cay%6ZYk!DEI5KH|PEt&Md%uZL=7A~`g z1Y1bJtmvP4yMO<=xbx>-m8CxyiP=?OzAqz}dGsB)+Ourv@+|hAKX<=f{U@8x*A}f? znh73d17%k&le4M&9_q)-|4z;Rblloo^zpN>xYK;{v8Kiak9W3Qc{1Z}@a~x_h4%eE z@-^_f@Z`MsJKIYt)Qeqbxu2Q2=V46JtGzR9UtP`l&Hi@xtSPgqo}W3!nJ4y1HO$$$ z&#mp(_fPTLULVl<{|@x){d+_TVe}1KDzOzlL-*!r?r|mis{(IVQt$!!F7PML)$=d#8^~|r4 z6KDK>cWap>V{$Y9ozqpKrYoC^n%~d2_p6^JQ2g#dW6PT5f!@b{vY&~OmEC;z{3LgN z=+NOhozHjs<7Fh1vvVG8d{)<&bSI{GSr=#k`SLB{Yf`S&KW^?XJh-mQ^u8P0jg$N5#Q*3vU%q_zEUjx3JXCBdz!esQ zN3rY7-*5fv%X6>4GR?lW=3a%7u6fq<<`Y97W=rttBn~h#hg2p|NnH) zlh5j*c{Zm#IbP)xZ6HIdz(|wtTXe>|NWRP{; z(20w`<%`#!e}7~#J7_NlUxSHw>b~zUS0_Jy6PoV(d!6^m&iHG`w`UYfTc6)CVQQu3 ziMv5bIulFh+vIQAyw1e@oyF^*Z>vvy^h+|ivnc#TZ~yu4KTen^-^)Am$aP-dr@+$5 z>%8;Q?nYf{)zpQB$IqN;Juf=>Ua>Cwdr0o7>Y5pH>+KNoE( z{$#h`R(QqKXRNDd?mF95_wQx#xpsbe`*ihuX|?lpYfbDwn0zmO*WT0fX3re<-R@Q& z9x#GSL4~uuzGv31S)*gJyxQAGckLQo9i25PX+c-59&Op#nUxWpl=k}3vuh_02Fr-63-AwuUHo53O z?fLu5QajWq^X1m2zrOWg&Nb%U+b2&^JfU(`uyT@CR+91bZO!UiK3@H5m=a)Z?Ce?G zdD!7UBj2Q~-E+YXb2#f)EPQ-ht@{?qC-HCG{jVDx3ATQJR(HAYg{=nz*NV&JT)n$z z%k3QV6ld-Iev1-smwwGNE~uE@sLWMg@;>6%?aYhocIVG_R4%F6VR>@@iucdL;$&B; zoQ=I*<)3LBbG`lhgjL?fuk9{}<=$O*`daAaUlG#_X9sg{t5h(v`{wX-yC*o*CDLYT zf7&xQdHc4x)gnI&^3#*!ww=g+zJ2Y~>66!a``q@sd4JXP)RmX-Xs=mXf4$7sDf-{0 znC~zCEn2*m?bg)1+056r$LtBYeyu60RVMf9@qKqYa@V$nRn6M|IqLqY>sN1_T>tgU z)wOAv^=D>WU)H?l?grn`Ph5_-s$I`4<-L6Dwa|`_Nj@3*nJ>5B)HZo`>DU2IuE%a? zZHttZGR{~$y?LNle4U>DVKZkS} zxwdVN*^ae4B=3bzc&7IE+HqIkvMZG{A3qVke*L?#=3lel>vq>U?e+D(zjyngTHUL+ zZNzpj%YO+AwSrmv+Iox6ib(1zpIxnT_Hgu9y-lmD|G~C#g4RdezH}$YA>z(ShxE>k zOAL}%7C$)oTAF>vMDW2gGN9Et;or`_uz7##_WAjrHyPi5J!$6L@0Rc1POY5lSqy5! z@PYPbYJX2V;eOU!%l#}j|LktobBz~!pj$~UB|A<337;dt@`>fObQ}5l|n|u9UtNpGoIqB(v)9OOy zuJ3u?HBC`*?eRZr9w!I7takji^!Bp`UR`nBiSgzRzmw0*2|L}l?bC+!yG+FEeNSda zygo2>ZCX}6%fCCvPHwvUVU=fbVa(?nrxT6UUKwP%-B`Lw?z+vlPs?Ub7FFw;D_^K= zRB^}U>CKsm;+E@RTYBG`e7Se2=vBqh`8TfolXwunZU3FjoJSY7ecxcl{HN=0LAhq> z{!{;@R;>QBzH!&jZ69S;K3?4J{qp_pRO@p4qgUNC>w9u8$J#N(yVmoDT-!L;dHc3~ zjcfmw*8bqjeg5Eg%#6F~c+704q-iq5LTZ*#4YTGwTM?0(;mf>F()8iFiJ&$YXcsB+(tIx?g5vc4X6ByCp-fg!~mKk^(;QUkGucA zm)EXnm!L;e-zLwQdBJJc=L(36Lnl28``4cLUhdky+T%)ds@URtA}>vq^+hO{`pkOo znbO!Rh38slfR+cHd+Z7>&?Y=vB3H2o+T)!3%+&I$N|3N{UpAz;oA503Oy#wcTaIVm zlC!t6JiU}@Tkf^uN1vuT-h2C1=c~`Jyowo>WviUu{$rbfz5)pxTycT7zRO#ut}@8{ z)wjFyd)fI}I`+n?Irhi7ZfwiE-`j5&;`8{Ghi!2-yY zcf0@JXKQtHwl>?ovq!SR(u9(Qy`{B(dIf1uzt?Q@yKJNJ+5I6oF4qEcj+{N`qBC(u zRAru!dG)TaZdIksvb*ZJT{|SEPnc5i`O-rHd3E9B)e9Bfm7V`q|J1)-nsBwCdUl;7d(!0K zcX5^*a*t1B{``C9$@Qr(?Mh$o{BecdGyHJ7tLn>_bYqB z`sK^FFHY*dyk#F(&fdv>Z)9ViYyF>p@7hyv@;;#AUA)kHjp_28B`@DSI<%!_#f1$s z&RFf;sCVz|ogHmrz3(3O&ib@w$KJ2U*3CXHtZa5{$+Uasb~aCRP1iPbtiHN^j(^ni z_uCWitKNMaU*`5k<5Ee?xvqZyj_xmV_cw`kXRdp_W6qn^V%#pT@;^oYdR4xQ+m)~Q z*?E~cy5d%@(_WiKp3e2%{Wm@O>pfHM^s`Yi!T0LSi+3LSv#B^`X58$j@>5p7UgOVQ zG>OAy-Nn$@UCE6_jb}bT_>hw19G?Eg9U+m+}2|MnAdmezr&%P}vcLRZz^x@Q(u zef)CtOFOP?-_Hk^tCZ<++th}uPRZD6+4ybQv0Qx~L-ScztT&$w*jkz)7qj)=v+xvT>*p?ZW_x!!0_4I-Gw$M>nD@14c= zgZE6n{ySJ!oh4ybzV1_fyB?$uy2j`%J9oIw)JO%v$g3as?OSlP*1L1r?(LhmzWg?I zR@?EjI}b~T%Lb+y_jPx4#mahIF@|Dg~+@pIJURZd({@=sZB_jwdwy>%!ox9q`(`^-G1c}I@> z7k9dU(oJ^$#I(Gl$ocZYROi?C+~01y^7_EvKJSa`^y>{3wglc_kMbzKxadmtT=7L| zMS?vGK6Une3+#oKlnj?@dNTJt+p^BG{wq&#-0HuRvTx7o=gp64{QRtI-MU{}w#Ln? zOZ=@>`ZwxxRPphSO?-!s-uPK`S*^t={lBasqulPilK8u({z_9ck5#S~KAm~*c2IHB z{dczZ@mHjx&$n4|sd#_C|1x*2)dYd<>g)Gy%};pJB-WTwc4ldM?X6EeKh8#%%jx9i zoQV_7Q9R4)7brfj^xE@xw`P8F?%CBL8l*Y@t+ zwqvW}XPa1R%eI-Wb9l1n*@>@a$@%5C-!|>Z+N*ZiJL%v2>Dim=-@kcpTvqz^%h$4d zCqIRs>s)*3yS@20iDT7Z$A(SYXup5WC#Slg4X-bJl3IEDSI_70byvmS-rn-`_?yLr zr)6rlr$2x5VRQAz*h~6M!kfKUzkapqoLm?GthX;F7kqh9cK=}bQ}1NH=YKX_vN^6F z^t*n3`Myt12mRx%i!`B?-%l3d(;{B2IXCWX^LS|T-Mieq)kA4}=qVSbjlDsNwHqDc zG^&1HH*$T~89wjYv3;{*#I$A8&(D6oY})>sd06E&I1-{B@6?Zfo`R$+F+Gwu2gekfQo?=D)~=bA$!v&6qT=(m*xu zE7NYy9oKtWuNa@b)4k)X1-$EVo(o#pGGzL_Y6R7>pmw3(tjSg2!6F8a;voJWafqSC zm*!ky26uuSW*weWH6sRG>4NJlY@3rse z%+eD1#}&(8nSquCvpdXc2A_8Vo^gWfirPt+g(kjO@%_y1V`UgzH&g|C)1UsEI*Gfw`K`EO_XEBi_H z|5BoltvG(L{>}N{S3>{%dmgYyW$QW>pWKh8r8jP#Ug>=V92X3k|MXnAzyJLhvbZut z)>y=8l54f}EP2~^|4L`Sme`iIU8UsqHjno+m;7W;cwD?>=jTUh>6c4(K3P3q%4&Vy zd|jFHS?evnbgo}~^vU0x$DRH*A~0j)eLwfjYBGBJw$^*eved(l$KT)8(c61H)2sO8 zo(s&ZqNV0}_y4T@bmbj``$mVC+kg8c25oTvux@dsrlawjX*s7?=k6$e9dvKu;pLwn z`P|o!|M&N0(-Tpx#!KbbR~l>1R=#{X|IfvM$+C9gUbFVEx3qq}J72xla>nCNqQ^^R zpYPkc{gBD@szVm?=^sBU z_3Myv@a1yV#A#QT?u>r3^xO0Ezjs;jOe-n*YWqHWzsPGhXw&ljtY?D8&sF|i3!7ZI zW8X`c30WTlX3dTl^Li5_R`F|{m&V1cVy3sg2k*v7B+c7BwJP0Aa@Dq7Jb5l#->s=D znYDdxlxal3Gs*bczz*5We{nwP5tl=SjZ4~&dK<}oiM{(Utu!-lo~gh5EYtehTX(*+ z6hE;{12?QaK7aQq-s&J5wd()w@6YDBCVlKSnZ6@m^J2;OvTbH}_XS=4u*0(aX-_@- zcB@5a7MzUIt8F)#u5Syogr`UWmDVcd~I)9zwXWLtsY6~YX7F}kU4K2B%b;1qwl}P*NPvWdlr5FWcZT|`96>0P!Gq~i}xf%U;48+uvNsi zc9MNbS8P(&u6OA=Q+=kJl;5g&*B>qJrK7R8=6%(xAlRgp=GAB9wt7z9d?_)aV0PaAjTjY^<=Lf6enxoSbqeymhyRJlY?b|YQO30n#uO8k>raph$3 z*X@b<+Y~RvI)e7bFkGtP`ez!j(P!m`i9IvgMZ9vRd^)(?g=_iF_+8doEE4r&^@4&aiLWTsAhv! zDWI|&Rximcu>>&{K#2#;1RdT1ngh)An>88S;ap-F_w?2kv%7uY_nu>e8pbdgI&=q` zj)2rl=v_}xMFB3R9)Grjc_8CFYw|NtoeHiOCs!pPx{`2(pf09_KD6dr@>9jrcAn*nYe*L#Zsq0R!PUgtI5e?dSDRtuZ=XWG0O?S;SK3sY)+*`cf zGP^CO;8Ao|)$AZGk&dTjUY}>Xcuj9Ty+{1~w&{Cnu5J-LD!#0D$L((4^Bk&P@0pj~ z?JL?EZoT5kqnFj38q?p}7Arj9EnUZTqgp9*=UUT08m^Fp_D9xUTg1D3N?dlv4qLCo zYi})n9kV9=YD>X8{_Vf=)X!FLbe~kYkey5GRo z5fKv;Gi7ID&E*e^gU_pdxbaxsyl!vyi+At-?%)6Wy?pFSBj1Ypsa53<^rLUrnwQF9IH_@!?^z0gPffg zG&jYpKN*#mee13L?N#5`MOtKEdo<(Ix7{;Oi$0q^SNZgpTRQ(2#Kfl8MopOPqEOVk z?$sq(?kU_U^Vr{)Pjg)nnVV;p_3qBUx1S;1-GB&i<% z9W{&JPIY5(cW37mmT}-!5wub^Il!n)S?gEx38wpd&TYi#z*-3JH=|hu$bJM z3zx3lU2naws4a8*?Y4W%xHPYrUY}=W_atSiTYcf{UE%9NRk(TioZAWcv#S0l?6x)K znQa~ZbHDR+NI?@e*+cesWX?^&;(QFuRS(aU#lb8>gpE?xGpu=w4FW1;R- zBz=T0T@uV($M^fF!G+sjyDkO@%9;dbuH!gWy+}W9^{m~0&6A&>P40aCM@;uth1c(b zCwcAjuiw|cAu9a$QhDOO!3C-=oYgfxKli_k=+u9Hv3}q-K}6~-e>vsLcizqZ zi2jstHZk+$#@mQ@#|lb=!u}*|IAnww+ygtoO%{OudgD`%-f} z;vR?u=4Dvz$jP|-d&S*pRkAzo7i!-6`c$8-#f19zrg)Re0ApPjDw=rsw3*j>D6 zx5}_z99kat8=k#B=bGvB_45)>Wp9ly%8mZK@nNra!M&J^S3~D-yLS4reop+-b@AD8 z+3zF*uO;q~u#V5W)e`XR&3u&L%(KPls6~EhlI7Xz=q$fCxA#7O-W`?v z`euN8W6H~a)_d26vI{->_T=jJZ@fJ*7nB6f_U-(##y@(V;Qq?j=bD%H_TF6Gq`PG2 z0nJy3HlO=-C)PT+j-&8l&<_J>i8|rg`{~c@_r+XT^x7lSKP-}_4*l})G{r^$RPS}1t zb@|qf@X4o>mOg${`T5S3Pt)H|Sve>|t;`Ju?<@4^8#D6w}9M=f4-tMfu_LO3#L&CwAjQN)xSsRyN&iH-i#tBu+ zW>yPsmjiXN!1dGTNXJ)=;A%tRtf#F(9JE@857Of7H_iy=pUe$SN}vrJAWK0tIAp#X zI!y_xj=_~Yg9l_sM)IZ^dE1>IJ~M#Ylejn2Zf)PYWSRFNch#WPJfzL=K=#rdxyzUC z^tTmTd;WbNJ=0G68Pf)%FVdQ&MBb@023-8U;qFB From 6ae36127bf8e8847b8dd92f514df7ae831473764 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 27 Oct 2021 15:17:12 +0200 Subject: [PATCH 12/21] ProjectExplorer: Search netstat in PATH on Windows As well as all other commands called via DesktopDeviceProcess. Fixes: QTCREATORBUG-26485 Change-Id: Icfd3ab69de771bf58d5e9202fe1879e4063d5204 Reviewed-by: Christian Stenger --- .../projectexplorer/devicesupport/desktopdeviceprocess.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/devicesupport/desktopdeviceprocess.cpp b/src/plugins/projectexplorer/devicesupport/desktopdeviceprocess.cpp index 559696e0e8a..0bb27f3435d 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopdeviceprocess.cpp +++ b/src/plugins/projectexplorer/devicesupport/desktopdeviceprocess.cpp @@ -54,7 +54,8 @@ DesktopDeviceProcess::DesktopDeviceProcess(const QSharedPointer & void DesktopDeviceProcess::start(const Runnable &runnable) { QTC_ASSERT(m_process.state() == QProcess::NotRunning, return); - m_process.setEnvironment(runnable.environment); + if (runnable.environment.size()) + m_process.setEnvironment(runnable.environment); m_process.setWorkingDirectory(runnable.workingDirectory); m_process.setCommand(runnable.command); m_process.start(); From 13807ff0211bef2fa0b2e8e2badc277b1fa03e8a Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 27 Oct 2021 14:42:46 +0200 Subject: [PATCH 13/21] CMake: Drop use of FilePath::mapToDevicePath() That's implicit in .onDevice() since c82e3cf6a8, doing it twice is not good. Change-Id: I8c1d5d31d155d3a7c4af8bd874fbba5ab3e8cf72 Reviewed-by: Cristian Adam --- src/plugins/cmakeprojectmanager/cmakeproject.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index f201ab523be..aa78dd534e7 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -144,7 +144,7 @@ MakeInstallCommand CMakeProject::makeInstallCommand(const Target *target, if (bc) buildDirectory = bc->buildDirectory(); - cmd.arguments << "--build" << buildDirectory.onDevice(cmd.command).mapToDevicePath() + cmd.arguments << "--build" << buildDirectory.onDevice(cmd.command).path() << "--target" << installTarget << config; cmd.environment.set("DESTDIR", QDir::toNativeSeparators(installRoot)); From c4ba0c20211320e50caf62fb4f28fadbd7d11cc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20L=C3=B6hning?= Date: Thu, 21 Oct 2021 21:51:48 +0200 Subject: [PATCH 14/21] Squish: Update for running suite_CSUP Change-Id: I2773f98af0a6656fcf1362b4dcd2d853cc2aea81 Reviewed-by: Christian Stenger --- tests/system/objects.map | 4 ++-- tests/system/shared/project.py | 5 +++-- tests/system/shared/utils.py | 7 ++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/tests/system/objects.map b/tests/system/objects.map index 01e364285d2..60d760a6817 100644 --- a/tests/system/objects.map +++ b/tests/system/objects.map @@ -96,7 +96,7 @@ :New.comboBox_QComboBox {name='comboBox' type='QComboBox' visible='1' window=':New_Core::Internal::NewDialog'} :New.frame_QFrame {name='frame' type='QFrame' visible='1' window=':New_Core::Internal::NewDialog'} :New.templateCategoryView_QTreeView {name='templateCategoryView' type='QTreeView' visible='1' window=':New_Core::Internal::NewDialog'} -:New_Core::Internal::NewDialog {name='Core__Internal__NewDialog' type='Core::Internal::NewDialog' visible='1' windowTitle?='New*'} +:New_Core::Internal::NewDialog {name='Core__Internal__NewDialog' type='Core::Internal::NewDialogWidget' visible='1' windowTitle?='New*'} :New_ProjectExplorer::JsonWizard {type='ProjectExplorer::JsonWizard' unnamed='1' visible='1'} :Next_QPushButton {text~='(Next.*|Continue)' type='QPushButton' visible='1'} :No valid kits found._QLabel {text?='*No suitable kits found.*' type='QLabel' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} @@ -154,7 +154,7 @@ :Qt Creator_Core::Internal::NavComboBox {type='Core::Internal::NavComboBox' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :Qt Creator_Core::Internal::ProgressBar {type='Core::Internal::ProgressBar' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :Qt Creator_Core::OutputWindow {type='Core::OutputWindow' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} -:Qt Creator_CppEditor::Internal::CPPEditorWidget {type='CppEditor::Internal::CppEditorWidget' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} +:Qt Creator_CppEditor::Internal::CPPEditorWidget {type='CppEditor::CppEditorWidget' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :Qt Creator_DiffEditor::Internal::DescriptionEditorWidget {type='DiffEditor::Internal::DescriptionEditorWidget' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :Qt Creator_DiffEditor::SideDiffEditorWidget {type='DiffEditor::Internal::SideDiffEditorWidget' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :Qt Creator_DiffEditor::SideDiffEditorWidget2 {occurrence='2' type='DiffEditor::Internal::SideDiffEditorWidget' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} diff --git a/tests/system/shared/project.py b/tests/system/shared/project.py index ecc1ae98756..e8ee09bda9d 100644 --- a/tests/system/shared/project.py +++ b/tests/system/shared/project.py @@ -276,11 +276,12 @@ def createProject_Qt_Console(path, projectName, checks = True, buildSystem = Non if checks: __verifyFileCreation__(path, expectedFiles) + def createNewQtQuickApplication(workingDir, projectName=None, targets=Targets.desktopTargetClasses(), minimumQtVersion="5.12", - template="Qt Quick Application - Empty", fromWelcome=False, + template="Qt Quick Application", fromWelcome=False, buildSystem=None): - available = __createProjectOrFileSelectType__(" Application (Qt Quick)", template, fromWelcome) + available = __createProjectOrFileSelectType__(" Application (Qt)", template, fromWelcome) projectName = __createProjectSetNameAndPath__(workingDir, projectName) __handleBuildSystem__(buildSystem) requiredQt = __createProjectHandleQtQuickSelection__(minimumQtVersion) diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index dedd43179c2..71427adb03d 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -172,6 +172,7 @@ def cleanUpUserFiles(pathsToProFiles=None): doneWithoutErrors = False return doneWithoutErrors + def invokeMenuItem(menu, item, *subItems): if platform.system() == "Darwin": try: @@ -191,10 +192,9 @@ def invokeMenuItem(menu, item, *subItems): activateItem(itemObject) numberedPrefix = "(&\\d \| )?" for subItem in subItems: - sub = itemObject.menu() - waitFor("sub.visible", 1000) # we might have numbered sub items (e.g. "Recent Files") - these have this special prefix if subItem.startswith(numberedPrefix): + # TODO: Find fix for Qt 6 actions = sub.actions() triggered = False for i in range(actions.count()): @@ -211,9 +211,10 @@ def invokeMenuItem(menu, item, *subItems): "Function arguments: '%s', '%s', %s" % (menu, item, str(subItems))) break # we failed to trigger - no need to process subItems further else: - itemObject = waitForObjectItem(sub, subItem) + itemObject = waitForObjectItem(itemObject, subItem) activateItem(itemObject) + def logApplicationOutput(): # make sure application output is shown ensureChecked(":Qt Creator_AppOutput_Core::Internal::OutputPaneToggleButton") From 5d190fcfaae117100b4d6cf733d17e878f5809db Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 27 Oct 2021 15:12:21 +0200 Subject: [PATCH 15/21] Utils: Make FilePath::mapToDevicePath() private User code is supposed to use .onDevice(...). Change-Id: Ia14198bbd472db05f5177f06f832dfc468415ba1 Reviewed-by: David Schulz --- src/libs/utils/filepath.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/utils/filepath.h b/src/libs/utils/filepath.h index a83c0aa5177..da5ca921bbc 100644 --- a/src/libs/utils/filepath.h +++ b/src/libs/utils/filepath.h @@ -163,7 +163,6 @@ public: QDirIterator::IteratorFlags flags = QDirIterator::NoIteratorFlags) const; [[nodiscard]] FilePath mapToGlobalPath() const; - [[nodiscard]] QString mapToDevicePath() const; // makes sure that capitalization of directories is canonical // on Windows and macOS. This is rarely needed. @@ -194,6 +193,7 @@ private: friend class ::tst_fileutils; static QString calcRelativePath(const QString &absolutePath, const QString &absoluteAnchorPath); void setFromString(const QString &filepath); + [[nodiscard]] QString mapToDevicePath() const; QString m_scheme; QString m_host; From 691e340b81dcb8550913e91eeef41f62cc24ca51 Mon Sep 17 00:00:00 2001 From: Artem Sokolovskii Date: Wed, 27 Oct 2021 09:39:50 +0200 Subject: [PATCH 16/21] QtcWizard: Fix build empty project Added TargetName parameter for executable file name in order to avoid names conflict between qml resource folder and executable file name. Fixes: QTCREATORBUG-26375 Change-Id: I7f59b8001246d175a87309a9b31ff7110d76b148 Reviewed-by: Ulf Hermann --- .../projects/qtquickapplication/CMakeLists.6.x.txt | 8 ++++---- .../wizards/projects/qtquickapplication/empty/wizard.json | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.6.x.txt b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.6.x.txt index 66c34759f37..63e7b2e30d9 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.6.x.txt +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.6.x.txt @@ -7,17 +7,17 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt6 6.2 COMPONENTS Quick REQUIRED) -qt_add_executable(%{ProjectName} +qt_add_executable(%{TargetName} main.cpp ) -qt_add_qml_module(%{ProjectName} +qt_add_qml_module(%{TargetName} URI %{ProjectName} VERSION 1.0 QML_FILES main.qml %{AdditionalQmlFiles} ) -target_compile_definitions(%{ProjectName} +target_compile_definitions(%{TargetName} PRIVATE $<$,$>:QT_QML_DEBUG>) -target_link_libraries(%{ProjectName} +target_link_libraries(%{TargetName} PRIVATE Qt6::Quick) diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json index 401fb21e16c..a6f538e1be1 100644 --- a/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json +++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/empty/wizard.json @@ -27,7 +27,8 @@ { "key": "HasTranslation", "value": "%{JS: value('TsFileName') !== ''}" }, { "key": "SetQPAPhysicalSize", "value": "%{UseVirtualKeyboardByDefault}" }, { "key": "AdditionalQmlFiles", "value": "" }, - { "key": "AdditionalQmlFilesQbs", "value": "" } + { "key": "AdditionalQmlFilesQbs", "value": "" }, + { "key": "TargetName", "value": "%{JS: 'app' + value('ProjectName')}" } ], "pages": From 53714b2b1d7a3613b6b02f1bc8eea6966e03b786 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 20 Oct 2021 14:00:58 +0200 Subject: [PATCH 17/21] UpdateInfo: Use new MaintenanceTool semantics It's been available since a while, and is the preferred way to use it nowadays. Task-number: QTIFW-2349 Change-Id: Ic55f209ab7068d1d093cf92cb21e33794c0b04f1 Reviewed-by: Arttu Tarkiainen Reviewed-by: Katja Marttila --- src/plugins/updateinfo/updateinfoplugin.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/plugins/updateinfo/updateinfoplugin.cpp b/src/plugins/updateinfo/updateinfoplugin.cpp index 4137848c582..4d393a298bb 100644 --- a/src/plugins/updateinfo/updateinfoplugin.cpp +++ b/src/plugins/updateinfo/updateinfoplugin.cpp @@ -129,16 +129,17 @@ void UpdateInfoPlugin::startCheckForUpdates() { stopCheckForUpdates(); - Utils::Environment env = Utils::Environment::systemEnvironment(); - env.set("QT_LOGGING_RULES", "*=false"); - d->m_checkUpdatesCommand = new ShellCommand({}, env); + d->m_checkUpdatesCommand = new ShellCommand({}, Utils::Environment::systemEnvironment()); d->m_checkUpdatesCommand->setDisplayName(tr("Checking for Updates")); connect(d->m_checkUpdatesCommand, &ShellCommand::stdOutText, this, &UpdateInfoPlugin::collectCheckForUpdatesOutput); connect(d->m_checkUpdatesCommand, &ShellCommand::finished, this, &UpdateInfoPlugin::checkForUpdatesFinished); - d->m_checkUpdatesCommand->addJob({Utils::FilePath::fromString(d->m_maintenanceTool), {"--checkupdates"}}, + d->m_checkUpdatesCommand->addJob({Utils::FilePath::fromString(d->m_maintenanceTool), + {"ch", "-g", "*=false,ifw.package.*=true"}}, 60 * 3, // 3 minutes timeout /*workingDirectory=*/{}, - [](int /*exitCode*/) { return Utils::QtcProcess::FinishedWithSuccess; }); + [](int /*exitCode*/) { + return Utils::QtcProcess::FinishedWithSuccess; + }); d->m_checkUpdatesCommand->execute(); d->m_progress = d->m_checkUpdatesCommand->futureProgress(); if (d->m_progress) { From 41f96fe05b176544606b0a4097a050cffdd70548 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 18 Oct 2021 16:14:28 +0300 Subject: [PATCH 18/21] QmlDesigner: Reset puppet on repeater model change when necessary This is a workaround for Qt bugs QTBUG-97583 and QTBUG-97586. Fixes: QDS-5235 Change-Id: I37de4829fea63b0c488815975ae2dd58ceb36b71 Reviewed-by: Qt CI Bot Reviewed-by: Thomas Hartmann Reviewed-by: Mahmoud Badri Reviewed-by: Samuel Ghinet --- .../designercore/include/nodeinstanceview.h | 2 + .../instances/nodeinstanceview.cpp | 40 ++++++++++++++----- 2 files changed, 32 insertions(+), 10 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h index f237bcf0d41..0bb481d22ce 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h +++ b/src/plugins/qmldesigner/designercore/include/nodeinstanceview.h @@ -225,6 +225,8 @@ private: // functions void updateWatcher(const QString &path); void updateRotationBlocks(); + void maybeResetOnPropertyChange(const PropertyName &name, const ModelNode &node, + PropertyChangeFlags flags); private: QHash m_imageDataMap; diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index 078a74a534d..3032ac12d94 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -473,8 +473,9 @@ 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(); + } else { + maybeResetOnPropertyChange(name, property.parentModelNode(), + AbstractView::EmptyPropertiesRemoved); } } @@ -503,10 +504,14 @@ void NodeInstanceView::nodeTypeChanged(const ModelNode &, const TypeName &, int, restartProcess(); } -void NodeInstanceView::bindingPropertiesChanged(const QList& propertyList, PropertyChangeFlags /*propertyChange*/) +void NodeInstanceView::bindingPropertiesChanged(const QList& propertyList, + PropertyChangeFlags propertyChange) { QTC_ASSERT(m_nodeInstanceServer, return); m_nodeInstanceServer->changePropertyBindings(createChangeBindingCommand(propertyList)); + + for (const auto &property : propertyList) + maybeResetOnPropertyChange(property.name(), property.parentModelNode(), propertyChange); } /*! @@ -518,18 +523,15 @@ void NodeInstanceView::bindingPropertiesChanged(const QList& pr \sa AbstractProperty, NodeInstance, ModelNode */ -void NodeInstanceView::variantPropertiesChanged(const QList& propertyList, PropertyChangeFlags /*propertyChange*/) +void NodeInstanceView::variantPropertiesChanged(const QList& propertyList, + PropertyChangeFlags propertyChange) { 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; - } - } + for (const auto &property : propertyList) + maybeResetOnPropertyChange(property.name(), property.parentModelNode(), propertyChange); } /*! Notifies the view that the property parent of the model node \a node has @@ -1908,4 +1910,22 @@ void NodeInstanceView::updateRotationBlocks() } } +void NodeInstanceView::maybeResetOnPropertyChange(const PropertyName &name, const ModelNode &node, + PropertyChangeFlags flags) +{ + bool reset = false; + if (flags & AbstractView::PropertiesAdded + && name == "model" && (node.isSubclassOf("QtQuick.Repeater") + || node.isSubclassOf("QtQuick3D.Repeater3D"))) { + // TODO: This is a workaround for QTBUG-97583 (2D) and QTBUG-97586 (3D): + // Reset puppet when repeater model is first added, if there is already a delegate + if (node.hasProperty("delegate")) + reset = true; + } else if (name == "shader" && node.isSubclassOf("QtQuick3D.Shader")) { + reset = true; + } + if (reset) + resetPuppet(); +} + } From 982f23be3890d5c24a6bc74ed1cca4717fc456a8 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 26 Oct 2021 14:37:40 +0300 Subject: [PATCH 19/21] QmlDesigner: Allow invalid property value for QVariant type properties Invalid QVariant is a valid value for properties of type QVariant, so propagate the value change from puppet to creator in that case. Also change the property editor to notify controls of value change in case of invalid value set, and clear LineEdit when invalid value is set. Fixes: QDS-5304 Change-Id: I02c7daaf3cde06317690a32e7ac8a82da754bd58 Reviewed-by: Mahmoud Badri Reviewed-by: Qt CI Bot Reviewed-by: Thomas Hartmann --- .../qml2puppet/instances/nodeinstanceserver.cpp | 10 +++++++++- .../imports/HelperWidgets/LineEdit.qml | 12 ++++++------ .../propertyeditor/propertyeditorvalue.cpp | 2 +- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp index bb80c2e2e1c..bd3994400ba 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstanceserver.cpp @@ -1221,7 +1221,15 @@ ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QVecto if (instance.isValid()) { QVariant propertyValue = instance.property(propertyName); - if (QMetaType::isRegistered(propertyValue.userType()) && supportedVariantType(propertyValue.type())) { + bool isValid = QMetaType::isRegistered(propertyValue.userType()) + && supportedVariantType(propertyValue.type()); + if (!isValid && propertyValue.userType() == 0) { + // If the property is QVariant type, invalid variant can be a valid value + const QMetaObject *mo = instance.internalObject()->metaObject(); + const int idx = mo->indexOfProperty(propertyName); + isValid = idx >= 0 && mo->property(idx).userType() == QMetaType::QVariant; + } + if (isValid) { valueVector.append(PropertyValueContainer(instance.instanceId(), propertyName, propertyValue, PropertyName())); } diff --git a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/LineEdit.qml b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/LineEdit.qml index 4e2b1a2c1af..93a0878d377 100644 --- a/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/LineEdit.qml +++ b/share/qtcreator/qmldesigner/propertyEditorQmlSources/imports/HelperWidgets/LineEdit.qml @@ -76,13 +76,13 @@ StudioControls.TextField { id: colorLogic backendValue: lineEdit.backendValue onValueFromBackendChanged: { - if (colorLogic.valueFromBackend === undefined) - return - - if (writeValueManually) { - lineEdit.text = convertColorToString(colorLogic.valueFromBackend) + if (colorLogic.valueFromBackend === undefined) { + lineEdit.text = "" } else { - lineEdit.text = colorLogic.valueFromBackend + if (writeValueManually) + lineEdit.text = convertColorToString(colorLogic.valueFromBackend) + else + lineEdit.text = colorLogic.valueFromBackend } __dirty = false } diff --git a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp index 6602cf36317..c37549e074a 100644 --- a/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp +++ b/src/plugins/qmldesigner/components/propertyeditor/propertyeditorvalue.cpp @@ -167,7 +167,7 @@ void PropertyEditorValue::setValue(const QVariant &value) fixAmbigousColorNames(modelNode(), name(), &m_value); fixUrl(modelNode(), name(), &m_value); - if (m_value.isValid() && !colorsEqual) + if (!colorsEqual) emit valueChangedQml(); emit isExplicitChanged(); From c6bc5583d6913f232e5c6f1343145b5fdeb746ef Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 28 Oct 2021 07:47:48 +0200 Subject: [PATCH 20/21] Utils: Don't expose FilePath::mapToGlobalPath anymore The indirection is triggered via scheme and host. And if it already is in that form we do not need to add these information. Change-Id: I13c2bd0864a956c5cdaa5e2e6b324bb7f67c93e3 Reviewed-by: David Schulz --- src/libs/utils/filepath.cpp | 15 +++------------ src/libs/utils/filepath.h | 2 -- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/libs/utils/filepath.cpp b/src/libs/utils/filepath.cpp index dadf791a61e..e17f140868d 100644 --- a/src/libs/utils/filepath.cpp +++ b/src/libs/utils/filepath.cpp @@ -819,15 +819,6 @@ FilePath FilePath::symLinkTarget() const return FilePath::fromString(info.symLinkTarget()); } -FilePath FilePath::mapToGlobalPath() const -{ - if (needsDevice()) { - QTC_ASSERT(s_deviceHooks.mapToGlobalPath, return {}); - return s_deviceHooks.mapToGlobalPath(*this); - } - return *this; -} - QString FilePath::mapToDevicePath() const { if (needsDevice()) { @@ -1182,11 +1173,11 @@ QString FilePath::calcRelativePath(const QString &absolutePath, const QString &a */ FilePath FilePath::onDevice(const FilePath &deviceTemplate) const { - if (!deviceTemplate.needsDevice()) - return mapToGlobalPath(); const bool sameDevice = m_scheme == deviceTemplate.m_scheme && m_host == deviceTemplate.m_host; + if (sameDevice) + return *this; // TODO: converting paths between different non local devices is still unsupported - QTC_CHECK(!needsDevice() || sameDevice); + QTC_CHECK(!needsDevice()); FilePath res; res.m_scheme = deviceTemplate.m_scheme; res.m_host = deviceTemplate.m_host; diff --git a/src/libs/utils/filepath.h b/src/libs/utils/filepath.h index da5ca921bbc..7cb5b9f2b84 100644 --- a/src/libs/utils/filepath.h +++ b/src/libs/utils/filepath.h @@ -162,8 +162,6 @@ public: QDir::Filters filters = QDir::NoFilter, QDirIterator::IteratorFlags flags = QDirIterator::NoIteratorFlags) const; - [[nodiscard]] FilePath mapToGlobalPath() const; - // makes sure that capitalization of directories is canonical // on Windows and macOS. This is rarely needed. [[nodiscard]] FilePath normalizedPathName() const; From fdfc558946a2e0d4322de82d60cbf9137eb64cd4 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 27 Oct 2021 16:23:22 +0200 Subject: [PATCH 21/21] ProjectExplorer: Use FilePath for CustomExecutableRC::executable ... and clean up #includes. Change-Id: Ia9c4c1d366b633e1cd017eabd07244891ab7ca57 Reviewed-by: Christian Kandeler --- .../customexecutablerunconfiguration.cpp | 33 +++---------------- .../customexecutablerunconfiguration.h | 2 +- 2 files changed, 6 insertions(+), 29 deletions(-) diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp index c5e1c70ea67..80678ba841e 100644 --- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp +++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp @@ -25,32 +25,10 @@ #include "customexecutablerunconfiguration.h" -#include "abi.h" -#include "buildconfiguration.h" #include "devicesupport/devicemanager.h" -#include "environmentaspect.h" #include "localenvironmentaspect.h" -#include "project.h" -#include "runcontrol.h" #include "target.h" -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - using namespace Utils; namespace ProjectExplorer { @@ -86,9 +64,9 @@ CustomExecutableRunConfiguration::CustomExecutableRunConfiguration(Target *targe setDefaultDisplayName(defaultDisplayName()); } -QString CustomExecutableRunConfiguration::rawExecutable() const +FilePath CustomExecutableRunConfiguration::executable() const { - return aspect()->executable().toString(); + return aspect()->executable(); } bool CustomExecutableRunConfiguration::isEnabled() const @@ -116,16 +94,15 @@ Runnable CustomExecutableRunConfiguration::runnable() const QString CustomExecutableRunConfiguration::defaultDisplayName() const { - if (rawExecutable().isEmpty()) + if (executable().isEmpty()) return tr("Custom Executable"); - else - return tr("Run %1").arg(QDir::toNativeSeparators(rawExecutable())); + return tr("Run %1").arg(executable().toUserOutput()); } Tasks CustomExecutableRunConfiguration::checkForIssues() const { Tasks tasks; - if (rawExecutable().isEmpty()) { + if (executable().isEmpty()) { tasks << createConfigurationIssue(tr("You need to set an executable in the custom run " "configuration.")); } diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.h b/src/plugins/projectexplorer/customexecutablerunconfiguration.h index d7d90193bc5..c504658796a 100644 --- a/src/plugins/projectexplorer/customexecutablerunconfiguration.h +++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.h @@ -46,7 +46,7 @@ private: Tasks checkForIssues() const override; void configurationDialogFinished(); - QString rawExecutable() const; + Utils::FilePath executable() const; }; class CustomExecutableRunConfigurationFactory : public FixedRunConfigurationFactory