It takes considerable time to finish as auto test, slowing down the
development speed. It should live in benchmarks.
Change-Id: I4cb6f7712774a6d36e000dec713db67019d84f6e
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Using qt_internal_add_test for a benchmark gives it a _check target, not
a _benchmark target. Use qt_internal_add_benchmark instead, link against
QuickTest, and set the QUICK_TEST_SOURCE_DIR variable explicitly.
Pick-to: 6.5
Change-Id: Id72f2623b7edaa538ef3ff2cb3f505506652ee5a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Renames the pressed() getter of the pressed property in QQuickMouseArea
to isPressed() to avoid overloading the pressed()-signal.
Signals should not be overloaded. Also, it makes code generation in
qmltc more complicated.
Task-number: QTBUG-110029
Change-Id: I2373f4fe97b1e955b815825003bc746f2eaf43be
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Qt Quick Controls 2 was named that way because it was a follow-up to
Qt Quick Controls 1.x. Now that Qt Quick Controls 1 is no longer
supported, we don't need to have "2" in the name. Work on this was
already started for the documentation in
1abdfe5d5a.
By doing this renaming a few weeks before feature freeze, it won't
affect the release but still results in as little time possible spent
manually fixing conflicts in cherry-picks from non-LTS releases as a
result of the renaming.
This patch does the following:
- Renames directories.
- Adapts CMakeLists.txt and other files to account for the new paths.
A follow-up patch will handle documentation.
It does not touch library names or other user-facing stuff, as that
will have to be done in Qt 7.
Task-number: QTBUG-95413
Change-Id: I170d8db19033ee71e495ff0c5c1a517a41ed7634
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
There was a typo in the auto test's target name, but fixing it also
requires renaming the benchmark which has the same name.
Pick-to: 6.2 6.4
Change-Id: I8e7b6de472ed84df0917584592f28d7015618331
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Otherwise it's only possible to build these projects on the command
line with qt-cmake-standalone-test.
Task-number: QTBUG-93020
Pick-to: 6.2 6.3 6.4
Change-Id: I84e5bd2b6b3bb7cb8deac22ec417af793ae8c1d6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8, but extended to
handle typedefs and accesses through pointers, too:
const std::string o = "object";
auto hasTypeIgnoringPointer = [](auto type) { return anyOf(hasType(type), hasType(pointsTo(type))); };
auto derivedFromAnyOfClasses = [&](ArrayRef<StringRef> classes) {
auto exprOfDeclaredType = [&](auto decl) {
return expr(hasTypeIgnoringPointer(hasUnqualifiedDesugaredType(recordType(hasDeclaration(decl))))).bind(o);
};
return exprOfDeclaredType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))));
};
auto renameMethod = [&] (ArrayRef<StringRef> classes,
StringRef from, StringRef to) {
return makeRule(cxxMemberCallExpr(on(derivedFromAnyOfClasses(classes)),
callee(cxxMethodDecl(hasName(from), parameterCountIs(0)))),
changeTo(cat(access(o, cat(to)), "()")),
cat("use '", to, "' instead of '", from, "'"));
};
renameMethod(<classes>, "count", "size");
renameMethod(<classes>, "length", "size");
except that on() was replaced with a matcher that doesn't ignoreParens().
a.k.a qt-port-to-std-compatible-api V5 with config Scope: 'Container'.
Change-Id: I58e1b41b91c34d2e860dbb5847b3752edbfc6fc9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
We've been requiring C++17 since Qt 6.0, and our qAsConst use finally
starts to bother us (QTBUG-99313), so time to port away from it
now.
Since qAsConst has exactly the same semantics as std::as_const (down
to rvalue treatment, constexpr'ness and noexcept'ness), there's really
nothing more to it than a global search-and-replace.
Task-number: QTBUG-99313
Change-Id: I601bf70f020f511019ed28731ba53b14b765dbf0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
This is a semantic patch using ClangTidyTransformator as in
qtbase/df9d882d41b741fef7c5beeddb0abe9d904443d8:
auto QtContainerClass = anyOf(
expr(hasType(cxxRecordDecl(isSameOrDerivedFrom(hasAnyName(classes))))).bind(o),
expr(hasType(namedDecl(hasAnyName(<classes>)))).bind(o));
makeRule(cxxMemberCallExpr(on(QtContainerClass),
callee(cxxMethodDecl(hasAnyName({"count", "length"),
parameterCountIs(0))))),
changeTo(cat(access(o, cat("size"), "()"))),
cat("use 'size()' instead of 'count()/length()'"))
a.k.a qt-port-to-std-compatible-api with config Scope: 'Container',
with the extended set of container classes recognized.
Change-Id: Idb1f75dfe2323bd1d9e8b4d58d54f1b4b80c7ed7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Compiler warns:
ignoring return value of function declared with 'nodiscard' attribute
[-Wunused-result]
Pick-to: 6.4
Change-Id: If10d41fad7dc77b36eecc8725de178b0908f32de
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Add a version of TreeViewDelegate.qml to the Material
style, that looks more at home for that style (rather
than using the one in the Basic style).
This version is using the arrow-indicator from the
Material style as expand/collapse indicator, and
makes the height of each row match the height of a
normal Material button.
Pick-to: 6.4
Change-Id: I084532ca6e527593e5711d66aa53f240f0356d99
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Add a version of TreeViewDelegate.qml to the Fusion
style, that looks more at home for that style (rather
than using the one in the Basic style).
This version is using the arrow-indicator from the
Fusion style as expand/collapse indicator, and
makes the height of each row match the height of a
normal Fusion button.
Pick-to: 6.4
Change-Id: I153bb5776e23476cf8c383fb6f76e63981e28639
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
For several reasons:
* It was renamed to QT_DISABLE_DEPRECATED_UP_TO
* Its value will be propagated from the general Qt build
Task-number: QTBUG-104858
Change-Id: I90c92dc05b884f6408467c573181c00f8e00e6b3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
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: I72c89a98c42bbc9234d8495e9e503bec81d11037
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Files that have to be modified by hand are modified.
License files are organized under LICENSES directory.
Pick-to: 6.4
Task-number: QTBUG-67283
Change-Id: I63563bbeb6f60f89d2c99660400dca7fab78a294
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
tst_objectcount did not have its test data properly included. This
patch fixes it.
Pick-to: 6.2 6.3
Task-number: QTBUG-101865
Change-Id: I25e4e01eeb87fbddcd55d9e85411c9cb2d5d5c61
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
A lot of CMakeLists.txt files defined QT_QMLTEST_DATADIR twice,
leading to a warning. This patch fixes these.
Pick-to: 6.2 6.3
Change-Id: I8b835fcddd3334f0ecac45cb72bd5763b3a5704d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Calculate and pass the global pos explicitly.
Pick-to: 6.3
Change-Id: I6d16a21e95454a65a80d5366c6c46b3cacf33dd3
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
This patch adds TreeViewDelegate to Controls.
TreeViewDelegate is a ready-made delegate that can be
assigned to TreeView. It takes care of drawing the
tree using the style, and can be used directly
without the need for customization.
It implements all the required properties set
by TreeView, and offers in addition a small API that
lets the developer change the indicator and the label.
[ChangeLog][Controls] New delegate added: TreeViewDelegate
Change-Id: I50fbc059afbc2b896d23d9d59717c8571e94bae6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Autotests in Qt are usually GPL3, or BSD. No point in using the LGPL
here.
This also gets rid of last references to LICENSE.LGPLv3 in this
repository, so we can delete both LICENSE.LGPLv3 and LICENSE.GPLv3,
which it references.
Change-Id: Idbdefe0c68cc8047ede72b439a4d7ff40dfd71b6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Test at many moments from spring 1967 (before the epoch) to summer
2046 (after 32-bit time_t's sign-wrap).
Change-Id: I3932cc1553a868b8815fda9a8dfc7644e4485704
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Inline the trivial constructor.
Get rid of the pointless destructor.
Use QDirIterator instead of QDir, to save collecting a bunch of
strings, only to iterate them, when we could simply iterate them.
Use QDirIterator::filePath() instead of adding fragments ourselves.
Use u"*.qml"_qs instead of constructing QString from ASCII.
Use QString::chopped(4) rather than left(size() - 4).
Use QScopedPointer to ensure tidy-up of allocated object.
Don't use 0 as a null pointer value.
Waste less vertical space.
Change-Id: I44f62f4e41f63de860f47114b2f47dddbf9746bc
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Formerly Qt.labs.calendar, then QtQuick.Calendar in the marketplace,
this now returns as part of the controls module.
[ChangeLog] Added types from Qt.labs.calendar/QtQuick.Calendar.
Change-Id: I8a06c08e6520be1ba8f33c73ba174785724e99c2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Previously each test would include and build sources from the shared
folder. Now we make those sources a library, build it once, then have
each test link to it instead.
We also take the opportunity to move some helpers that qtquickcontrols2
had added into the quicktestutils library where it makes sense, and
for the helpers that don't make sense to be there, move them into
quickcontrolstestutils.
We add the libraries to src/ so that they are internal modules built as
part of Qt, rather than tests. That way we can use them in a standalone
test outside of qtdeclarative.
Task-number: QTBUG-95621
Pick-to: 6.2
Change-Id: I0a2ab3976fdbff2e4414df7bdc0808f16453b80a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
The new qml CMake API places a closer relationship between
the backing target and the plugin target. Both are typically
created together and they share a lot of common details.
Instead of creating them in different parts of the source
tree, they are now specified together. The src/imports
area has effectively been absorbed into the other
corresponding subdirectories below src with this change.
Task-number: QTBUG-91621
Change-Id: I9bd32e9eb78c198ccc9db04e2829303cac323502
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
The .pro files corresponding to the .prev_CMakeLists.txt files
have already been removed.
Change-Id: I254eafe4c7de1a516e33bd9cb3d9879e73fa83b4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This helper function finds an item view delegate instance at a given
index, ensuring that the view is polished and positioned at the correct
index if necessary.
Change-Id: Ib133914df723251835be3812c1d0654c07a99f14
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Remove all qmake project files, except for examples which are used to
test that qmake continues to work.
Change-Id: Ic4abb72dc2dcd75df7a797c56056b6b3c5fe62ac
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Converting from 0 to Qt::NoModifier was never a great idea.
Change-Id: I694126c86e961a9af3f963fc830dbb65d535a61a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Modify special case locations to use the new API as well.
Task-number: QTBUG-86815
Change-Id: I4a690095fcd4b1141550de86b6820ae2dd579429
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Modify special case locations to use the new API as well.
Task-number: QTBUG-86815
Change-Id: I3b964e3baf0cc7040830156dac30358ea1152801
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
[ChangeLog][Styles] The Default style was renamed to Basic to account
for the introduction of the platform styles (macOS, Windows), which
will be used by default (where possible) when no style is specified.
Fixes: QTBUG-85984
Task-number: QTBUG-68814
Task-number: QTBUG-86403
Change-Id: I22b3199c8662e4ee5d55a1be1a51c9856ac62376
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
The problem is that QtQuick.Controls.macos is only
available with revision 6.0. And when importing e.g
QtQuick.Controls 2.15, we try to load a style with the
same revision. But it simply doesn't exist. So remove
all versioning from the tests to also support testing
newer styles.
Change-Id: I666a93ab03ec4c5dcf2055a363547f8cdac8d25e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
[ChangeLog][QML][QQmlListProperty] Removed deprecated QQmlListProperty
constructor taking a reference. Use the overload taking a pointer
instead.
Change-Id: I8942026d1bb1c88065659d96d648a4b256d7d427
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>