summaryrefslogtreecommitdiffstats
path: root/src/widgets/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Long live [[nodiscard]] QFile::openGiuseppe D'Angelo2024-04-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having already caught some bugs in real code because of unchecked calls to QFile::open, this commit marks QFile::open (and open() in other file-I/O classes) as [[nodiscard]]. Since it's going to raise warnings, the plan is to keep the existing behavior up to and including the next LTS. Then the warnings will switch on by default. All of this is protected by system of macros to opt-in or opt-out the behavioral change at any time. A possible counter-argument for doing this is that QFile::open is also used for opening files in the the resource system, and that opening "cannot fail". It clearly can, if the resource is moved away or renamed; code should at a minimum use a Q_ASSERT in debug builds. Another counter-argument is the opening of file handles or descriptors; but again, that opening may fail in case the handle has been closed or if the flags are incompatible. --- Why not marking *every* open() override? Because some are not meant to be called directly -- for instance sockets are supposed to be open via calls to `connectToHost` or similar. One notable exception is QIODevice::open() itself. Although rarely called directly by user code (which just calls open() on a specific subclass, which likely has an override), it may be called: 1) By code that just takes a `QIODevice *` and does something with it. That code is arguably more rare than code using QFile directly. Still, being "generic" code, they have an extra responsibility when making sure to handle a possible opening failure. 2) By QIODevice subclasses, which are even more rare. However, they usually ignore the return from QIODevice::open() as it's unconditionally true. (QIODevice::open() doesn't use the protected virtual pattern.) I'll try and tackle QIODevice in a future commit. [ChangeLog][QtCore][QFileDevice] The open() functions of file-related I/O classes (such as QFile, QSaveFile, QTemporaryFile) can now be marked with the "nodiscard" attribute, in order to prevent a category of bugs where the return value of open() is not checked and the file is then used. In order to avoid warnings in existing code, the marking can be opted in or out, by defining QT_USE_NODISCARD_FILE_OPEN or the QT_NO_USE_NODISCARD_FILE_OPEN macros. By default, Qt will automatically enable nodiscard on these functions starting from Qt 6.10. Change-Id: Ied940e1c0a37344f5200b2c51b05cd1afcb2557d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* cmake: Generate Apple privacy manifest files for Qt modulesTor Arne Vestbø2024-02-131-0/+5
| | | | | | | | | | | | | | | | | | | The default manifest is a minimal file that claims NSPrivacyTracking false, along with an empty list of NSPrivacyTrackingDomains and NSPrivacyCollectedDataTypes, as Qt does not generally do user tracking. Modules can override the default manifest by setting the PRIVACY_MANIFEST target property, specifying a custom privacy manifest. The NSPrivacyAccessedAPITypes key is only required for iOS for now. Even though we don't build Qt for iOS as frameworks yet, which is required to embed a privacy manifest, we include the keys for the APIs we known we use. Task-number: QTBUG-114319 Change-Id: I654bb52b98ee963adeeb744b35f3a1c2a1270969 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* FusionStyle: re-add icons for dockwidget titlebarChristian Ehrlicher2023-11-041-0/+30
| | | | | | | | | | | Re-add the icon for dockwidget titlebars as png images in different resolutions to avoid a blurry icon on high-dpi displays. Also add the source svg. Task-number: QTBUG-118122 Task-number: QTBUG-118643 Change-Id: I24f710e3c7390762c7079c0e153f015475347591 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* QCommonStyle: add 128px icons for standardbutton-closetabChristian Ehrlicher2023-10-291-3/+6
| | | | | | | | | Add 128px version of standardbutton-closetab/-down/-hover and the source svg file. Task-number: QTBUG-118122 Change-Id: I8146f022cf440fc43d8c72aa08bd778ffdc64a78 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QCommonStyle: add 128px icons for toolbar-extChristian Ehrlicher2023-10-291-0/+3
| | | | | | | | | | | Add 128px version of toolbar-ext-h/toolbar-ext-h-rtl and toolbar-ext-v - created from the available svg. Task-number: QTBUG-118122 Change-Id: I238333242995d6a93ce2cf08ef1b01af02ae2093 Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QCommonStyle: add 128px icon for cleartextChristian Ehrlicher2023-10-291-0/+1
| | | | | | | | | There was no 128px icon for cleartext - therefore add it including the svg source file. Task-number: QTBUG-118122 Change-Id: I405de9474406efcc43ffe319952f0b596bcfc623 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QCommonStyle: add 128px versions of media iconsChristian Ehrlicher2023-10-291-0/+7
| | | | | | | | | Add 128px versions of (nearly) all media icons and including the svg source. Task-number: QTBUG-118122 Change-Id: Iac03f2bb8c0f5fe5d873a996b16eac5808475a19 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QCommonStyle: add missing png icons derived from svg onesChristian Ehrlicher2023-10-291-0/+18
| | | | | | | | | | There are svg icons for information/warning/critical/question/ filedialog_start and filedialog_end but no corresponding png icons. Therefore create those from the svg files and add them. Task-number: QTBUG-118122 Change-Id: I2b0eb6450319ba64c41593a1f7705d995187f6b8 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* QtWidgets: finally Q_FOREACH-freeAhmad Samir2023-10-131-7/+1
| | | | | | | | | | | | These source files have been ported away from Q_FOREACH but weren't blacklisted, so un-blacklist them by removing "#undef QT_NO_FOREACH", and removing them from NO_PCH_SOURCES. These are the last remnants of the Q_FOREACH blacklisting in QtWidgets. Task-number: QTBUG-115803 Change-Id: Ib73d668687f64d39fa48397d75a0f342e525c1ad Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QGestureManager: port Q_FOREACH to ranged-for [6/6]Ahmad Samir2023-10-131-1/+0
| | | | | | | | | | | | | | These two QSetS are local to the function, the loop bodies don't modify them but they can't be made const due to the way they're filled. So use std::as_const and ranged-for. Un-blacklist the file, by removing "#undef QT_NO_FOREACH", and removing the source file from NO_PCH_SOURCES. Change-Id: I49b852aa865b0321d3e2f617466557d77143a32b Task-number: QTBUG-115803 Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de> Reviewed-by: Marc Mutz <marc.mutz@qt.io>
* QWidgetRepaintManager: port Q_FOREACH to ranged-forAhmad Samir2023-10-131-1/+0
| | | | | | | | | | | | | The loop body doesn't change the QHash, so use asKeyValueRange() and ranged-for. Un-blacklist the file, by removing "#undef QT_NO_FOREACH", and removing the source file from NO_PCH_SOURCES. Task-number: QTBUG-115803 Change-Id: I22924d2addeed75867edf9f6cac53f1c6f266dcc Reviewed-by: Marc Mutz <marc.mutz@qt.io> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* QMenuBar: compile with QT_NO_FOREACHAhmad Samir2023-10-081-2/+0
| | | | | | | | | | The loop doesn't change the member container while iterating over it, but handleReparent() is called from eventFilter() and changeEvent(), so take a copy to iterate over. Task-number: QTBUG-115803 Change-Id: I58ff5bddf99f07a46348b7802432e0899b3170df Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* QGraphicsAnchorLayout: compile with QT_NO_FOREACHAhmad Samir2023-10-081-2/+0
| | | | | | | | | | | | | | | The m_edges container isn't changed after it's initialized in the constructor (in a later commit I'll make this container const, so as to keep this commit backport-able), and it isn't changed by the loop. Port all loops over m_edges to ranged-for. Remove "#undef QT_NO_FOREACH" from the source file, as that was the only usage of foreach in it. And remove that source file from NO_PCH_SOURCES. Pick-to: 6.6 6.5 Task-number: QTBUG-115803 Change-Id: I9cfc0c95865cbc7415dbecc82388c64c65ded4be Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
* Add QRhiWidgetLaszlo Agocs2023-08-141-0/+1
| | | | | | Task-number: QTBUG-113331 Change-Id: I8baa697b4997b05f52acdee0e08d3c368fde5bc2 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Mark QtWidgets as free of Q_FOREACH, except where it isn'tMarc Mutz2023-08-091-0/+13
| | | | | | | | | | | | | | | | | | The density of Q_FOREACH uses is high here, too high for this author to tackle in a short amount of time. But they're concentrated in just a few TUs, so pick a different strategy: Mark the whole library with QT_NO_FOREACH, to prevent new uses from creeping in, and whitelist the affected TUs by #undef'ing QT_NO_FOREACH locally, at the top of each file. For TUs that are part of a larger executable, this requires these files to be compiled separately, so add them to NO_PCH_SOURCES (which implies NO_UNITY_BUILD_SOURCES, too). Created QTBUG-115803 to keep track of this. Task-number: QTBUG-115803 Change-Id: Ib5d6192632d98bdcc6625a9a14e05d13bb7f759b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QtWidgets: use NO_PCH_SOURCES instead of manual no-pch handlingMarc Mutz2023-08-051-9/+2
| | | | | | | | | | | This is how all other libraries handle this, so use it here, too. Amends 0c8b98774cd0f3dad939d31e820e7e47c1da088a and 09d1196281ccd03dac55781ac91f6c4eb7bb4de9. Pick-to: 6.6 6.5 Change-Id: Id3b8fa1b834e2bebe5e6ddc1f67e43c66ccd9aab Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* QtWidgets: unbreak unity-build-batch-size 100000Marc Mutz2023-07-211-0/+2
| | | | | | | | | | | | | | | Exclude TUs that cause problems in a build where all of QtWidgets's .cpp files end up in a single unity_0_cxx.cxx. This should ensure that the build will forthwith not fail because someone added a new .cpp file in the "wrong" position. Of course, this is just a snapshot, with my configuration: GCC 13, Ubuntu 20.04, -developer-build, C++23, -sctp. Task-number: QTBUG-115352 Pick-to: 6.6 6.5 Change-Id: I6a445701e2ac41d67a3ec69715b7bf6ed5ec65f7 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Enable QT_NO_CONTEXTLESS_CONNECT for most of QtBaseGiuseppe D'Angelo2023-07-111-0/+1
| | | | | | | | | It's clean now, keep it as such. Enabling it for QtCore is still OK, because it just hides a function template declared in a header. Change-Id: I8e7dfae179732ba04241a6a3258c2d722e8259df Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDialogButtonBox - code cleanupAxel Spoerl2023-06-281-1/+1
| | | | | | | | | | | | | | | | | | Replace const char * based connect statements by modern API and remove '_q_' slot prefixes. This requires explicit disconnection in the destructor -> add. Replace bool traps for layouting and removing buttons by enum classes. Replace if/elseif event handler by switch. Replace iterator typedef with auto. Encapsulate logic to ensure defaulting to first accept button in a member function for better readability. Remove dead code. Move private header declaration from cpp to a new _p.h. Task-number: QTBUG-114377 Pick-to: 6.6 6.5 Change-Id: I8a2bc355e3816c3c826c10cd96194c89bf0ae510 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Use LANGUAGE OBJCXX rather than COMPILE_FLAGS "-x objective-c++"Tor Arne Vestbø2023-04-131-1/+1
| | | | | | | | | | | | | We sometimes use Objective-C++ code in files with a .cpp extension, to avoid the churn of adding a foo_mac.mm file. Instead of manually telling the compiler to build these files in Objective-C++ mode, we use CMake's intended mechanism, which means genex constructs such as $<$<COMPILE_LANGUAGE:OBJCXX> will work for these files as well. Pick-to: 6.5 6.2 Change-Id: If295c3f34f6bee9f4d9f877f519c9c7770665fee Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* Use Qt CMake APIs to exclude files from Unity BuildAmir Masoud Abdol2023-04-031-4/+4
| | | | | | | | | | | | | | | | | | | | This is a bit of a cleanup, mainly around unity build, and a few other minor things: - I replaced the direct inclusion of sources files using `set_source_files_properties`, and instead used `NO_UNITY_BUILD_SOURCES` when possible. In most cases, they are being excluded in their respective `qt_internal_extend_target` but sometimes I had to make a new extension. - In few cases, we had to manually exclude the NO_PCH files, so, I instead passed them directly to the NO_PCH_SOURCES which also exclude them from the unity build as well. - Removed a few unnecessary "" Pick-to: 6.5 Task-number: QTBUG-109394 Change-Id: I466576592c1d115a2da4d88672c1e4b9f995f2ed Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* macOS: Pick up QWizard background from keyboard assistant via NSBundleTor Arne Vestbø2023-02-171-8/+18
| | | | | | | | | | | | | | | | | | | | | | As of macOS 10.14 the keyboard assistant background is shipped as part of the compiled asset catalog of the app, so looking it up via a URL will fail. Instead we look it up via NSBundle's dedicated image lookup function, which handles both cases. The logic has also been moved to qwizard.cpp, since the additional plumbing via QPlatformNativeInterface was unnecessary. The keyboard assistant itself no longer shows the background image as of macOS 12, so we might consider doing the same, but the design of the assistant has also changed significantly, so as long as our QWizard layout looks like the old keyboard assistant we keep the background as well. Pick-to: 6.5 6.2 Change-Id: I7d42dd79b285f3518837458864bca6bc353b3b6d Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* src: Remove remains of qmake conversion from CMakeLists.txt filesFriedemann Kleint2023-02-101-6/+0
| | | | | | Pick-to: 6.5 Change-Id: Id644d322a602038403bb7f46c532744575fbf6d3 Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
* Trace: Convert qtwidgets module to use tracepointgen toolAntti Määttä2023-02-101-1/+5
| | | | | | | | Pick-to: 6.5 Change-Id: Iaa993387ecbaeab66c1bd226a85c9ab6d876b157 Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
* QtWidgets: Fix CMake Unity (Jumbo) buildsFriedemann Kleint2023-02-011-0/+5
| | | | | | | | | | Remove clashing enumeration value ColumnCount and exclude file in snippets. Task-number: QTBUG-109394 Pick-to: 6.5 Change-Id: Ibd8a72d9d87e3dcbbb221c364d6b4c4f59b315df Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* Change the license of all CMakeLists.txt and *.cmake files to BSDLucie Gérard2022-08-231-1/+1
| | | | | | | 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>
* Add license headers to cmake filesLucie Gérard2022-08-031-0/+3
| | | | | | | | | | | | 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>
* Add missing header files to the module sourcesAlexey Edelev2022-05-121-1/+2
| | | | | | | | | All module header files should be listed in the corresponding sections of modules SOURCEs to be accessible in CMake routines. Task-number: QTBUG-103196 Change-Id: Ieb77ae70557e35e546a5b00387e1e0aa40338239 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QtWidgets: clean up API removalsMarc Mutz2021-07-271-2/+2
| | | | | | | | | | | As suggested by Peppe and Lars, use one file per module to hold the removed functions, not one per major version and subdir. Also, make the remove macro more like QT_DEPRECATED_SINCE. Change-Id: I2ade51ccc8cb8720ece493936775dfd3b5d438d7 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QMenu/QToolBar: remove addAction() functionsMarc Mutz2021-07-131-0/+10
| | | | | | | | | | | | | | | | | | | | They're now in QWidget itself. Remove them from the API, but not the ABI. The QToolBar case is straight-forward. QMenu is a bit more complicated: Since QT_CONFIG(shortcut) builds changed the signature of an existing function instead of adding/removing an overload, we have to deal with two cases: In a QT_CONFIG(shortcut) build, these overloads that take a trailing QKeySequence parameter have been deprecated and therefore cannot be removed. In a !QT_CONFIG(shortcut) build, the same functions are 1:1 copies of QWidget functions and can be removed (from the API). [ChangeLog][QtWidgets][QMenu/QToolBar] The addAction() functions have been moved down into QWidget. Change-Id: I49997b3440c137a1d4e3858d1d27d34a191e1eed Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* Add high-resolution pixmaps for macOS dock widget title iconsVolker Hilsheimer2021-07-051-0/+20
| | | | | | | | | | | The macOS style falls back to the QCommonStyle for those, and that style loads the macstyle pixmaps. Weird, but cleaning that up is for another commit. Fixes: QTBUG-38776 Pick-to: 6.1 6.2 5.15 Change-Id: Ie1fe721387e64cb91ee5fc528667a63e6ddd6eed Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Migrate to autogenerated cpp exportsAlexey Edelev2021-06-251-0/+1
| | | | | | | | | 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>
* Fix BASE argument of qt_add_resourcesJoerg Bornemann2021-05-181-192/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The BASE argument of qt_add_resources now denotes the root point of the alias of the file. Before, BASE was merely prepended to every file that got passed to qt_add_resources. Old behavior: qt_add_resources(app "images" PREFIX "/" BASE "../shared" FILES "images/button.png") Alias is "../shared/images/button.png", and pro2cmake generated QT_RESOURCE_ALIAS assignments to fix this. New behavior: qt_add_resources(app "images" PREFIX "/" BASE "../shared" FILES "../shared/images/button.png") The alias is "images/button.png". No extra QT_RESOURCE_ALIAS assignment is needed. The new behavior is in effect for user projects and for Qt repositories that define QT_USE_FIXED_QT_ADD_RESOURCE_BASE. Qt repositories will be ported one by one to this new behavior. Then the old code path can be removed. Pick-to: 6.1 Task-number: QTBUG-86726 Change-Id: Ib895edd4df8e97b54badadd9a1c34408beff131f Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: remove unnecessary add_dependencies()Li Xinwei2021-05-171-2/+0
| | | | | | | | | | | | | The dependencies to moc, uic and rcc have already been handled by qt_manual_moc(), qt_enable_autogen_tool() and _qt_internal_process_resource(). This allows not building some of the debug executables in a multi-config scenario. Task-number: QTBUG-88414 Change-Id: I6c162721f3ddf6b4b410345ad012073abbdfd9df Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* CMake: Remove GENERATE_METATYPES usageMaximilian Goldstein2021-04-271-1/+0
| | | | | | | We now generate metatypes by default and every instance of GENERATE_METATYPES now causes a warning. Change-Id: I83a124de3f3bb1fc770cfae0eed955c03e95b310 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* cmake: disable snippets/graphicsview if "printdialog" is not availableRichard Moe Gustavsen2021-03-021-1/+1
| | | | | | | | | | | | | | | | | | | The graphicsview doc snippet has an explicit QT_REQUIRE_CONFIG(printdialog) check that will fail the build if Qt is not configured with "printdialog". This check should be mirrored in the cmake file, so that we skip building the snippet in the first place if the feature is not available. As it stood, we would build the snippet if "printsupport" was enabled. But this is too granular, as you can configure Qt to have general print support, but at the same time, skip the print dialog. This caused the build to fail on iOS. This patch will check the correct feature in the cmake file. Change-Id: I31acc1f7c257e08374ea7b84a7fc38c66f214271 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* CMake: Port the snippet project setup to CMakeVenugopal Shivashankar2021-02-101-0/+11
| | | | | | | | Change-Id: I411e58e94752f3b2d0a3e8aac0ab7c4c2272db89 Fixes: QTBUG-89826 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* QTabBar/Windows: Fix close button icons being too small on high-res screensFriedemann Kleint2021-01-151-0/+3
| | | | | | | | | | Add 32x32 versions. Move the icon creation to a helper function. Fixes: QTBUG-88230 Pick-to: 6.0 Pick-to: 5.15 Change-Id: I6dda2084e0122234eacea17ac191a19f6855f466 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Purge QCoreApplicationPrivate::cloneEvent and overridesVolker Hilsheimer2020-11-121-1/+0
| | | | | | | | Not used anywhere in Qt 6, and if whatever needs this ever comes back, then we won't implement it like this. Change-Id: I99655ba5825644cef3686bbe50ca688b68f5c2a4 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* CMake: Regenerate qtbase projectsAlexandru Croitor2020-10-301-4/+6
| | | | | | | | | | In preparation for some further regeneration. Also modify pro2cmake to add forgotten mapping for the Qt::EglFsKmsGbmSupportPrivate module. Change-Id: I92425c566c2b275b40eec8c652496290754ac385 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* Add forwarding headers for classes moved from QtWidgets to QtGuiVolker Hilsheimer2020-10-201-1/+17
| | | | | | | | | | | | | | | The QT_BEGIN_NAMESPACE QT_END_NAMESPACE block is added to avoid warnings from the build system's sanity check. As a drive-by, fix the include guards in the QtGui/QActionGroup header. Change-Id: Ie10e7830c3b00a3548123f58498def49b194c7aa Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Purge QDesktopWidgetVolker Hilsheimer2020-10-161-1/+0
| | | | | | | | | | | | It's no longer used; the only calls to QApplicationPrivate::desktop pass the default nullptr for QScreen, so all we need is a Qt::Desktop type toplevel widget. Include changes documentation about both the class and QApplication::desktop being gone in Qt 6. Change-Id: I22d6e93cabc6aaaefffe5e96942886a2ef4e0609 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* CMake: Regenerate projects to use new qt_internal_ APIAlexandru Croitor2020-09-231-92/+92
| | | | | | | | | | | 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>
* Remove QMacNativeWidget and QMacCocoaViewContainerTor Arne Vestbø2020-08-281-2/+0
| | | | | | | | | | | | The functionality should be available via QWidget::winId(), and QWidget::createWindowContainer() + QWindow::fromWinId(). Any bugs in this area should be fixed by improving the general wrapping APIs. Fixes: QTBUG-83254 Change-Id: I86584a4a8138d17d65a50da39efd58039f10da91 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Move QFileSystemModel into QtGuiVolker Hilsheimer2020-08-251-6/+0
| | | | | | | | | | | | | | This requires a QAbstractFileIconProvider in QtGui, as the standard QFileIconProvider depends on QStyle, and cannot be moved out of QtWidgets. QAbstractFileIconProvider returns strings for file types, but returns no icons yet. Support for a default icon set might be added in a follow-up commit. Change-Id: Ib9d095cd612fdcf04db62f2e40709fcffe3dc2b7 Fixes: QTBUG-66177 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
* Move QStateMachine from QtCore to QtScxmlKarsten Heimrich2020-08-241-13/+1
| | | | | | Task-number: QTBUG-80316 Change-Id: I2ee74110fd55e94d86321d3b3dc5bb8297424ed4 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Remove last remaining bits of QtPlatformHeadersTor Arne Vestbø2020-08-041-1/+0
| | | | | | Task-number: QTBUG-84220 Change-Id: I951e04bfe9358a99951d1d61ff47b675584b7f81 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Make QtPlatformHeaders a private moduleTor Arne Vestbø2020-07-061-0/+1
| | | | | | | | | | | The APIs will be reintroduced as part of the new platform interface API where appropriate. Clients that still depend on the platform headers can include it via QT += platformheaders-private. Change-Id: Ifbd836d833d19f3cf48cd4f933d7fe754c06d2d9 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Phase 2 of removing QDesktopWidgetVolker Hilsheimer2020-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove QDestopWidget public header, simplify the implementation that maintains a Qt::Desktop type QWidget for each QScreen, and turn QWidget's initial target screen into a QScreen pointer. QApplication::desktop() now takes an optional QScreen pointer, and returns a QWidget pointer, so that applications and widgets can get access to the root widget for a specific screen without having to resort to private APIs. QDesktopWidgetPrivate implementations to look up a screen for an index, widget, or point are now all inline functions that thinly wrap QGuiApplication::screens/screenAt calls. We should consider adding those as convenience APIs to QScreen instead. Note that QWidget::screen is assumed to return a valid pointer; there is code that handles the case that it returns nullptr (but also code that trusts that it never is nullptr), so this needs to be defined, verified with tests, and asserted. We can then simplify the code further. Change-Id: Ifc89be65a0dce265b6729feaf54121c35137cb94 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* 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>