summaryrefslogtreecommitdiffstats
path: root/src/gui/accessible
Commit message (Collapse)AuthorAgeFilesLines
* Make sure all qtbase private headers include at least one otherThiago Macieira2022-02-241-1/+2
| | | | | | | | | | 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>
* Respect AT_SPI_BUS_ADDRESS env var on LinuxPatrick Griffis2022-02-171-0/+8
| | | | | | Change-Id: Ic277b5ebe2d752360cebdb2ff728ca219f9d7124 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
* Remove documentation of non-existing QAccessible stateAllan Sandfeld Jensen2022-02-111-1/+0
| | | | | | | | invalidEntry is commented out Pick-to: 6.3 6.2 5.15 Change-Id: Iffb661ec85b1b633f56c9aba94c1f0727a93c987 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* qaccessible: Split QAccessible into own headerFabian Kosmale2022-02-093-383/+456
| | | | | | | | | | | | | | | | | | | | qaccessible.h includes quite a few heavy headers. While QAccessibleEvent and QAccessible can be forward declared, the enums in QAccessible cannot. By moving QAccessible into its own lightweight header, we can significantly reduce the cost of using the enums. qaccessible.h still includes qaccessible_base.h, and the syncqt rules are adjusted to ensure that this changes is source compatible. Additionally, we no longer include cstdlib, as we only need cstring. [ChangeLog][Potentially Source-Incompatible Changes] <QAccessible> no longer includes <stdlib.h>. This might break code that relied on transitive includes. Task-number: QTBUG-97601 Change-Id: I15fbd9c85f5746885f9e89eabfc6d07b9bb1f968 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Doc: Use \inmodule for all classes and headersTopi Reinio2022-01-172-0/+3
| | | | | | | | | | | | | | | QDoc made some assumptions about the module a class/header belongs to, based on the source file path. This feature is rather error-prone and unnecessarily complex and will be removed from QDoc. Define modules explicitly to avoid documentation warnings when this removal happens. Pick-to: 6.2 6.3 Change-Id: I7947d197db5ac36c12e816caa19bb2f74eda8849 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
* gui: Fix typos in documentationJonas Kvinge2021-10-121-4/+4
| | | | | | Pick-to: 5.15 6.2 Change-Id: I533f5a55cd0cd60a76990b552d7dab51a301ac1c Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Accessibility Linux: Fix caps lock stateSamuel Thibault2021-09-282-10/+8
| | | | | | | | | | | | | | | | | Currently in QSpiApplicationAdaptor::eventFilter, the ATSPI_MODIFIER_SHIFTLOCK flag (actually capslock modifier) only set when the capslock key is kept pressed, not when the capslock modifier is enabled. Orca however really needs to know the capslock modifier state, to be able to properly determine whether to enable/disable capslock when the user presses double-capslock. Task-number: QTBUG-84225 Pick-to: 6.2 5.15 5.12 Change-Id: I98ab8b7261c5560ebad49410b1358b2279080ec8 Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* gui: accessible - silence int conversion warningTim Blechmann2021-06-171-4/+4
| | | | | | | | | | msvc2019 emits: warning C4244: 'argument': conversion from 'qsizetype' to 'int', possible loss of data Change-Id: I286c0d453f69654ba58f071aee28e557b9f9058d Pick-to: 6.1 6.2 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Add QAccessibleHyperlinkInterfaceJan Arve Sæther2021-06-032-1/+56
| | | | | | | | This is needed in order to support hyperlinks in text content. Task-number: QTBUG-67878 Change-Id: I1e990a5db8f0cf78e5cdcec7359e5aabffe42e3d Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QTestAccessible: Clear objects in EventList when deletedFabian Kosmale2021-05-231-0/+1
| | | | | | | | | | | | | | The list persists events, which reference objects. Those objects might get deleted by the time we investigate the objects. We cannot change the event to store a QPointer for BIC reasons, and for normal usage of the events, that doesn't make sense either. Instead, connect the objects destroyed signal to a lambda which clears the events' object member. In order to access the private member, we befriend the test class. Change-Id: I036be7053dccde4bdf862173789564e89d729ee1 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* a11y: Do not cache classes that don't have a factory pluginJan Arve Sæther2021-01-131-5/+4
| | | | | | | | | | | | | | | | | | | For Qt Widgets we thought it was a good idea to also store in the cache if a class didn't have a factory plugin. This worked fine there, since the number of QWidget classnames is quite limited (so the factory plugin cache will soon reach a limit) In QML however, classes are often suffixed with e.g. Button_QMLTYPE_123, Button_QMLTYPE_124 etc. This number suffix is just increased continuously. This could lead to that the factory plugin cache will grow ad infinitum, which will cause "memory leaks" in addition to a performance penalty. Pick-to: 6.0 Pick-to: 5.15 Fixes: QTBUG-75106 Change-Id: I9ba189f989f0b90ab62a2c54a2e9230236a998d8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Remove the qmake project filesJoerg Bornemann2021-01-074-73/+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>
* Replace discouraged Q_MOVABLE_TYPE by Q_RELOCATABLE_TYPEAndreas Buhr2020-11-301-7/+7
| | | | | | | | | | | | | | Q_MOVABLE_TYPE was conceived before C++ had move semantics. Now, with move semantics, its name is misleading. Q_RELOCATABLE_TYPE was introduced as a synonym to Q_MOVABLE_TYPE. Usage of Q_MOVABLE_TYPE is discouraged now. This patch replaces all usages of Q_MOVABLE_TYPE by Q_RELOCATABLE_TYPE in QtBase. As the two are synonymous, this patch should have no impact on users. Pick-to: 6.0 Change-Id: Ie653984363198c1aeb1f70f8e0fa189aae38eb5c Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
* Make QAccessible::State's equality operator a hidden friendVolker Hilsheimer2020-10-282-8/+4
| | | | | | | | | | | Reduce ADL nose. We already have an inline default constructor calling memset, so can have the comparison operator calling memcmp also inlined. Task-number: QTBUG-87973 Change-Id: If8e0ae98b0c44fc3fddac7ef57c5ff021c80dad6 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix some qdoc warnings: undocumented parametersVolker Hilsheimer2020-09-251-2/+3
| | | | | Change-Id: I5d37f620caccbd1445c99a602b71779bdedd37d3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-09-232-82/+0
| | | | | | | | | | | Modify special case locations to use the new API as well. Clean up some stale .prev files that are not needed anymore. Clean up some project files that are not used anymore. Task-number: QTBUG-86815 Change-Id: I9947da921f98686023c6bb053dfcc101851276b5 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Make QStringList an alias to QList<QString>Lars Knoll2020-09-121-1/+0
| | | | | | | | | | | | | | | | | | Fix our API, so that QStringList and QList<QString> are the same thing. This required a bit of refactoring in QList and moving the indexOf(), lastIndexOf() and contains() method into QListSpecialMethods. In addition, we need to ensure that the QStringList(const QString&) constructor is still available for compatibility with Qt 5. Once those two are done, all methods in QStringList can be moved into QListSpecialMethods<QString>. Change-Id: Ib8afbf5b6d9df4d0d47051252233506f62335fa3 Reviewed-by: Andrei Golubev <andrei.golubev@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Do not expose ATSPI as public dependency of QtGuiJoerg Bornemann2020-09-111-1/+1
| | | | | | | | | | | | | | | This was always a compile-only dependency and atspi includes are only used in private headers. The atspi headers can never be a requirement for consumers of QtGui. In Qt5 this code was part of the QtLinuxAccessibilitySupport private module, and for that module the atspi dependency was public. This only affected users that explicitly instructed qmake to pull in the linuxaccessibility_support-private module. Task-number: QTBUG-86421 Change-Id: I23c6a1c466f86b2015dde13fca605fd26299c9db Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Doc: Fix documentation warnings for Qt GUITopi Reinio2020-08-281-1/+1
| | | | | | | | | | | | * Drop deprecation warnings for now-dropped items * Use the 'qt6' define and a new \nothing doc macro to conditionally document items on Qt 6 * Add a custom module header for docs that pulls in also Vulkan headers * Add \internal command for internal classes/functions * Move QtGUI-related code snippets from widgets to gui docs Change-Id: Ieb386b96631a49568d09059906d307c45c01d93a Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* Deprecate int based convert/canConvertLars Knoll2020-08-241-1/+1
| | | | | | | Better to provide the correct meta type to convert to. Change-Id: I8e0d46e4ba482186201c157e302c03874bd38e7b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Introduce QWidget::setScreenVolker Hilsheimer2020-08-171-1/+1
| | | | | | | | | | | | | | | | | | Follows the QWindow semantics, and is a replacement for creating a QWidget with a QDesktopScreenWidget as the parent. We can now remove much of the special handling of QDesktopWidget and the Qt::Desktop window type, and get rid of QDesktopScreenWidget. Add a manual test that allows local testing. Our CI environments only have a single screen, and no multi-head display server setup which is the primary case where QWidget::setScreen is interesting. For the more common case of a virtual desktop, QWidget::setScreen has no real impact (just as QWindow::setScreen doesn't). Change-Id: Id0099e069d316741bacd8c795c396ccad37be297 Fixes: QTBUG-85483 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Doc: Remove outdated documentationPaul Wicking2020-08-121-5/+0
| | | | | | | | | We don't have this class in Qt anymore. Drop the related snippet as well. Pick-to: 5.15 Change-Id: I5149e2f9da483b9ad678a6d414a278cb7e107f10 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* Another round of 0->nullptr cleanupAllan Sandfeld Jensen2020-07-312-4/+4
| | | | | Change-Id: Ic8db7dc252f8fea46eb5a4f334726d6c7f4645a6 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Linux: fix crash in AtSpi adaptor when handling window activationLu YaNing2020-07-141-1/+3
| | | | | | | | | fix The window has been quickly activated or disabled will cause a crash . Fixes: QTBUG-84643 Pick-to: 5.15 Change-Id: I0fd0918a3fc1898ddffd97009a4e92702ecd9ed4 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Use QList instead of QVector in gui implementationJarek Kobus2020-07-072-3/+3
| | | | | | | Task-number: QTBUG-84469 Change-Id: I366e845249203d80d640355a7780ac2f91a762f1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Add ; to Q_UNUSEDLars Schmertmann2020-07-072-3/+3
| | | | | | | | This is required to remove the ; from the macro with Qt 6. Task-number: QTBUG-82978 Change-Id: I3f0b6717956ca8fa486bed9817b89dfa19f5e0e1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* SPI Accessibility: Remove global variableFriedemann Kleint2020-07-065-9/+33
| | | | | | | | Change it into a member variable of QSpiAccessibleBridge. Task-number: QTBUG-83255 Change-Id: Ia781a7c86723e343680bf804be6393640f83a516 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Use QList instead of QVector in platformsupportJarek Kobus2020-07-062-10/+10
| | | | | | Task-number: QTBUG-84469 Change-Id: I8e4e6626cc840bc9c8bce014c595da9080025dd8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Move linuxaccessibility to QtGuiFriedemann Kleint2020-07-0622-0/+4844
| | | | | | | | Change some too-generic file names. Task-number: QTBUG-83255 Change-Id: I4497ee2508bc323566f4061d4547707b7bda7a77 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Use QList instead of QVector in guiJarek Kobus2020-06-291-2/+3
| | | | | | | | Applied to headers only. Source file to be changed separately. Task-number: QTBUG-84469 Change-Id: Ic08a899321eaffc46b8461aaee3dbaa4d2c727a9 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove winrtOliver Wolff2020-06-061-1/+1
| | | | | | | | | Macros and the await helper function from qfunctions_winrt(_p).h are needed in other Qt modules which use UWP APIs on desktop windows. Task-number: QTBUG-84434 Change-Id: Ice09c11436ad151c17bdccd2c7defadd08c13925 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move QtAccessibilitySupport into QtGuiTor Arne Vestbø2020-06-023-5/+189
| | | | | | Task-number: QTBUG-83255 Change-Id: Ibc1b38e77c3c90030a832c41f4de65c6c38bc91d Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Move windowsuiautomation API support into QtGuiFriedemann Kleint2020-05-2715-0/+1825
| | | | | | Task-number: QTBUG-83255 Change-Id: Ibface71931b6384494842ba9744d76f738c5ca85 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* a11y: Fix bug in the accessibility cacheJan Arve Sæther2020-05-193-9/+67
| | | | | | | | | | | | | We could sometimes cache a partially constructed object if the accessibility interface for that was created during construction time of the object. This usually ended up in that the interface for e.g. QMenuBar was stored in the cache as a QAccessibleWidget, regardless of if the a11y factory supported it. Since it was already in the cache, it remained the same for the entire lifetime of the application, causing e.g. QMenuBar not have the correct accessibility behavior. Task-number: QTBUG-83993 Change-Id: I72b2d5a93f6b397fd3666d45951109e3e5aff754 Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* Remove deprecated QAccessible::updateAccessibility overloadVolker Hilsheimer2020-05-152-26/+2
| | | | | Change-Id: Ib953e584685804b0f34ec6b305e2a9a6b8062c07 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* Merge remote-tracking branch 'origin/5.15' into devLiang Qi2020-02-131-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/widgets/graphicsview/boxes/scene.h src/corelib/Qt5CoreMacros.cmake src/corelib/Qt6CoreMacros.cmake src/network/ssl/qsslsocket.cpp src/network/ssl/qsslsocket.h src/platformsupport/fontdatabases/windows/qwindowsfontenginedirectwrite.cpp src/testlib/CMakeLists.txt src/testlib/.prev_CMakeLists.txt tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp Disabled building manual tests with CMake for now, because qmake doesn't do it, and it confuses people. Done-With: Alexandru Croitor <alexandru.croitor@qt.io> Done-With: Volker Hilsheimer <volker.hilsheimer@qt.io> Change-Id: I865ae347bd01f4e59f16d007b66d175a52f1f152
| * a11y: Remove a ### Qt6 that doesn't make much senseJan Arve Sæther2020-02-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the enum names are "the same", the comment seems to suggest to change the enum value of Canvas to 0x401. I don't see any benefit to that really. In addition, we are today using UIA in favor of MSAA, and the closest matching role (controlTypeId) seems to be for a static image (UIA_ImageControlTypeId), which is quite different from the semantic of IA2_ROLE_CANVAS. For the record, here's a list of similar roles for different a11y APIs: IA2: IA2_ROLE_CANVAS An object that can be drawn into and to manage events from the objects drawn into it. Also refer to IA2_ROLE_FRAME, IA2_ROLE_GLASS_PANE, and IA2_ROLE_LAYERED_PANE. MSAA: ROLE_SYSTEM_DIAGRAM The object represents a graphical image that is used to diagram data. UIA: UIA_ImageControlTypeId Identifies the _Image_ control type. atspi: ATSPI_ROLE_CANVAS Object that can be drawn into and is used to trap events. Change-Id: Ic2ead0dc40be0ae2e798f49285eb6a392cc29142 Reviewed-by: André de la Rocha <andre.rocha@qt.io>
* | Remove comments about destructors needing to be emptyJan Arve Sæther2020-02-111-17/+0
|/ | | | | | | | Not important, but removes some ### Qt6 comments from my radar Change-Id: Ifd1bf44c44ece8fa1314d3c7e0e95d1bd37ae0ea Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Doc/QtGui: replace some 0 with \nullptrChristian Ehrlicher2020-01-261-1/+1
| | | | | | | | | Replace some 'is 0' or 'are 0' where 0 referes to a nullptr with 'is \nullptr' and 'are \nullptr' Change-Id: Ic18d0c8bcf64159b4c8fae8c9499839954a98884 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Tidy nullptr usageAllan Sandfeld Jensen2019-12-063-16/+16
| | | | | | | | | | | Move away from using 0 as pointer literal. Done using clang-tidy. This is not complete as run-clang-tidy can't handle all of qtbase in one go. Change-Id: I1076a21f32aac0dab078af6f175f7508145eece0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devLiang Qi2019-06-252-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/gui/painting/qdrawhelper.cpp src/gui/text/qdistancefield.cpp src/gui/text/qdistancefield_p.h src/network/ssl/qsslsocket_openssl.cpp src/plugins/platforms/android/qandroidinputcontext.cpp src/widgets/styles/qstylesheetstyle.cpp Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io> Change-Id: Ia7daad21f077ea889898f17734ec46303e71fe6b
| * Add accessibility notification roleFrederik Gladhorn2019-06-122-0/+2
| | | | | | | | | | | | | | | | | | | | | | On Linux this role is needed to make desktop notifications work. There is no equivalent for Windows, iOS or macOS. On these platforms the role will have no effect. Fixes: QTBUG-76333 Change-Id: I4ef3b3321f7a0e2c09c1ce432a668428d14c52b7 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-05-131-1/+1
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qstring.cpp Change-Id: I81dbf90fc936c9bf08197baefa071117bddb1c63
| * | Doc: replace even more null/0/nullptr with \nullptr macroChristian Ehrlicher2019-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Try to replace all wordings like '.. to 0' with '.. to \nullptr'. Also checked for 'null pointer' and similar. Change-Id: I73341f59ba51e0798e816a8b1a532c7c7374b74a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | | Prefix textstream operators with Qt::Lars Knoll2019-05-021-2/+2
| | | | | | | | | | | | | | | | | | | | | As the non prefixed variants are deprecated Change-Id: I2ba09d71b9cea5203b54297a3f2332e6d44fedcf Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | | More nullptr usage in headersKevin Funk2019-03-141-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | Diff generated by running clang-tidy's modernize-use-nullptr checker on the CMake-based Qt version. Skipping src/3rdparty, examples/, tests/ Change-Id: Ib182074e2e2fd52f63093f73b3e2e4c0cb7af188 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devQt Forward Merge Bot2019-01-211-7/+7
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: Ibfcb30053f3aacb8ec2ec480e146538c9bf440ea
| * Documentation: Add \nullptr macro and use where applicableFriedemann Kleint2019-01-101-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt for Python users reading the documentation assume that int(0) can be passed for pointer parameters. Use the newly introduced \nullptr to disambiguate this. In a follow-up step, the \nullptr macro can be defined as None when generating the Qt for Python documentation. Task-number: PYSIDE-903 Change-Id: I3a45f87175a0668ab5f3f95f0aff409f7e3ef027 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io> Reviewed-by: Christian Tismer <tismer@stackless.com> Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | doc: Fix all clang parse errors in QtBase during PCH buildMartin Smith2018-11-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update eliminates ALL parsing errors when clang parses the Qt headers to build the precompiled header qdoc needs. These errors are often cases where an old use of Q_QDOC no longer works because clang sees the enclosed fake declarations as erroneous. In a few cases, clang reported errors because two dummy function declartations under the Q_CLANG_QDOC guard were indistinguishable, so one of them was removed, and the documentation was patched accordingly. Using the macro Q_DECLARE_INTERFACE(...) causes clang to report errors because the class parametewr is abstract. These uses of the macro are not needed, so they are removed with #ifndef Q_CLANG_QDOC. Some declarations of default GL types that had been provided for qdoc were no longer needed, so they are removed. Now there are some member function signatures in QDBusPendingReply and QDBusPendingCall that have very long template clauses and qualifiers in their signatures. These unwieldy signatures will be unnecessary in the documentation and will look bad there, but for now they are correct. The ultimate solution will be to add a metacommand to qdoc, something like \simplify-signature to tell qdoc to generate the documentation for these member functions without the long template caluses and qualifiers. Change-Id: I012cf17a544fbba2ebc71002f31bdc865119bb8e Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Martin Smith <martin.smith@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-10-251-16/+2
|\| | | | | | | | | | | | | | | | | Conflicts: src/corelib/animation/qpropertyanimation.cpp src/gui/image/qicon.cpp tests/auto/widgets/itemviews/qtableview/tst_qtableview.cpp Change-Id: I3698172b7b44ebb487cb38f50fd2c4a9f8a35b21