summaryrefslogtreecommitdiffstats
path: root/src/corelib/doc
Commit message (Collapse)AuthorAgeFilesLines
* Android: bump Android target API level to 36Rami Potinkara5 hours1-2/+2
| | | | | | | | | | | | | | | This patch updates -Target API level to 36 into build tools -Target API level to 36 in build.gradle files -Target API level to 36 and build tools to 36 for auto tests -SDK Build tool revision according to minimum supported API level to 28.0.3 (Android 9) from 23.0.2 (Android 6) Task-number: QTBUG-138551 Task-number: QTBUG-138549 Pick-to: 6.11 6.10 6.8 Change-Id: I1b50f91669afb4b096c8924dbcc24f6333ef3166 Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
* Doc: Use a styled SVG image instead of a PNG for a model index diagramDavid Boddie7 hours1-0/+99
| | | | | | | This should adapt to dark themes in browsers and in Qt Assistant. Change-Id: I198031455b78fc12d69824de0af4fa7bed46f8a1 Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
* Doc: Update model/view diagrams to use styled SVG filesDavid Boddie15 hours4-0/+554
| | | | | | | These should adapt to a dark theme online and in Qt Assistant. Change-Id: Id47998e2ecf8050777ec525acfa1205e970e6906 Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
* Doc: Add styled SVG versions of PNG diagramsDavid Boddie15 hours6-0/+486
| | | | | | | These should adapt to a dark theme online and in Qt Assistant. Change-Id: Ic3270969c38c247509b10da86f4b4704aad63636 Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
* Doc: Use SVGs instead of PNGs with support for basic SVG renderersDavid Boddie40 hours3-37/+82
| | | | | | | This should help SVG rendering in less capable browsers. Change-Id: I0760e6b87be03b16cb24369fbda99235b35081a6 Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
* Doc: Update STL-style iterator diagram to use a styled SVG fileDavid Boddie40 hours2-1/+91
| | | | | Change-Id: If1231a74ce5c7ea9099d8a817024d7f0c49d23bf Reviewed-by: Andreas Eliasson <andreas.eliasson@qt.io>
* CMake: Un-TP QT_TARGETS_FOLDERJoerg Bornemann3 days1-1/+0
| | | | | | | | [ChangeLog][CMake] QT_TARGETS_FOLDER has been taken out of technical preview. Change-Id: I48252087082213e582a3cefcde284e5e87e679ff Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Un-TP QT_RESOURCE_PREFIXJoerg Bornemann3 days1-1/+0
| | | | | | | | [ChangeLog][CMake] QT_RESOURCE_PREFIX has been taken out of technical preview. Change-Id: I78333f81bb7030ba3dc280f0d65fb595e01c8dbe Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Un-TP deployment variablesJoerg Bornemann3 days1-2/+0
| | | | | | | | [ChangeLog][CMake] The variables QT_DEPLOY_SUPPORT and QT_ENABLE_VERBOSE_DEPLOYMENT have been taken out of technical preview. Change-Id: Ie05d671933271126205c1710d76217de5d2d4d97 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Un-TP qt_finalize_projectJoerg Bornemann3 days1-1/+0
| | | | | | | | | | The command has matured enough by now. [ChangeLog][CMake] qt_finalize_project has been taken out of technical preview. Change-Id: If465cb229709b5e5efbaf71e41c655d2860bdc9f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Un-TP qt_extract_metatypesJoerg Bornemann3 days1-1/+0
| | | | | | | | | | The command was introduced in 6.0 and has matured enough. [ChangeLog][CMake] qt_extract_metatypes has been taken out of technical preview. Change-Id: Ic5825ade24e6e49b01d6d09a871968b7bf4bd0c2 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Un-TP qt_deploy_translationsJoerg Bornemann3 days1-1/+0
| | | | | | | | | | The command was introduced in 6.5 and has matured enough. [ChangeLog][CMake] qt_deploy_translations has been taken out of technical preview. Change-Id: I3823753489b80508a8a805d2e34c3df2e923975c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Extend QT_ANDROID_DEPLOYMENT_TYPE documentationJoerg Bornemann6 days1-0/+4
| | | | | | | | Explain where to set the variable. Task-number: QTBUG-121706 Change-Id: Iebe2fe2f36b7ec3706549869c85f485a67d28156 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Remove unreferenced and broken \externalpage entryJerome Pasion7 days1-5/+0
| | | | | | | | | | | -Some URLs give 404 -Some bugreports were resolved in Qt 5.1x -Some URLs no longer referenced in Qt 6 Task-number: QTBUG-142088 Pick-to: 6.11 Change-Id: Ic4ae92b3f74ce6f62484453b8943d6b149269bc3 Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* CMake: Un-TP the QT_ANDROID_DEPLOYMENT_TYPE variableJoerg Bornemann9 days1-1/+0
| | | | | | | | As discussed in the API review for Qt 6.7. Task-number: QTBUG-121706 Change-Id: Ib5f1bfe3e549ce8d2923a89f735958cc6e207a2f Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* QMetaProperty: Introduce VIRTUAL, OVERRIDE attributesDmitrii Akshintsev14 days2-4/+14
| | | | | | | | | | [ChangeLog][QML] VIRTUAL and OVERRIDE attributes will be used for the expanded override semantics in QML. See QTBUG-98320 for the details. Task-number: QTBUG-98320 Change-Id: I56826a6b9158c0beeb58ad1564a58c22f15027bf Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Document QFuture::cancelChain() limitationsIvan Solovev2025-12-041-0/+24
| | | | | | | | | | | Explicitly mention that cancelChain() cannot cancel a nested QFuture once the related computation has started. The user needs to explicitly capture and cancel the nested future instead. Task-number: QTBUG-140786 Pick-to: 6.10 Change-Id: Icc629071659a5833f7e9b55c640fd9920b6bd8a9 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add QRangeModelAdapter: C++-style access to the range while talking QAIMVolker Hilsheimer2025-12-042-0/+367
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a QRangeModel represents a C++ range, then the C++ range must no longer be modified directly, as clients of the model won't be notified about data or structural changes. Ignoring this (documented) warning might end up with views not presenting the data correctly, or even result in crashes as the model cannot update QPersistentModelIndex instances. Modifying the range through the QAbstractItemModel API is ok, but clumsy, as it requires dealing with QModelIndex and QVariant for basic operations. QRangeModelAdapter provides an easy, type safe, and data-structure aware API for reading and also modifying a range that a QRangeModel operates on. This includes an interator API for rows, and - unless the range is a list - columns. Dereferencing row iterators yields a row reference type from which a row can be accessed for reading, or that a new row can be assigned to. Dereferencing a const column iterator yields an item; dereferencing a mutable column iterator yields a reference type that a new item value can be assigned to. Since QRangeModel itself is not a template class (so we don't know the type of the range anymore once it has been created), we have to create the adapter from the range (and optional protocol), which then implicitly creates the model. Constructing the adapter implicitly constructs the model, which is owned by the adapter. QRangeModelAdapter is a value type, using std::shared_ptr for the model so that all copies of the adapter operate on the same model. To be able to set entire multi-role objects as items, introduce a new Qt::ItemDataRole enum value, Qt::RangeModelAdapterRole. This is very similar to Qt::RangeModelDataRole, but QML has specific requirements that QRangeModelAdapter doesn't have, and we want to pass items back and forth without modifying their value category - ie. an item that is a shared_ptr<Object> is not useful for QML (which needs an Object *), but a C++ user expects to get a shared_ptr<Object> from a call to at(), and also expects to be able to set such an item. The code has room for de-duplicating some logic in follow-up commits. [ChangeLog][Core] Added QRangeModelAdapter for C++-style access to a range used in a QRangeModel, while implementing QAbstractItemModel protocol. Change-Id: I3f2f94cb51b850100590fbe2c9a7c9dabbec59bd Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
* Core: Provide non-broken metacontainer iterablesUlf Hermann2025-12-021-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QSequentialIterable and QAssociativeIterable are incapable of providing operator[] on their iterators because the references used by those iterators are not actually stable when the iterator is modified. The only way to fix this in a binary compatible way is to provide a complete set of new iterables and iterators. These are implemented in qmeta{association|sequence}.h and exposed through QMeta{Association|Sequence}::Iterable. In order to give users a convenient way to include those, we instruct syncqt to regard qmeta{association|sequence}.h as header to use in order to provide QMetaSequence and QMetaAssociation. These headers are the natural choice anyway. qmetacontainer.h still has to hold the (now incomplete) declarations for QMetaSequence and QMetaAssociation so that we remain source compatible. The new iterables offer a more consistent set of accessor methods and deprecate some of the old accessor methods. It makes little sense to add or remove a value from/to an iterable at an unspecified place. The new sequential iterable offers the more familiar append/prepend and removeFirst/removeLast methods. Finally, the new iterables warn when taking a slow code path that synthesizes operations not avaible on the actual container using iterators. There generally is a reason for those operations to not be available and we shouldn't second-guess the choices made by the authors of the container. For now, we have to keep those code paths intact to remain compatible with QSequentialIterable and QAssociativeIterable. Task-number: QTBUG-140181 Change-Id: I2f4c32716951fa023ae1fb8028d1a87e4c85c3a0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* JNI: document the JObject type, remove TECH_PREVIEW_API tagsVolker Hilsheimer2025-12-021-5/+5
| | | | | | | | | | | | | The JObject(Base) types have been around for a while now, and are heavily used in Qt code. We can be confident that they work. Add documentation for the JObject helper type. The JObjectBase type has no public usage, it's just a technicality that takes care of type-independent implementations. Document it as internal. Fixes: QTBUG-141156 Change-Id: Ia6567e10dc57a022beb3d3aff0420b2b9b9f6b2f Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Docs: Add note about need for <!-- %%INSERT_PERMISSIONS -> in ManifestSheree Morphett2025-11-281-0/+4
| | | | | | | | | | | Added a note to the qt_add_android_permission documentation clarifying the need for INSERT_PERMISSIONS to be present for it to work with the API. Fixes: QTBUG-138568 Pick-to: 6.8 6.10 Change-Id: Ibb7a5594ae731f3c64582ea27db329a582a94d5b Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
* Add public interface for dynamic feature java binariesLauri Pohjanheimo2025-11-271-0/+30
| | | | | | | | | | | Dynamic Feature functionality requires java classes in jni interface to enable google play feature delivery functionality. This function adds public interface to add java source folder to the build. Task-number: QTBUG-124600 Change-Id: I77e87f752cfb74b734dc34470e39b279d11868a6 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Make Qt Core examples accessible from the TOC treeAlexei Cazacov2025-11-262-1/+15
| | | | | | Pick-to: 6.10 Change-Id: I16544e9e64f9ef4b43cbd40ad4dd2bc3c30173d4 Reviewed-by: Topi Reinio <topi.reinio@qt.io>
* Fix no-gui developer buildJoerg Bornemann2025-11-251-1/+1
| | | | | | | | The eventfilters doc snippet needs at least Qt Gui. Put its add_subdirectory call into a QT_FEATURE_gui check scope. Change-Id: I6c79ccd0f4d668e353584b61b6ff8c1898d50962 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Remove the old qatomicscopedvaluerollback_p.h from QtCoreDocRym Bouabid2025-11-201-1/+0
| | | | | | | | | | QAtomicScopedValueRollback became a public API in 6.7. ammends 4fa9f13397abf5da44a0fbd70692fa2c8f79ac13. Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-115107 Change-Id: I0d0069b0403ef5109b7f9ead175a18b45b1cea30 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Add styled SVG versions of PNG diagramsDavid Boddie2025-11-053-2/+124
| | | | | Change-Id: I6ef2f7f8f88f6019cfba98d7d45c5cc1b7d0cc82 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* doc: Highlight valid code and fix title spellingDavid Boddie2025-11-041-2/+2
| | | | | | | | | | | One of the example snippets was marked with \badcode when it seems to illustrate the correct way to implement a setter. A subsection title used the plural when it could have been avoided. Pick-to: 6.10 Change-Id: Iaf26dc0f50d9d945dea27549d610d2ba20919e0d Reviewed-by: Patrick Stewart <patstew@gmail.com> Reviewed-by: David Boddie <david.boddie@qt.io>
* Doc: Fix CMake snippet on how to import Qt6*PrivateKai Köhne2025-10-161-2/+1
| | | | | | | | | | | | Commit e120fb78c94124fac0f9d381875c9de0721108ba does change the CMake API so that public Qt modules don't provide the targets of their private counterparts anymore. Adapt the snippets shown for CorePrivate, GuiPrivate accordingly. Pick-to: 6.10 Task-number: QTBUG-141152 Change-Id: I357f1e737e431c8e111dca2594b886e7567983cc Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Doc: Fix instructions on how to use CorePrivateAlexei Cazacov2025-10-151-1/+1
| | | | | | | | | This commit fixes the cmake instructions for the CorePrivate use. Fixes: QTBUG-141173 Pick-to: 6.10 Change-Id: Ie572048c1a45df2369e022ead0e43c6660c30bf5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Replace PNG files with styled SVG filesDavid Boddie2025-10-102-1/+97
| | | | | | | This makes diagrams respond better to different browser themes. Change-Id: I6f72515b769d8ef7e7364c3c4b0ba3dbabc48904 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* (QRect) Diagram not readable in black mode fixEren Bursali2025-10-092-0/+0
| | | | | | | | | | | Fixing image "qrect-unite.png" being unreadable in black mode in "https://doc.qt.io/qt-6/qrect.html#details" by adding a white background to the image Fixes: QTBUG-140872 Pick-to: 6.10 Change-Id: I629a5a454a59f2a70abcdf77d7d404f6ff4efe39 Reviewed-by: Kai Köhne <kai.koehne@qt.io>
* Prefer using namespace Qt::StringLiteralsMarc Mutz2025-10-042-2/+2
| | | | | | | | | | | | | | | | | ... over Qt::Literals::StringLiterals. The latter works, but is needlessly verbose. Since such code is copy'n'pasted, use the preferred form everywhere, to avoid proliferation. The docs have been fixed to suggest the shortcut in a separate commit. As a drive-by, move them to their preferred location, after the QT_BEGIN_NAMESPACE, but only if they were far away to begin with. Pick-to: 6.10 6.8 6.5 Change-Id: I0325f749f3b5a331d9c6af458a9bd3bb70d4aa3b Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Doc: Extend example on QT_DEPLOY_QML_DIR documentation pageJoerg Bornemann2025-09-303-2/+32
| | | | | | | | | | | Make the example a QtQuick app that uses QT_DEPLOY_QML_DIR implicitly. Remove the modification of QT_DEPLOY_QML_DIR from the non-QtQuick example. Pick-to: 6.10 Fixes: QTBUG-121879 Change-Id: I4bf7afe85273cf1162d8bb27277b16cc9f664e6c Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Document qt_generate_deploy_script(... NO_PLUGINS)Joerg Bornemann2025-09-301-0/+2
| | | | | | | | | The NO_PLUGINS option was not documented. This amends commit f2ac985d2fce25c073dbaeb0d2f4c836ef30cbc6. Pick-to: 6.10 Change-Id: I2c9ce2bd1d5fcdc814ba979a759e8a339900668b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Fix an image that is hard to read in dark modeAlexei Cazacov2025-09-172-1/+1
| | | | | | | Fixes: QTBUG-139040 Pick-to: 6.10 6.9 6.8 Change-Id: I04a3dea2c7f5e9850d4d3f7b557021753dd87268 Reviewed-by: Mats Honkamaa <mats.honkamaa@qt.io>
* Doc: Update multi-threading doc titlePaul Wicking2025-09-161-1/+1
| | | | | | | | | | | | Change title from "Thread Support in Qt" to "Multi-threading in Qt" to use more modern and precise terminology. Add target directive to preserve possible existing links and update all cross-references across the codebase. Task-number: QTBUG-140178 Pick-to: 6.10 6.10.0 6.9 6.8 Change-Id: If3457a811d71fa17e29cf5d5886fda11951c2862 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
* Fix corelib snippet compilationIvan Solovev2025-09-121-1/+0
| | | | | | | | | | | | | | The src_corelib_thread_qexception.cpp snippet was added twice: * first time - unconditionally * second time - properly guarded by QT_FEATURE_concurrent Keep only the second addition of this file, which is properly guarded. Amends c1889bd953892428a474822168c10a4f983fb3ae. Change-Id: I1efcbd266e8b6d355d8083b2f74346af667d3b8b Reviewed-by: Oleksii Zbykovskyi <Oleksii.Zbykovskyi@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* wasm: Fix corelib snippetsPiotr Wiercinski2025-09-112-10/+18
| | | | | | | Change-Id: Ifaf2c6dd3ff5c97f9c7eef71d397ee8d58cdb4c4 Reviewed-by: Even Oscar Andersen <even.oscar.andersen@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Oleksii Zbykovskyi <Oleksii.Zbykovskyi@qt.io>
* Doc: Modernize QHash iterator documentationPaul Wicking2025-09-091-2/+18
| | | | | | | | | | | | | | | | | | | | | | Promote STL-style iterators as the primary way to iterate over QHash. Replace the detailed explanation with direct guidance to use QHash::asKeyValueRange, and move Java-style iterators to a brief compatibility note. Update snippets to: - Show C++17 structured bindings with std::as_const(hash).asKeyValueRange() (add <utility> header std::as_const). - Add STL-style iterator example for manual control. - Add example for modifying values in place. This makes the docs clearer, const-correct, and aligned with modern C++ usage. Fixes: QTBUG-139662 Pick-to: 6.10.0 6.10 6.9 6.8 Change-Id: Ifb9698b93ca53c3c6a7c82b0f1d393105cd62f35 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Docs: Add link targets to public Java class docs defined in qtbaseNicholas Bennett2025-09-031-0/+27
| | | | | | | | | | Created a qdoc file for this, so it's easier to find, and not confused with "externally" created content. Task-number: QTBUG-127747 Pick-to: 6.10 6.9 6.8 Change-Id: I3c13d4a300b59e650da84ef0e8f259021888ef10 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
* Doc: Clarify description of overloaded slotsPaul Wicking2025-09-021-4/+5
| | | | | | | | | | | Reword a paragraph to emphasize type safety of signals and slots, explain the difference from traditional callbacks, and how to handle overloaded functions. Improves clarity. Based on review feedback. Task-number: QTBUG-89600 Pick-to: 6.10 6.9 6.8 Change-Id: I976a74860b8d9faea4f6ffcf994fe8f0f5d1df7d Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Doc: Add overload connection examples to signals/slotsPaul Wicking2025-09-021-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | The main signals and slots documentation mentions overloaded functions but lacks concrete examples of how to connect to specific overloads. Developers encountering overloaded signals like `QComboBox::currentIndexChanged()` may struggle with the syntax needed to disambiguate between different parameter versions. This change adds a dedicated section showing practical examples of connecting to overloaded signals and slots using qOverload(), static_cast, and lambda expressions. The examples demonstrate both signal and slot scenarios with real Qt classes, providing immediately applicable patterns for common development tasks. The section also covers automatic connection management, explaining how Qt handles object lifetime for different connection approaches. These additions provide the target destinations for QDoc's configurable overload links, creating a comprehensive reference that developers can rely on when working with overloaded Qt APIs. Task-number: QTBUG-89600 Pick-to: 6.10 6.9 6.8 Change-Id: I509deba831256ee68f129fa76389663585af77f1 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* QRM docs: clarify direct access to the range, add section on subclassingVolker Hilsheimer2025-08-291-0/+30
| | | | | | | | | | | | | | | Those two are related: if we really didn't allow direct access to the range after QRangeModel has been constructed, then subclassing would be practically impossible. We do allow it, as long as no view (or similar) operates on the model. Clarify that in the \note, and add a snippet showing how to subclass QRangeModel to build an encapsulated class that provides type- and structure-aware APIs. Pick-to: 6.10 Change-Id: I43836c750e372fd55c63bb75d89109524c87206c Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
* Fix snippet compilation in corelibIvan Solovev2025-08-294-10/+8
| | | | | | | | | | | | | | | | | | | | The snippets use deprecated APIs, so the compilation fails when building with QT_DISABLE_DEPRECATED_UP_TO set to a recent Qt version. Fix it by wrapping the relevant code in the proper #ifdefs. In QCoreApplication snippet, updeted QMouseEvent to use the modern API. Remove the foreach() examples from the QVariant docs, because the usage of foreach() is discouraged. Amends: * c1889bd953892428a474822168c10a4f983fb3ae for QDateTime snippets * 55dc3ddaa7523a3e470c98271ea55fc7d2f3c414 for qglobal snippets * d9251a64367e15f234718d9b3ed88d2f7bcfd0c6 for the rest Change-Id: Idba2c115e2efb66b4cec707296ddfc38de9f9d25 Reviewed-by: Oleksii Zbykovskyi <Oleksii.Zbykovskyi@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Doc: Adjust inline styling of .svg filesTopi Reinio2025-08-272-48/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, <style> elements were added to the SVG files in order to make them responsive to light/dark theme changes in the online documentation. For these two diagrams, the reuse of elements via <use> causes additional styling considerations; Browsers attach the cloned element(s) referenced by <use> under a separate 'shadow' DOM, making them inaccessible to normal CSS rule propagation. However, CSS inheritance still allows to control styling across the shadow DOM boundary. To fix, explicitly enable CSS inheritance of the `fill` and `stroke` attributes of copied elements, and apply theme-aware style to the referencing <use> element instead. Move the default `fill` and `stroke` attributes from the source elements into the <use> elements as well. This seems to fix CSS inheritance in Firefox. Amends 8643ae7a766b0f1c24d11d2dc64af6f23c307ad0. Pick-to: 6.10 Change-Id: I966c0a50500b86fc994476e85340d1171a5fc0eb Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
* CMake: Don't use private CMake API in doc snippetsAlexandru Croitor2025-08-215-52/+72
| | | | | | | | | | | | | | | | | | | Private CMake API like qt_internal_extend_target should not be used in public doc snippets. While most of the CMakeLists.txt doc snippets might not appear in the documentation right now, they might in the future (just like the CMake API doc snippets). In addition, using private CMake API for doc snippets targets causes issues with SBOM generation, because the original targets are not created with private API (e.g. qt_internal_add_module vs qt_add_library), and thus important sbom meta information is missing, causing errors at cmake configure time when sbom generation is enabled. Pick-to: 6.8 6.9 6.10 Change-Id: I2ef80f617ba8b745520408d22dd2e6be5ee4c5e0 Reviewed-by: Oleksii Zbykovskyi <Oleksii.Zbykovskyi@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* QDirListing: clarify that "name filters" use regular expressionsAhmad Samir2025-08-101-0/+15
| | | | | | | | | Also add a code snippet showing how filtering can be done by name using QString API, without regex. Pick-to: 6.10 6.9 6.8 Change-Id: Iee63da4590e4868f3dc3d8db0e99ba9bf64a4e0e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDirListing: add a QDirIterator to QDirListing porting guideAhmad Samir2025-08-102-0/+122
| | | | | | | Pick-to: 6.10 6.9 6.8 Task-number: QTBUG-138403 Change-Id: I3a7980c1a9b455f92722943b27034b02d2c203cc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Fix incorrect usage of \generatelistTopi Reinio2025-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | | The \generatelist command takes an optional argument that affect how the members are listed, for example, `classesbymodule` which creates an annotated list of the classes in a named C++ module. `groupsbymodule` is not recognized or documented. QDoc falls back to generating a list of all members of a group in this case. While the end result is correct, this relies on an undocumented feature that is likely to change and break. Replace these instances with an explicit \annotatedlist command that produces the same output. Pick-to: 6.10 Task-number: QTBUG-138901 Change-Id: I5d83c0e54daa1888beebb77d8391ea607b8464ed Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Update of doc snippet for implicit sharing exampleOleksii Zbykovskyi2025-08-043-23/+16
| | | | | | | | | Snippet 0 was uncompileable because of the QPenPrivate. Changed this snippet to the actual QPen implementation. And added priviously uncompilable file to the build system. Change-Id: I8c108f5c4982e26697a68a8a0ed8e3eee7b1019a Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>