summaryrefslogtreecommitdiffstats
path: root/src/xml
Commit message (Collapse)AuthorAgeFilesLines
* Move streambookmarks example into corelibe/serializationØystein Heskestad2023-03-313-31/+16
| | | | | | | | | | | | The stream-based XML serialization API resides in corelib/serialization. Move the steambookmarks example there. The Qt XML documentation is updated to no longer refer to this example code directly and refer to the direct location in the example documentation instead. Task-number: QTBUG-110647 Pick-to: 6.5 Change-Id: Id36fb04a6acb7b8d1eb008f61568fe0abc221e3d Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* src: Remove remains of qmake conversion from CMakeLists.txt filesFriedemann Kleint2023-02-101-2/+0
| | | | | | Pick-to: 6.5 Change-Id: Id644d322a602038403bb7f46c532744575fbf6d3 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* QDom: Don't reuse a moved-from objectMårten Nordheim2022-12-141-4/+5
| | | | | | | | | Code checker doesn't like that we simply assign to the moved-from object's member, so create a separate object to be nice. Pick-to: 6.5 Change-Id: I07c83cb051d87b33cc2d4f34078c50805c312ea6 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QDomDocument: ensure a defined order of attributes when savingGiuseppe D'Angelo2022-12-091-23/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XML does not impose any semantics based on the order of the attributes; they're an unordered set. Quoting [1]: > Note that the order of attribute specifications in a start-tag or empty-element tag is not significant and [2] 2.2.5: > An unordered set of attribute information items Still, using a QHash-based implementation to store attributes is annoying, because one cannot serialize the document in a stable way. The order of attributes is going to depend on the QString hash function (which we can change at any time) and the QHash seed (which is random and changes at every run). In other words, saving the same DOM will yield non deterministic outputs. That's annoying for testing, reproducible builds, and so on. Switching to an _ordered_ associative container for storing attributes won't, on its own, ensure any specific ordering. That's because: * attributes are currently kept associated using their name as the key, ignoring an eventual namespace prefix; * there's some convoluted logic that sometimes emits attributes in the xmlns namespace (to qualify a prefix). Hence, just go for the straightforward implementation and sort the attributes before streaming them. In the main loop I could have used a range-based for loop over the associative container used for attributes; since it's a Qt container, it would have yielded just the values in the map, and we are not interested into the keys. However I'm preparing for further changes down the road, so I'm opting for key/value iteration. I'm deliberately not offering an opt-out because: * I don't think this is so expensive to justify an opt-out; * I'm going to remove QHash anyways in a follow up commit. [1] https://www.w3.org/TR/xml11/#sec-starttags [2] https://www.w3.org/TR/xml-infoset/#infoitem.element Task-number: QTBUG-76800 Task-number: QTBUG-25071 Change-Id: I6282ae2ccbee9c0099f138de48b94bb7c40b3680 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QDomDocument: use .value() instead of dereferencing an iteratorGiuseppe D'Angelo2022-11-301-9/+9
| | | | | | | | | | | | Do not assume that, given an iterator into an associative container, you can write `*it`. Use `it.value()` instead. This is done in preparation for the next commit. Also, drop the const-prefix from functions (find, begin) where they operate on a const container already. Change-Id: I2cafc884666d98c240c2fdc661c9068c4c7319e1 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Port from container.count()/length() to size()Marc Mutz2022-10-041-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is semantic patch using ClangTidyTransformator: auto QtContainerClass = expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o) makeRule(cxxMemberCallExpr(on(QtContainerClass), callee(cxxMethodDecl(hasAnyName({"count", "length"), parameterCountIs(0))))), changeTo(cat(access(o, cat("size"), "()"))), cat("use 'size()' instead of 'count()/length()'")) a.k.a qt-port-to-std-compatible-api with config Scope: 'Container'. <classes> are: // sequential: "QByteArray", "QList", "QQueue", "QStack", "QString", "QVarLengthArray", "QVector", // associative: "QHash", "QMultiHash", "QMap", "QMultiMap", "QSet", // Qt has no QMultiSet Change-Id: Ibe8837be96e8d30d1846881ecd65180c1bc459af Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-233-3/+3
| | | | | | | Task-number: QTBUG-105718 Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QDomDocument: deprecate old setContent() overloads in favor of new onesSona Kurazyan2022-08-172-1/+22
| | | | | | | | | | | | And use the new overloads in examples and tests. [ChangeLog][QtXml][QDomDocument] Deprecated the old setContent() overloads in favor of the new ones that take ParseOptions and ParseError. Task-number: QTBUG-104507 Change-Id: I61b37eba2fe3002c03bddc90f6877676d539f7ec Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDomDocument: Add a way to enable spacing-only text nodesSona Kurazyan2022-08-045-8/+26
| | | | | | | | | | | | | | | | Added a parse option that can be passed to setContent(), to specify that spacing-only text nodes must be preserved. [ChangeLog][QtXml][QDomDocument] Spacing-only text nodes can now be preserved by passing the ParseOption::PreserveSpacingOnlyNodes option to setContent(). Fixes: QTBUG-104130 Fixes: QTBUG-89690 Task-number: QTBUG-90003 Change-Id: Id43730ce5b79a856c4b434d1f1d4dd7c49c25f31 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDom: use QDomDocument::ParseResult for storing the error infoSona Kurazyan2022-08-033-26/+9
| | | | | | | | | | | | And use the new struct as a result type for error getters instead of std::tuple. The line and column numbers, therefore, grow to qsizetype instead of int. As a drive-by, make the getters inline. Change-Id: Iad652063af2c9183cb60f27320c2a800ae28ba36 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Improve QDomDocument::setContent() APISona Kurazyan2022-08-035-65/+235
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added new setContent() overloads, that: - take parameter of new ParseOptions enum type for specifying the parse options that can be used for enabling namepsace processing and, in future, whitespace-only text nodes, etc. - use ParseResult for returning the information about error message, line and coulmn number, instead of three parameters for each. - use QAnyStringView for a QString input data. To avoid ambiguities when calling setContent() with one argument, removed the default argument for errorString from all the overloads. [ChangeLog][QtXml][QDomDocument] Added new setContent() overloads that allow specifying different parse options through ParseOptions flags. These overloads use a new ParseResult struct for returning the information about an error, and QAnyStringView for passing string input. [ChangeLog][QtXml][QDomDocument][Potentially Source-Incompatible Changes] setContent() overloads that take only one argument now return ParseResult instead of a bool. ParseResult explicitly converts to bool, so the expressions calling setContent() with one argument will continue compiling, if they are contextually convertible to bool. If an implicit convertion is required (e.g. bool b = doc.setConetnt(data)), the result needs to be explicitly converted to bool first (e.g. bool b = bool(doc.setConetnt(data)). Task-number: QTBUG-104507 Change-Id: If6a78f8c9b1458f0e3ae719bfd3703a0b965449c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Add license headers to cmake filesLucie Gérard2022-08-033-0/+9
| | | | | | | | | | | | CMakeLists.txt and .cmake files of significant size (more than 2 lines according to our check in tst_license.pl) now have the copyright and license header. Existing copyright statements remain intact Task-number: QTBUG-88621 Change-Id: I3b98cdc55ead806ec81ce09af9271f9b95af97fa Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Doc: Remove non-existing directories from qtxml.qdocconfKai Köhne2022-07-221-3/+0
| | | | | Change-Id: Id34d1620ff5beeaee6cc308ea9e8a0a2233febe7 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Document protected variable as internalKai Köhne2022-07-221-0/+6
| | | | | | | | | Fixes qt5/qtbase/src/xml/dom/qdom.h:200: (qdoc) warning: No documentation for 'QDomNode::impl' Task-number: QTBUG-105091 Change-Id: Ib4341aac7f01878bf63dab07d6905cb1efee5123 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QDomDocument: add a missing full-stop to a warning messageSona Kurazyan2022-07-121-2/+2
| | | | | | Change-Id: I3c44afa466cbcb12fc0b44ad8bd1b52ded5f4ddd Pick-to: 6.4 6.3 6.2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QDomDocument: fix the formatting of setContent() declarationsSona Kurazyan2022-07-121-6/+6
| | | | | Change-Id: I4f6c29b2c6b8887aaf380b0c7963be2cd0b877e9 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QDom: Use the default for assignment operators in QDom* classesSona Kurazyan2022-07-051-53/+14
| | | | | | | | | | | These classes are all derived from QDomNode, and their assignment operators are directly or indirectly calling the ones from QDomNode by explicitly converting to it. We can just use the default assignment operators instead. Change-Id: I1e3d4eef2188d124e5d54a909eb18bb93ddaa110 Pick-to: 6.4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDomDocument: some doc fixesSona Kurazyan2022-07-051-8/+4
| | | | | | | | | | | - removed outdated docs about QXmlParseException (a leftover from SAX-based implementation) - replaced 0 with nullptr - fixed a typo Change-Id: I96362be8bb6a5f1b23eb8999416b6b04228e0a5f Pick-to: 6.4 6.3 6.2 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Add QDom internalSubset implementationYe ShanShan2022-06-232-0/+34
| | | | | | | | | | | | QDom's internalSubset() always returned empty because nothing actually set the internal data member it returns. When parsing the DECLTYPE, extract the internal subset and save it to the doctype()'s member when present. Pick-to: 5.15 6.2 6.3 6.4 Fixes: QTBUG-53661 Change-Id: I6e41ff8b914381168246073b3289d82205b1c255 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* QDom: Clean-up warnings about old-style cast usesSona Kurazyan2022-06-221-62/+66
| | | | | Change-Id: I7cf2089f34e46a901f8b03987feed24773a72c00 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QDom: Stop treating non-BMP characters as invalidSona Kurazyan2022-06-201-4/+5
| | | | | | | | | | | | | According to https://www.w3.org/TR/REC-xml/#NT-Char unicode characters within the range of [#x10000-#x10FFFF] are considered to be valid, so fix the check for valid characters accordingly. This requires changing the loop over the input QString to iterate over code points (instead of code units). Fixes: QTBUG-104362 Pick-to: 6.4 6.3 6.2 5.15 Change-Id: I7dcf5cad05265a54882807a50522d28b647e06ee Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Remove a misleading sentence from QDomDocument::setContent() docEdward Welbourne2022-06-171-3/+1
| | | | | | | | | | | | QXmlReader has been replaced by QXmlStreamReader and, either way, there is currently no way to over-ride the purging of space-only nodes. Task-number: QTBUG-103753 Pick-to: 6.4 6.3 6.2 Change-Id: I7bae72d81f1b2503f93c691081137b4f60eeadda Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Fix typos in docs and commentsKai Köhne2022-06-151-1/+1
| | | | | | | | | Found by codespell Pick-to: 6.4 Change-Id: Ie3e301a23830c773a2e9aff487c702a223d246eb Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-1618-678/+36
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* QtXml: replace QLatin1String uses with _L1 or _sSona Kurazyan2022-04-282-34/+37
| | | | | | | | | | As a drive-by, fix qsizetype -> int narrowing conversion warnings for the touched lines. Task-number: QTBUG-98434 Change-Id: I4f337501e4cf445ded75b414a41bbd85dfd38900 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QtXml: stop using QLatin1Char constructor for creating char literalsSona Kurazyan2022-04-272-26/+22
| | | | | | | | Required for porting away from QLatin1Char/QLatin1String in scope of QTBUG-98434. Change-Id: Ic3e2391dc104f9f4f580166ce4211040fbda7bb0 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QDom: optimize an atomic readMarc Mutz2022-04-061-1/+1
| | | | | | | | | | | | | | | | | | By the time setNodeValue() gets its hands on the removed object, the removeChild() function has already called removed->ref.deref(), which performs an acquire fence if the ref-count drops to zero. IOW: if removed->ref == 0 now, then an acquire fence has been executed. If ref != 0, then we're not reaching into removed, so we need no acquire. Therefore, a relaxed load suffices (as opposed to the loadAcquire() the implicit conversion operator performs). Found by disabling QAtomic<T> -> T implicit conversions. Change-Id: I367754fde0ad82db797161b5e94e2ebc08a90c0b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDom: preserve empty CDATA sectionsMarc Mutz2022-03-261-1/+1
| | | | | | | | | | | | Restores Qt 5 behavior. Fixes: QTBUG-101992 Pick-to: 6.3 6.2 Change-Id: I3b9fc077c0a0fd30f4fcce7bfa342dbe96b2c582 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QDom: remove uneeded toString()Marc Mutz2022-03-261-1/+1
| | | | | | | | | The trimmed() function is available on QStringView, too. Pick-to: 6.3 6.2 Change-Id: I0cfde56d910da5abbebfb57396b22a1d21bdf763 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Fix deprecated uses of QScopedPointerMårten Nordheim2022-03-081-7/+8
| | | | | | | | | By changing it to unique_ptr. Pick-to: 6.2 6.3 Change-Id: I91abb69445b537d4c95983ae735341882352b29d Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make sure all qtbase private headers include at least one otherThiago Macieira2022-02-242-3/+3
| | | | | | | | | | See script in qtbase/util/includeprivate for the rules. Since these files are being touched anyway, I also ran the updatecopyright.pl script too. Change-Id: Ib056b47dde3341ef9a52ffff13ef677e471674b6 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* Remove QXml* from bootstrap libJoerg Bornemann2022-02-091-4/+1
| | | | | | | | | Those classes are not used by any bootstrapped tool. Also remove the QT_BOOTSTRAPPED code paths. Change-Id: Ic5a9b153a578fedcba37cd81a62ccf0182a2d34f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Doc: Use find_package(Qt6 REQUIRED COMPONENTS ...) idiomKai Köhne2021-12-091-1/+1
| | | | | | | | | | Using REQUIRED as a prefix instead of suffix works better with OPTIONAL_COMPONENTS, and is also the order in the CMake manual. Task-number: QTBUG-98867 Pick-to: 6.2 Change-Id: I1ab68408b95d8edf06272a3b9fceccd8d8e597fc Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Remove leftovers for supporting SAX-based implenentation of QDomDocumentSona Kurazyan2021-11-263-66/+14
| | | | | | | | | | | | | | | | QXmlDocumentLocator was introduced, so that QDomBuilder can work with both QXmlStreamReader and QXmlInputSource. It had two subclasses - QDomDocumentLocator and QSAXDocumentLocator, to allow getting line and column numbers while parsing, depending on the implementation. QSAXDocumentLocator was removed when removing SAX-based implementation (79e0374143ab385cb12a17443e91c8eb9d2f3a4b), and now it doesn't make sense to keep QXmlDocumentLocator/QDomDocumentLocator, we can get line and column numbers form QXmlStreamReader directly. Change-Id: I75f4a776472ee31ddc3685a999f356be9bf47ac5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Doc: Replace use of \oldcode-\newcodeLuca Di Sera2021-11-251-2/+8
| | | | | | | | | | | The command-pair was recently deprecated. The replacement code should produce an output that is equal to the previous one. Task-number: QTBUG-98499 Change-Id: If26e0d85a174ebc3858b638c34d7f43637eab46d Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QDomDocument::setContent: Open device if necessaryFabian Kosmale2021-11-091-0/+16
| | | | | | | | | | | | This restores the Qt 5 behavior in Qt 6, but prepares for disabling it in Qt 7. We want to deprecate the current behavior, as it makes it unclear who is responsible for calling close. Fixes: QTBUG-97747 Pick-to: 6.2 Change-Id: I2c99eb96667e784576d8850085068ca334d75b16 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Doc: Enable qdoc warning count limitVenugopal Shivashankar2021-10-211-0/+3
| | | | | | | | This should restrict changes that introduce new warnings. Change-Id: I7e4b5d9d5d84b7c336509c380bc7e6d86e360f4a Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* xml: Fix typos in documentationJonas Kvinge2021-10-121-2/+2
| | | | | | Pick-to: 5.15 6.2 Change-Id: Ie2a4df380dc2e519a55db4457bd17e326e62046f Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* xml: Fix typos in source code commentsJonas Kvinge2021-10-123-7/+7
| | | | | | | Pick-to: 6.2 Change-Id: I33aaefec7128009ca5e1b368fdb67e2fbcd06e30 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Doc: Remove unsupported customFiltersKai Köhne2021-09-031-4/+0
| | | | | | | | | | | customFilters defined in .qdocconf are not supported anymore by Qt Assistant since Qt 5.13. Therefore remove them from all .qdocconf files, also to avoid cargo-culting them to new help modules. Task-number: QTBUG-95987 Change-Id: I664391460637d2e859348da0338e1a4a3ee9f570 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Migrate to autogenerated cpp exportsAlexey Edelev2021-06-252-13/+2
| | | | | | | | | Replace the hardcoded cpp exports with a generated one where it's applicable. Task-number: QTBUG-90492 Change-Id: Idc160b594987b2c765e75bd669aae851b4366282 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Remove old configure-related filesJoerg Bornemann2021-06-181-16/+0
| | | | | | | | | | | | | Remove the configure.json and configure.pri files that were used for the qmake-based configure. Remove the .prev_*.cmake files that were a by-product of configurejson2cmake.py. Pick-to: 6.2 Task-number: QTBUG-89536 Change-Id: Ie827562f7fd2513d59f69234d77b8b93124ea78e Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Use \deprecated instead of \obsoletePaul Wicking2021-05-261-1/+1
| | | | | | Task-number: QTBUG-93990 Change-Id: I4e512354a49dde6678ca89cabc56bc76ba666bb3 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* The condition 'if(oldChild)' is redundantZou Ya2021-03-031-4/+2
| | | | | | | | | | Either the condition 'if(oldChild)' is redundant or there is possible null pointer dereference: oldChild. Pick-to: 6.1 Change-Id: I28971cfa33294679ddd325158669b422b3a1c2eb Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Doc: Fix warnings about wrong snippet path or missing .pro fileNico Vertriest2021-02-191-0/+3
| | | | | | Task-number: QTBUG-91147 Change-Id: I6a55b2b713dd70cf1cbb0b93a8d4152e175e2c4d Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Remove the qmake project filesJoerg Bornemann2021-01-073-34/+0
| | | | | | | | | | | | | | | | Remove the qmake project files for most of Qt. Leave the qmake project files for examples, because we still test those in the CI to ensure qmake does not regress. Also leave the qmake project files for utils and other minor parts that lack CMake project files. Task-number: QTBUG-88742 Change-Id: I6cdf059e6204816f617f9624f3ea9822703f73cc Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Doc: Clean up changes to Qt XML docsPaul Wicking2020-12-151-15/+12
| | | | | | | | | | | | * Remove heading that causes QDoc's autolinker to link incorrectly. * Clean up language a bit while at it. * Drop a double space. Fixes: QTBUG-89283 Pick-to: 6.0 Change-Id: Ice778d66deab384b66eb50b790670c9e3c8b0e84 Reviewed-by: Andreas Buhr <andreas.buhr@qt.io> Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
* Add qt5compat as a dependency to qtxml documentationAndreas Buhr2020-12-021-1/+1
| | | | | | | | | | | QXmlSimpleReader was moved to qt5compat. In the qt6 migration guide, we would like to point to it. This patch adds qt5compat to the dependencies of QtXml documentation in order to be able to do this. Task-number: QTBUG-88533 Pick-to: 6.0 Change-Id: Ifaad595862b80d31310ed594e21168cec56133a0 Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
* Doc: Use explicit linkage with target_link_librariesKai Koehne2020-11-301-1/+1
| | | | | | | | | | | | | | The Professional CMake book suggests always using explicit linkage with target_link_libraries, so let's use that. Whether to use PUBLIC or PRIVATE depends on the context. But let's be conservative and advise on using PRIVATE by default. Task-number: QTBUG-88935 Pick-to: 6.0 Change-Id: I12b80ee85be9f6916f1e4dea6b1c9cb29e03c20f Reviewed-by: Craig Scott <craig.scott@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Deprecate QScopedPointer::take()Giuseppe D'Angelo2020-11-201-2/+3
| | | | | | | | | | | | | | | | | | | We've decided that QScopedPointer shouldn't be movable, because it would break the semantics of being "scoped" (the pointer/pointee won't survive the scope). Then, QScopedPointer shouldn't allow for take() either. If you need those semantics, reach for unique_ptr. [ChangeLog][QtCore][QScopedPointer] The take() function has been deprecated. This was an API mistake, as it allowed the pointer/pointee to escape from the scope, defeating the point of the QScopedPointer class. If you need such semantics, use std::unique_ptr (and call release()). Change-Id: I3236f085f763b04eb98e3242abc06f7c54fb3d8b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>