Commit Graph

48180 Commits

Author SHA1 Message Date
Timur Pocheptsov
720e2e0c92 QCocoaDrag::drag - make sure clipboard is ours and populated
This fix is not final yet, it's just to plumb the serious bug/regression
of accessing NSPasteBoard in some strange state and the one we have not
populated yet/do not even own (?). Drag image(s) is broken atm and will
be fixed in the follow-up patch.

Pick-to: 5.15
Task-number: QTBUG-71939
Change-Id: I5c3ac3ec138d7407c2e0c206485478aa5244ae15
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-23 18:55:53 +02:00
Volker Hilsheimer
8a50a11437 Initialize trayWatcher from QSystemTrayIconPrivate
Coverity-Id: 59488
Change-Id: Ide8d9b62304b72105d2c1d4266ba2a52576ef75a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-23 18:44:16 +02:00
Volker Hilsheimer
2f319f3be9 Give QPixmap a move constructor
It already has a move-assignment operator, and implements swapping.

This requires a specialization of the QExplicitlySharedDataPointer
destructor to be forward declared, and an implementation that is
identical to the default version. Otherwise we would need
QPlatformPixmap to be fully defined in the public QPixmap header.

Change-Id: I2651bbc29a7083a93e3b3ad671d3aeea659b7d5a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2020-09-23 18:00:54 +02:00
Laszlo Agocs
d3c985631d rhi: gl: Enable seamless cubemap filtering
...when available. This is mandatory in order to match results with
other APIs where this is always on.

Change-Id: I3b8ef2cb806a7297c83e60a3eb1fa71b50780dbe
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 17:35:03 +02:00
Alexander Volkov
7c483a251b Simplify QHighDpi::fromNativeLocalExposedRegion()
... by using QRectF::toAlignedRect().

Change-Id: I310b2f0ad87c541aa0d63d6a8061783aff791abb
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2020-09-23 18:34:02 +03:00
Andreas Buhr
bf548091da QDateTime change documentation to reflect usage of C locale
In the past, string formatting and parsing was done in the users
locale. Now, the C locale is consistently used in QDate(Time) and
localized functions are offered in QLocale. This patch reflects
this change in the documentation.

Change-Id: I81afda9063fa232d06841d63f69e19b49f8083f3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 17:33:39 +02:00
Cristian Adam
079cf55111 CMake Build: Add support for -qtlibinfix configure parameter
Rename all libQt6*.so to libQt6*<infix>.so

Task-number: QTBUG-85438
Change-Id: I4b91ffaaec7bea61454b0d3c794c77f2d0868d54
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-23 17:31:13 +02:00
Edward Welbourne
42500dd9ca Add a ValidWhenMask to QDateTimePrivate::StatusFlag
This saves some repetition of verbose status-setting code.
At the same time, save the function that uses it a repeated
getStatus() call hidden inside its getSpec() by inlining getSpec().

Change-Id: I32aee521c1885408f822ecb47ab1ed76f92852a1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 17:17:20 +02:00
Edward Welbourne
e33b0d4bb0 Make QDateTime() unconditionally noexcept
As proposed by Lars in code-review; its Data::Data() is in fact
noexcept even when CanBeSmall is false.

Task-number: QTBUG-86400
Change-Id: I351e4332660f5895fff34b950227cbb811fd9f81
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 17:16:48 +02:00
Tor Arne Vestbø
e4f647e272 macOS: Don't assume NSSlider is never flipped
We need to take into account the possibility that the slider is flipped,
otherwise we end up with inverted rects, as noticed in Big Sur.

The logic to use the ticks as input to whether the bar rect should be
inverted didn't make sense.  If the graphics context has been flipped,
then we should reflect that through the slider.

Pick-to: 5.15
Pick-to: 5.12
Change-Id: I3574027c14807460affb42a9763211981c4ed528
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-09-23 17:04:12 +02:00
Allan Sandfeld Jensen
7c1f94f387 Fix Qt6 todo in qcssparser
Colors with wrong number of elements are now invalid.

Change-Id: I32c934894de86095d9790baa5f0d2001d76bcd3c
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-23 17:01:29 +02:00
Edward Welbourne
df4cbaf8dc Assert some conditions instead of testing for them
In one case, handle an error by an early return so that we can do so.

Change-Id: If98eaaf2dfd47c1df1d09497fcc3e9ab784dc6df
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-23 17:00:00 +02:00
Edward Welbourne
1ec67b5e26 Make more consistent use of m_offsetFromUtc()
In QDateTime::toMSecsSinceEpoch(), all non-short date-times know their
offsets from UTC, so can use that, saving the TimeZone ones the need
to call (costly) zoneMSecsToEpochMSecs() and, when not short, the
LocalTime ones the need to call localMSecsToEpochMSecs().

Moved the setting of offset clear of refreshZonedDateTime()'s check
that the date and time match the milliseconds being handled, so that a
sensible offset value is set even when the date-time comes back
invalid due to being in a spring forward.

As refreshZonedDateTime() now sets d's m_offsetFromUtc for both specs,
it no longer needs QDateTimePrivate::setUtcOffsetByTZ(). In any case,
the private time-zone access that provided is equivalent to the
difference we already have between msecs and epochMSecs, except in a
zone-gap. Add assertions to confirm this in zoneMSecsToEpochMSecs().

This brought to light a problem with whole-day transitions, where
QDate::startOfDay() assumed the gap it was hitting would end by end of
day. Search backwards from noon tomorrow, instead; likewise, for
endOfDay(), search forward from yesterday.

Task-number: QTBUG-75585
Change-Id: I6151d1dfccab321605753c98e01152281461bfe2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 16:59:08 +02:00
Edward Welbourne
3bd6901429 Use same-msecs optimization more in QDateTime comparison
QDateTime's comparisons just compare milliseconds when both values are
local times and their statuses (hence DST-ness) match. It can do the
same for time-zones. While doing the same for UTC and fixed offsets
wins nothing, it also costs nothing, given that we're already checking
the spec.

Task-number: QTBUG-75585
Change-Id: Ib6d824569aba8def2f1319ef3a11cca6869a5b5e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-23 14:59:08 +00:00
Edward Welbourne
691762e0e3 QStringBuilder: use qsizetype for size() methods
Prompted by a ### Qt 6 comment on one of them.

Task-number: QTBUG-85700
Change-Id: Id78a05a7bf77ba04207e0f5bc2a316984b13c9ae
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-23 16:59:08 +02:00
Volker Hilsheimer
3299476791 Fix qdoc warnings for QByteArrayView
Provide simplified declaration of fromArray for qdoc runs;  fix a small typo.

Change-Id: I8c7300a014270e8ab7f18afd94ee66af4734e0c7
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-09-23 16:59:08 +02:00
Volker Hilsheimer
1cbfaebfc9 Fix qdoc warnings: QSplitter
Fix prototypes and parameter names.

Change-Id: Ic43c72eaaf06f941f652440e750c91546707b79e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-23 16:59:08 +02:00
Volker Hilsheimer
eb08d9bcfc Fix qdoc warning from broken snippet
Change-Id: Ieaf7676dd7406363dfd970528dd13e65b9af87c3
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-23 16:59:08 +02:00
Volker Hilsheimer
76d0fcf365 Fix qdoc warning: use correct parameter type in QVariant c'tor
Change-Id: Ic935c8ac22c6ac8955439353c9d36dd7ba46021c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-09-23 16:59:08 +02:00
Volker Hilsheimer
000edd2765 Fix qdoc warning from flag instead of enum type in \enum
Change-Id: Ia6b1152c99905ac805b411c9a77144879adfd848
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-23 16:59:07 +02:00
Volker Hilsheimer
c1ade7f401 Fix qdoc warnings from removed enum values
Change-Id: Icd7a941ed1d8c7a4674482ace4b280a15e592c1a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-23 16:59:07 +02:00
Volker Hilsheimer
cb8ec51fb5 Fix qdoc warning: yet another std::filesystem
Change-Id: If3c2e7ea3ae32e9596c51623449a405b16b27a5f
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-23 16:59:07 +02:00
Volker Hilsheimer
50e33159f1 Fix some qdoc warnings from QByteArray
A snippet bug, and removed overloads.

Change-Id: I82aee3627ba1a4e75e392b28d8ec72d470c395db
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-23 16:59:07 +02:00
Volker Hilsheimer
93e22bd21f Documentation: purge QSet and QHash members that no longer exist
QMutableSet/HashIterator can not walk backwards, neither can the STL iterator.
When function documentation was shared with other iterator types, move it into
separate section to avoid linking to incorrect see-alsos.

Remove or fix other member function documentation that had errors, e.g.
in parameter types after move to qsizetype.

Change-Id: Ic7f97a295eff63ee748998b10f08a160706fa650
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-23 16:59:07 +02:00
Andreas Buhr
b50e81b5b1 Add unit test to check emoji handling in date-time parsing
Add some unit tests using emojis as separator characters to check
utf handling.

Change-Id: I03c4bb5cd349e649c58e8a908c38a0185d80e722
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2020-09-23 16:59:07 +02:00
Assam Boudjelthia
ac0be4d568 Android: set default API level to 23 in docs
Android minimum API level for Qt 6 is 23, this reflects that to some
instances that still mention 21.

Change-Id: I996f3ed3af14dca114129351d6ea06afcb8f45f5
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-23 17:59:07 +03:00
Assam Boudjelthia
1c33b4e729 CMake: partially revert 00a1e5d
00a1e5da7e wrongfully added parts of
QtPlatformAndroid.cmake which were removed in
32121e9882. This removed the part in
question again

Change-Id: Ie18968e6a165f52c68f4941ced6add266985bc48
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-23 17:59:07 +03:00
Assam Boudjelthia
176136ce60 Android: add qmlimportscanner and rcc paths to deployment-settings.json
qmlimportscanner and rcc in Qt 6.0 are part of the host installation
and not in the target installation which androiddeployqt expects it to be.

Fixes: QTBUG-86831
Change-Id: I9d7a6fce3d2f109bab933fcfd7fdd5d2c83821a8
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
2020-09-23 14:59:07 +00:00
Paul Wicking
8333ff6414 Doc: Make network snippets a subdirs/lib project
Task-number: QTBUG-86497
Pick-to: 5.15
Change-Id: I45eb22344beb777dd4ad20ba669b28e50cbfc3ec
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-23 16:59:07 +02:00
Paul Wicking
f4ee89363e Doc: Make widgets snippets a subdirs/lib project
Task-number: QTBUG-86497
Pick-to: 5.15
Change-Id: Ia43f9eb3bf8a3d2f6e76a1932179aaa94266540b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-23 16:59:07 +02:00
Edward Welbourne
270c3dced7 Remove ### comment on QT5_NULL_STRINGS
Commented recommended turning it off by default in Qt 6, but Lars
changed his mind once he saw how much broken on doing that.

Task-number: QTBUG-85700
Change-Id: I1aeec408400978821e0e64d082dbb73cf982e54a
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-09-23 16:59:06 +02:00
Tor Arne Vestbø
5c1ed8bb74 Use 'A' for Apple framework version instead of Qt major version
All system frameworks use 'A' instead of the major version of the
framework, and Xcode's code signing assumes that the framework version
is 'A' when signing embedded frameworks (FB7323980), so leave the
version 'A'. This is also what Apple recommends.

Change-Id: Idbf2e30e156c3e869da8f75731e568524d9407e5
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-23 16:59:06 +02:00
Laszlo Agocs
be2635b8dd rhi: Reuse the data in buffer ops in res.update batches
Because having profilers bombarded with mallocs (due to creating
deep copy QByteArrays) is not nice.

Change-Id: I848f41f3465d6dc2a58a193cc863495aacf13d79
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 16:59:06 +02:00
Laszlo Agocs
6b52ba4286 rhi: Reuse buffer/texture op entries in res.update batches
More of an enabler for reusing the data in the individual entries since
not clearing the QVLA does not give us much on its own.

Change-Id: Ief9761f75382c3373cc2bc7b866eb59fdd8b3277
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 16:59:06 +02:00
Laszlo Agocs
230be3c4d1 rhi: Report an "optimal capacity" from res.update batches
Change-Id: If47eddf3fe7d365c80b0a15712ef155a6898d904
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 16:59:06 +02:00
Laszlo Agocs
5fcd9a3ebf rhi: Do not just pick the first free res.upd. batch all the time
Rather, utilize all the available ones in the pool, picking
the next available batch after the one we picked previously
(with wrapping over as necessary).

Change-Id: I5f26e127a406c2dd07d155712429c72ad4f0f0f1
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 16:59:06 +02:00
Laszlo Agocs
fe3a1617af rhi: d3d: Fix dynamic offsets with multiple buffers
Fixes: QTBUG-86821
Change-Id: I57f86bf0f7e95b92f5b2c5fee587112ecf0fc8e6
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2020-09-23 16:59:06 +02:00
Alexandru Croitor
9d55eee8da CMake: Disable usage of CMake API compatibility wrappers
Setting the QT_NO_INTERNAL_COMPATIBILITY_FUNCTIONS variable
in the project ensures we ported away from old API calls.

Task-number: QTBUG-86815
Change-Id: I0d1868a24b0f4e0cc817c11fef160f8b392814af
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-09-23 16:59:06 +02:00
Alexandru Croitor
403213240c CMake: Regenerate projects to use new qt_internal_ API
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>
2020-09-23 16:59:06 +02:00
Alexandru Croitor
e0c62a48b8 CMake: Rename internal functions to contain qt_internal
Offer compatibility wrapper functions until we update all of the Qt
repos to use the new names.

Task-number: QTBUG-86815
Change-Id: I5826a4116f52a8509db32601ef7c200f9bd331de
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2020-09-23 16:59:05 +02:00
Fabian Kosmale
6f0a9df8d2 QMetaPropertyBuilder: support bindable flag
Change-Id: I0d6ad00e49fd5df4c3b9c0692839404d53d8f6ed
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-09-23 09:24:11 +02:00
Volker Hilsheimer
adb927e5bc Fix documentation of QPointerEvent::points
As drive-by, fix qdoc warning in related internal documentation.

Change-Id: I7716a9b126e38e99dcd11c6af2e91b8ec7bf4346
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-09-23 06:06:33 +02:00
Volker Hilsheimer
6db7aceb43 Fix some qdoc warnings: QRegularExpression parameters
Change-Id: Ib4d33327c6c059e11d8615bac0f72d9f028d5860
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2020-09-22 22:49:22 +02:00
Joerg Bornemann
25cc901f04 CMake: Fix configure -redo for top-level builds
When re-doing in a top-level build, we did not read the config.opt file
from the top-level directory.

Also, the config.opt file should not contain the -top-level argument.
This is an internal option, and on Windows, it was already missing. The
information whether we're doing a top-level build is now passed in the
CMake variable TOP_LEVEL.

Change-Id: Iaecd7306a4b6d9ad494684c201cf12f8e74d684b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-09-22 22:20:43 +02:00
Ulf Hermann
8d4eb292b2 QLibrary: Use QTaggedPointer for the did_load flag
This makes the size nicely aligned and conveniently intializes
everything to the right values.

Change-Id: Ibad2defbbd323fd5cdd4bed8374f40558d80acc0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-09-22 21:26:53 +02:00
Ulf Hermann
eda30d1986 Apply some code cosmetics to iterables
Change-Id: I552eca017d5a473ea91ca43d0a0459ef2e8288b2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-09-22 21:25:51 +02:00
Volker Hilsheimer
c39878dd30 Doc: link QModelRoleData and QModelRoleDataSpan documentation
Change-Id: I49bb356d5296dc73effd18399b7a205f00c24252
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2020-09-22 20:56:16 +02:00
Volker Hilsheimer
a6a2c00ee3 Fix some qdoc warnings: std::filesystem::path getters
Those APIs need to be declared for qdoc runs, even if cxx17_filesystem is not.

Change-Id: Iaa437aa424f35d0414b6b79328bcafb49af872b3
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-09-22 20:56:07 +02:00
Volker Hilsheimer
1d6b7a27cb Fix some qdoc warnings: function names in "see also"
Change-Id: I6b2b444ccc4de6629d800933802ffa8f75682b96
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-22 20:56:01 +02:00
Volker Hilsheimer
149a9ef23f Fix some qdoc warnings: printer API cleanup
Puge references from removed QPrinter methods.

QPdfWriter's setter API documentation only added the word "PDF" to the
QPagedPaintDevice documentation. This was not useful - when the latter
talks about "page", it's obvious what is meant in the context of PDF, so
remove the duplication.

Change-Id: I7b16cbc82de8d35b5224288c9e36deff4e01fb44
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-09-22 20:55:55 +02:00