Sync from SUSE:SLFO:Main libqt5-qtdeclarative revision 9b1e36a7f0065dcbe4cb9e10f64e0856
This commit is contained in:
commit
0263df5a86
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
8
_constraints
Normal file
8
_constraints
Normal file
@ -0,0 +1,8 @@
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">6</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
</constraints>
|
||||
|
18
_service
Normal file
18
_service
Normal file
@ -0,0 +1,18 @@
|
||||
<services>
|
||||
<service name="obs_scm" mode="disabled">
|
||||
<param name="changesgenerate">enable</param>
|
||||
<param name="versionformat">5.15.11+kde@TAG_OFFSET@</param>
|
||||
<param name="url">https://invent.kde.org/qt/qt/qtdeclarative.git</param>
|
||||
<param name="scm">git</param>
|
||||
<param name="filename">qtdeclarative-everywhere-src</param>
|
||||
<param name="revision">kde/5.15</param>
|
||||
<param name="parent-tag">v5.15.11-lts-lgpl</param>
|
||||
<param name="changesgenerate">enable</param>
|
||||
</service>
|
||||
<service name="set_version" mode="disabled"/>
|
||||
<service name="tar" mode="buildtime"/>
|
||||
<service name="recompress" mode="buildtime">
|
||||
<param name="file">*.tar</param>
|
||||
<param name="compression">xz</param>
|
||||
</service>
|
||||
</services>
|
4
_servicedata
Normal file
4
_servicedata
Normal file
@ -0,0 +1,4 @@
|
||||
<servicedata>
|
||||
<service name="tar_scm">
|
||||
<param name="url">https://invent.kde.org/qt/qt/qtdeclarative.git</param>
|
||||
<param name="changesrevision">1b0e366092bcfae0392592c3b7891f0e47af1018</param></service></servicedata>
|
3
baselibs.conf
Normal file
3
baselibs.conf
Normal file
@ -0,0 +1,3 @@
|
||||
libQtQuick5
|
||||
libqt5-qtdeclarative-devel
|
||||
requires "libQtQuick5-<targettype> = <version>"
|
1535
libqt5-qtdeclarative.changes
Normal file
1535
libqt5-qtdeclarative.changes
Normal file
File diff suppressed because it is too large
Load Diff
229
libqt5-qtdeclarative.spec
Normal file
229
libqt5-qtdeclarative.spec
Normal file
@ -0,0 +1,229 @@
|
||||
#
|
||||
# spec file for package libqt5-qtdeclarative
|
||||
#
|
||||
# Copyright (c) 2020 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define qt5_snapshot 1
|
||||
%define libname libQtQuick5
|
||||
%define base_name libqt5
|
||||
%define real_version 5.15.11
|
||||
%define so_version 5.15.11
|
||||
%define tar_version qtdeclarative-everywhere-src-%{version}
|
||||
Name: libqt5-qtdeclarative
|
||||
Version: 5.15.11+kde30
|
||||
Release: 0
|
||||
Summary: Qt 5 Declarative Library
|
||||
License: LGPL-3.0-only OR (GPL-2.0-only OR GPL-3.0-or-later)
|
||||
Group: Development/Libraries/X11
|
||||
URL: https://www.qt.io
|
||||
Source: %{tar_version}.tar.xz
|
||||
Source1: baselibs.conf
|
||||
# https://invent.kde.org/qt/qt/qtdeclarative/-/merge_requests/32
|
||||
Patch103: qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: libQt5Core-private-headers-devel >= %{real_version}
|
||||
BuildRequires: libQt5Gui-private-headers-devel >= %{real_version}
|
||||
BuildRequires: libQt5Test-private-headers-devel >= %{real_version}
|
||||
BuildRequires: libQt5Widgets-private-headers-devel >= %{real_version}
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: python3-base
|
||||
BuildRequires: xz
|
||||
BuildRequires: pkgconfig(Qt5Core) >= %{real_version}
|
||||
BuildRequires: pkgconfig(Qt5Gui) >= %{real_version}
|
||||
BuildRequires: pkgconfig(Qt5Network) >= %{real_version}
|
||||
BuildRequires: pkgconfig(Qt5Sql) >= %{real_version}
|
||||
BuildRequires: pkgconfig(Qt5Widgets) >= %{real_version}
|
||||
%if %{qt5_snapshot}
|
||||
#to create the forwarding headers
|
||||
BuildRequires: perl
|
||||
%endif
|
||||
|
||||
# NOTE recheck this once/if this package gets further splitted
|
||||
%requires_ge libQt5Core5
|
||||
%requires_ge libQt5Gui5
|
||||
%requires_ge libQt5Network5
|
||||
%requires_ge libQt5Sql5
|
||||
%requires_ge libQt5Test5
|
||||
%requires_ge libQt5Widgets5
|
||||
|
||||
%description
|
||||
Qt is a set of libraries for developing applications.
|
||||
|
||||
This package contains base tools, like string, xml, and network
|
||||
handling.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n qtdeclarative-everywhere-src-%{version}
|
||||
|
||||
%package -n %{libname}
|
||||
Summary: Qt 5 Declarative Library
|
||||
Group: Development/Libraries/X11
|
||||
# Used by QtQuick.LocalStorage
|
||||
Requires: libQt5Sql5-sqlite
|
||||
Requires: (qml-autoreqprov if rpm-build)
|
||||
|
||||
%description -n %{libname}
|
||||
Qt is a set of libraries for developing applications.
|
||||
|
||||
This package contains base tools, like string, xml, and network
|
||||
handling.
|
||||
|
||||
%package devel
|
||||
Summary: Qt Development Kit
|
||||
Group: Development/Libraries/X11
|
||||
Requires: %{libname} = %{version}
|
||||
Requires: %{name}-tools = %{version}
|
||||
Provides: libQt5Quick-devel = %{version}
|
||||
Obsoletes: libQt5Quick-devel < %{version}
|
||||
|
||||
%description devel
|
||||
You need this package, if you want to compile programs with qtdeclarative.
|
||||
|
||||
%package tools
|
||||
Summary: Qt 5 Declarative Tools
|
||||
Group: Development/Tools/Debuggers
|
||||
License: GPL-3.0-only
|
||||
|
||||
%description tools
|
||||
Qt is a set of libraries for developing applications.
|
||||
|
||||
This package contains aditional tools for inspecting, testing, viewing, etc, QML imports and files.
|
||||
|
||||
%package private-headers-devel
|
||||
Summary: Non-ABI stable experimental API
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{name}-devel = %{version}
|
||||
Requires: libQt5Core-private-headers-devel >= %{real_version}
|
||||
Requires: libQt5Gui-private-headers-devel >= %{real_version}
|
||||
Requires: libQt5Test-private-headers-devel >= %{real_version}
|
||||
Requires: libQt5Widgets-private-headers-devel >= %{real_version}
|
||||
Provides: libQt5Quick-private-headers-devel = %{version}
|
||||
Obsoletes: libQt5Quick-private-headers-devel < %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description private-headers-devel
|
||||
This package provides private headers of libqt5-qtdeclarative that are normally
|
||||
not used by application development and that do not have any ABI or
|
||||
API guarantees. The packages that build against these have to require
|
||||
the exact Qt version.
|
||||
|
||||
%package examples
|
||||
Summary: Qt5 quick/qml examples
|
||||
Group: Development/Libraries/X11
|
||||
License: BSD-3-Clause
|
||||
Recommends: %{name}-devel
|
||||
Recommends: %{name}-tools
|
||||
|
||||
%description examples
|
||||
Examples for libqt5-qtdeclarative (quick/qml) modules.
|
||||
|
||||
%post -n %{libname} -p /sbin/ldconfig
|
||||
%postun -n %{libname} -p /sbin/ldconfig
|
||||
|
||||
%build
|
||||
%if %{qt5_snapshot}
|
||||
#force the configure script to generate the forwarding headers (it checks whether .git directory exists)
|
||||
mkdir .git
|
||||
%endif
|
||||
|
||||
mkdir -p %{_target_platform}
|
||||
pushd %{_target_platform}
|
||||
qmake-qt5 ..
|
||||
popd
|
||||
|
||||
make %{?_smp_mflags} VERBOSE=1 -C %{_target_platform}
|
||||
|
||||
%install
|
||||
pushd %{_target_platform}
|
||||
%qmake5_install
|
||||
popd
|
||||
|
||||
find %{buildroot}/%{_libdir} -type f -name '*la' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} \;
|
||||
find %{buildroot}/%{_libdir}/pkgconfig -type f -name '*pc' -print -exec perl -pi -e 's, -L%{_builddir}/\S+,,g' {} \;
|
||||
# kill .la files
|
||||
rm -f %{buildroot}%{_libqt5_libdir}/lib*.la
|
||||
|
||||
# Link all the binaries with -qt5 suffix to %{_bindir}
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
pushd %{buildroot}%{_libqt5_bindir}
|
||||
for i in * ; do
|
||||
case "${i}" in
|
||||
qmlplugindump|qmlprofiler)
|
||||
ln -s %{_libqt5_bindir}/$i %{buildroot}%{_bindir}/${i}-qt5
|
||||
;;
|
||||
*)
|
||||
# No conflict with Qt4, so keep the original name for compatibility
|
||||
ln -s %{_libqt5_bindir}/$i %{buildroot}%{_bindir}/${i}
|
||||
ln -s %{_libqt5_bindir}/$i %{buildroot}%{_bindir}/${i}-qt5
|
||||
;;
|
||||
esac
|
||||
done
|
||||
popd
|
||||
|
||||
%fdupes -s %{buildroot}%{_libqt5_includedir}
|
||||
%fdupes -s %{buildroot}%{_libqt5_examplesdir}
|
||||
|
||||
%files -n %{libname}
|
||||
%license LICENSE.*
|
||||
%{_libqt5_libdir}/libQt5Q*.so.*
|
||||
%dir %{_libqt5_archdatadir}/qml
|
||||
%dir %{_libqt5_archdatadir}/qml/Qt
|
||||
%{_libqt5_archdatadir}/qml/QtQuick
|
||||
%{_libqt5_archdatadir}/qml/QtQuick.2
|
||||
%{_libqt5_archdatadir}/qml/QtQml
|
||||
%{_libqt5_archdatadir}/qml/builtins.qmltypes
|
||||
%dir %{_libqt5_archdatadir}/qml/Qt/labs
|
||||
%{_libqt5_archdatadir}/qml/Qt/labs/animation/
|
||||
%{_libqt5_archdatadir}/qml/Qt/labs/folderlistmodel/
|
||||
%{_libqt5_archdatadir}/qml/Qt/labs/settings/
|
||||
%{_libqt5_archdatadir}/qml/Qt/labs/sharedimage/
|
||||
%{_libqt5_archdatadir}/qml/Qt/labs/qmlmodels/
|
||||
%{_libqt5_archdatadir}/qml/Qt/labs/wavefrontmesh/
|
||||
%dir %{_libqt5_archdatadir}/qml/Qt/test
|
||||
%{_libqt5_archdatadir}/qml/Qt/test/qtestroot/
|
||||
%{_libqt5_plugindir}/qmltooling
|
||||
|
||||
%files private-headers-devel
|
||||
%license LICENSE.*
|
||||
%{_libqt5_includedir}/Qt*/%{so_version}
|
||||
|
||||
%files tools
|
||||
%license LICENSE.*
|
||||
%{_bindir}/*
|
||||
%{_libqt5_bindir}/*
|
||||
|
||||
%files devel
|
||||
%license LICENSE.*
|
||||
%exclude %{_libqt5_includedir}/Qt*/%{so_version}
|
||||
%{_libqt5_includedir}/Qt*
|
||||
%{_libqt5_libdir}/cmake/Qt5*
|
||||
%{_libqt5_libdir}/libQt5*.prl
|
||||
%{_libqt5_libdir}/libQt5Q*.so
|
||||
%{_libqt5_libdir}/libQt5*.a
|
||||
%{_libqt5_libdir}/pkgconfig/Qt5Q*.pc
|
||||
%{_libqt5_libdir}/metatypes/qt5quick*_metatypes.json
|
||||
%{_libqt5_libdir}/metatypes/qt5qml*_metatypes.json
|
||||
%{_libqt5_archdatadir}/mkspecs/modules/*.pri
|
||||
%{_libqt5_archdatadir}/mkspecs/features/qmlcache.prf
|
||||
%{_libqt5_archdatadir}/mkspecs/features/qmltypes.prf
|
||||
%{_libqt5_archdatadir}/mkspecs/features/qtquickcompiler.prf
|
||||
%{_libqt5_archdatadir}/qml/QtTest
|
||||
|
||||
%files examples
|
||||
%license LICENSE.*
|
||||
%{_libqt5_examplesdir}/
|
||||
|
||||
%changelog
|
343
qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch
Normal file
343
qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch
Normal file
@ -0,0 +1,343 @@
|
||||
From 97e530bbc0066cf9f60891b99a5a974e4c3ced85 Mon Sep 17 00:00:00 2001
|
||||
From: David Redondo <kde@david-redondo.de>
|
||||
Date: Wed, 13 May 2020 11:04:23 +0200
|
||||
Subject: [PATCH] QQuickItemView: Fix max(X/Y)Extent()
|
||||
|
||||
QQuickFlickable maxXExtent() and maxYExtent() return the amount of space
|
||||
that is not shown when inside a ScrollView. QQuickItemView however just
|
||||
returned width() if vertical and height() if horizontal. In these cases
|
||||
just defer to the QQuickFlickable base implementation like minXExtent()
|
||||
and minYExtent() already do.
|
||||
|
||||
Fixes: QTBUG-83890
|
||||
Pick-to: 6.2 6.4
|
||||
Change-Id: I7f4060c2f46ae07611bedceca0d322c5f7f6affb
|
||||
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
||||
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
||||
(cherry picked from commit 99047ae219ff6689da38cc988a25030fece655da)
|
||||
---
|
||||
src/quick/items/qquickitemview.cpp | 4 +-
|
||||
.../qquickgridview/tst_qquickgridview.cpp | 29 +++---
|
||||
.../qquicklistview/tst_qquicklistview.cpp | 14 ++-
|
||||
.../quick/qquicklistview2/data/maxXExtent.qml | 29 ++++++
|
||||
.../quick/qquicklistview2/data/maxYExtent.qml | 30 ++++++
|
||||
.../qquicklistview2/tst_qquicklistview2.cpp | 94 +++++++++++++++++++
|
||||
tests/auto/quick/quick.pro | 1 +
|
||||
7 files changed, 174 insertions(+), 27 deletions(-)
|
||||
create mode 100644 tests/auto/quick/qquicklistview2/data/maxXExtent.qml
|
||||
create mode 100644 tests/auto/quick/qquicklistview2/data/maxYExtent.qml
|
||||
create mode 100644 tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp
|
||||
|
||||
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
|
||||
index f8ad168a17..a797bec4ef 100644
|
||||
--- a/src/quick/items/qquickitemview.cpp
|
||||
+++ b/src/quick/items/qquickitemview.cpp
|
||||
@@ -1393,7 +1393,7 @@ qreal QQuickItemView::maxYExtent() const
|
||||
{
|
||||
Q_D(const QQuickItemView);
|
||||
if (d->layoutOrientation() == Qt::Horizontal)
|
||||
- return height();
|
||||
+ return QQuickFlickable::maxYExtent();
|
||||
|
||||
if (d->vData.maxExtentDirty) {
|
||||
d->maxExtent = d->maxExtentForAxis(d->vData, false);
|
||||
@@ -1421,7 +1421,7 @@ qreal QQuickItemView::maxXExtent() const
|
||||
{
|
||||
Q_D(const QQuickItemView);
|
||||
if (d->layoutOrientation() == Qt::Vertical)
|
||||
- return width();
|
||||
+ return QQuickFlickable::maxXExtent();
|
||||
|
||||
if (d->hData.maxExtentDirty) {
|
||||
d->maxExtent = d->maxExtentForAxis(d->hData, true);
|
||||
diff --git a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
|
||||
index 46e3457d6e..7f79968440 100644
|
||||
--- a/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
|
||||
+++ b/tests/auto/quick/qquickgridview/tst_qquickgridview.cpp
|
||||
@@ -3543,51 +3543,46 @@ void tst_QQuickGridView::extents_data()
|
||||
|
||||
QTest::newRow("LeftToRight, LtR, TtB")
|
||||
<< QQuickGridView::FlowLeftToRight << Qt::LeftToRight << QQuickItemView::TopToBottom
|
||||
- << QPointF(0, -20) << QPointF(0, 0)
|
||||
- << QPointF(0, 20) << QPointF(240, 20)
|
||||
+ << QPointF(0, -20) << QPointF(0, 0) << QPointF(0, 20) << QPointF(0, 20)
|
||||
<< QPointF(0, -20) << QPointF(0, -20);
|
||||
|
||||
QTest::newRow("LeftToRight, RtL, TtB")
|
||||
<< QQuickGridView::FlowLeftToRight << Qt::RightToLeft << QQuickItemView::TopToBottom
|
||||
- << QPointF(0, -20) << QPointF(0, 0)
|
||||
- << QPointF(0, 20) << QPointF(240, 20)
|
||||
+ << QPointF(0, -20) << QPointF(0, 0) << QPointF(0, 20) << QPointF(0, 20)
|
||||
<< QPointF(0, -20) << QPointF(0, -20);
|
||||
|
||||
QTest::newRow("LeftToRight, LtR, BtT")
|
||||
<< QQuickGridView::FlowLeftToRight << Qt::LeftToRight << QQuickItemView::BottomToTop
|
||||
- << QPointF(0, 0) << QPointF(0, -30)
|
||||
- << QPointF(0, 320 - 20) << QPointF(240, 320 - 20) // content flow is reversed
|
||||
+ << QPointF(0, 0) << QPointF(0, -30) << QPointF(0, 320 - 20)
|
||||
+ << QPointF(0, 320 - 20) // content flow is reversed
|
||||
<< QPointF(0, -30) << QPointF(0, (-60.0 * 10) - 30);
|
||||
|
||||
QTest::newRow("LeftToRight, RtL, BtT")
|
||||
<< QQuickGridView::FlowLeftToRight << Qt::RightToLeft << QQuickItemView::BottomToTop
|
||||
- << QPointF(0, 0) << QPointF(0, -30)
|
||||
- << QPointF(0, 320 - 20) << QPointF(240, 320 - 20) // content flow is reversed
|
||||
+ << QPointF(0, 0) << QPointF(0, -30) << QPointF(0, 320 - 20)
|
||||
+ << QPointF(0, 320 - 20) // content flow is reversed
|
||||
<< QPointF(0, -30) << QPointF(0, (-60.0 * 10) - 30);
|
||||
|
||||
-
|
||||
QTest::newRow("TopToBottom, LtR, TtB")
|
||||
<< QQuickGridView::FlowTopToBottom << Qt::LeftToRight << QQuickItemView::TopToBottom
|
||||
- << QPointF(-20, 0) << QPointF(0, 0)
|
||||
- << QPointF(20, 0) << QPointF(20, 320)
|
||||
+ << QPointF(-20, 0) << QPointF(0, 0) << QPointF(20, 0) << QPointF(20, 0)
|
||||
<< QPointF(-20, 0) << QPointF(-20, 0);
|
||||
|
||||
QTest::newRow("TopToBottom, RtL, TtB")
|
||||
<< QQuickGridView::FlowTopToBottom << Qt::RightToLeft << QQuickItemView::TopToBottom
|
||||
- << QPointF(0, 0) << QPointF(-30, 0)
|
||||
- << QPointF(240 - 20, 0) << QPointF(240 - 20, 320) // content flow is reversed
|
||||
+ << QPointF(0, 0) << QPointF(-30, 0) << QPointF(240 - 20, 0)
|
||||
+ << QPointF(240 - 20, 0) // content flow is reversed
|
||||
<< QPointF(-30, 0) << QPointF((-80.0 * 6) - 30, 0);
|
||||
|
||||
QTest::newRow("TopToBottom, LtR, BtT")
|
||||
<< QQuickGridView::FlowTopToBottom << Qt::LeftToRight << QQuickItemView::BottomToTop
|
||||
- << QPointF(-20, -320) << QPointF(0, -320)
|
||||
- << QPointF(20, 0) << QPointF(20, 320)
|
||||
+ << QPointF(-20, -320) << QPointF(0, -320) << QPointF(20, 0) << QPointF(20, 0)
|
||||
<< QPointF(-20, 0) << QPointF(-20, 0);
|
||||
|
||||
QTest::newRow("TopToBottom, RtL, BtT")
|
||||
<< QQuickGridView::FlowTopToBottom << Qt::RightToLeft << QQuickItemView::BottomToTop
|
||||
- << QPointF(0, -320) << QPointF(-30, -320)
|
||||
- << QPointF(240 - 20, 0) << QPointF(240 - 20, 320) // content flow is reversed
|
||||
+ << QPointF(0, -320) << QPointF(-30, -320) << QPointF(240 - 20, 0)
|
||||
+ << QPointF(240 - 20, 0) // content flow is reversed
|
||||
<< QPointF(-30, 0) << QPointF((-80.0 * 6) - 30, 0);
|
||||
}
|
||||
|
||||
diff --git a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
|
||||
index d3deb513d0..2de6f5435c 100644
|
||||
--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
|
||||
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
|
||||
@@ -4278,26 +4278,24 @@ void tst_QQuickListView::extents_data()
|
||||
|
||||
QTest::newRow("Vertical, TopToBottom")
|
||||
<< QQuickListView::Vertical << Qt::LeftToRight << QQuickItemView::TopToBottom
|
||||
- << QPointF(0, -20) << QPointF(0, 0)
|
||||
- << QPointF(0, 20) << QPointF(240, 20)
|
||||
+ << QPointF(0, -20) << QPointF(0, 0) << QPointF(0, 20) << QPointF(0, 20)
|
||||
<< QPointF(0, -20) << QPointF(0, -20) << QPointF(0, -20);
|
||||
|
||||
QTest::newRow("Vertical, BottomToTop")
|
||||
<< QQuickListView::Vertical << Qt::LeftToRight << QQuickItemView::BottomToTop
|
||||
- << QPointF(0, 0) << QPointF(0, -30)
|
||||
- << QPointF(0, 320 - 20) << QPointF(240, 320 - 20) // content flow is reversed
|
||||
+ << QPointF(0, 0) << QPointF(0, -30) << QPointF(0, 320 - 20)
|
||||
+ << QPointF(0, 320 - 20) // content flow is reversed
|
||||
<< QPointF(0, -30) << QPointF(0, (-30.0 * 3) - 30) << QPointF(0, (-30.0 * 30) - 30);
|
||||
|
||||
QTest::newRow("Horizontal, LeftToRight")
|
||||
<< QQuickListView::Horizontal << Qt::LeftToRight << QQuickItemView::TopToBottom
|
||||
- << QPointF(-20, 0) << QPointF(0, 0)
|
||||
- << QPointF(20, 0) << QPointF(20, 320)
|
||||
+ << QPointF(-20, 0) << QPointF(0, 0) << QPointF(20, 0) << QPointF(20, 0)
|
||||
<< QPointF(-20, 0) << QPointF(-20, 0) << QPointF(-20, 0);
|
||||
|
||||
QTest::newRow("Horizontal, RightToLeft")
|
||||
<< QQuickListView::Horizontal << Qt::RightToLeft << QQuickItemView::TopToBottom
|
||||
- << QPointF(0, 0) << QPointF(-30, 0)
|
||||
- << QPointF(240 - 20, 0) << QPointF(240 - 20, 320) // content flow is reversed
|
||||
+ << QPointF(0, 0) << QPointF(-30, 0) << QPointF(240 - 20, 0)
|
||||
+ << QPointF(240 - 20, 0) // content flow is reversed
|
||||
<< QPointF(-30, 0) << QPointF((-240.0 * 3) - 30, 0) << QPointF((-240.0 * 30) - 30, 0);
|
||||
}
|
||||
|
||||
diff --git a/tests/auto/quick/qquicklistview2/data/maxXExtent.qml b/tests/auto/quick/qquicklistview2/data/maxXExtent.qml
|
||||
new file mode 100644
|
||||
index 0000000000..b9e88cfc9e
|
||||
--- /dev/null
|
||||
+++ b/tests/auto/quick/qquicklistview2/data/maxXExtent.qml
|
||||
@@ -0,0 +1,29 @@
|
||||
+// Copyright (C) 2022 The Qt Company Ltd.
|
||||
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
+
|
||||
+import QtQuick
|
||||
+
|
||||
+Item {
|
||||
+ property alias view: view
|
||||
+
|
||||
+ ListView {
|
||||
+ id: view
|
||||
+ model: 10
|
||||
+ width: 200
|
||||
+ height: 200
|
||||
+
|
||||
+ Rectangle {
|
||||
+ anchors.fill: parent
|
||||
+ color: "transparent"
|
||||
+ border.color: "darkorange"
|
||||
+ }
|
||||
+
|
||||
+ delegate: Rectangle {
|
||||
+ width: 100
|
||||
+ height: 100
|
||||
+ Text {
|
||||
+ text: modelData
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/tests/auto/quick/qquicklistview2/data/maxYExtent.qml b/tests/auto/quick/qquicklistview2/data/maxYExtent.qml
|
||||
new file mode 100644
|
||||
index 0000000000..3be8948691
|
||||
--- /dev/null
|
||||
+++ b/tests/auto/quick/qquicklistview2/data/maxYExtent.qml
|
||||
@@ -0,0 +1,30 @@
|
||||
+// Copyright (C) 2022 The Qt Company Ltd.
|
||||
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
+
|
||||
+import QtQuick
|
||||
+
|
||||
+Item {
|
||||
+ property alias view: view
|
||||
+
|
||||
+ ListView {
|
||||
+ id: view
|
||||
+ model: 10
|
||||
+ width: 200
|
||||
+ height: 200
|
||||
+ orientation: ListView.Horizontal
|
||||
+
|
||||
+ Rectangle {
|
||||
+ anchors.fill: parent
|
||||
+ color: "transparent"
|
||||
+ border.color: "darkorange"
|
||||
+ }
|
||||
+
|
||||
+ delegate: Rectangle {
|
||||
+ width: 100
|
||||
+ height: 100
|
||||
+ Text {
|
||||
+ text: modelData
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp b/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp
|
||||
new file mode 100644
|
||||
index 0000000000..40b440d9cd
|
||||
--- /dev/null
|
||||
+++ b/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp
|
||||
@@ -0,0 +1,94 @@
|
||||
+// Copyright (C) 2021 The Qt Company Ltd.
|
||||
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||
+
|
||||
+#include <QtTest/QtTest>
|
||||
+#include <QtQuick/qquickview.h>
|
||||
+#include <QtQuick/private/qquickitemview_p_p.h>
|
||||
+#include <QtQuick/private/qquicklistview_p.h>
|
||||
+#include <QtQuickTest/QtQuickTest>
|
||||
+#include <QStringListModel>
|
||||
+#include <QQmlApplicationEngine>
|
||||
+
|
||||
+#include <QtQuickTestUtils/private/viewtestutils_p.h>
|
||||
+#include <QtQuickTestUtils/private/visualtestutils_p.h>
|
||||
+#include <QtQuickTestUtils/private/qmlutils_p.h>
|
||||
+
|
||||
+Q_LOGGING_CATEGORY(lcTests, "qt.quick.tests")
|
||||
+
|
||||
+using namespace QQuickViewTestUtils;
|
||||
+using namespace QQuickVisualTestUtils;
|
||||
+
|
||||
+class tst_QQuickListView2 : public QQmlDataTest
|
||||
+{
|
||||
+ Q_OBJECT
|
||||
+public:
|
||||
+ tst_QQuickListView2();
|
||||
+
|
||||
+private slots:
|
||||
+ void maxExtent_data();
|
||||
+ void maxExtent();
|
||||
+};
|
||||
+
|
||||
+tst_QQuickListView2::tst_QQuickListView2()
|
||||
+ : QQmlDataTest(QT_QMLTEST_DATADIR)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+class FriendlyItemView : public QQuickItemView
|
||||
+{
|
||||
+ friend class ItemViewAccessor;
|
||||
+};
|
||||
+
|
||||
+class ItemViewAccessor
|
||||
+{
|
||||
+public:
|
||||
+ ItemViewAccessor(QQuickItemView *itemView) :
|
||||
+ mItemView(reinterpret_cast<FriendlyItemView*>(itemView))
|
||||
+ {
|
||||
+ }
|
||||
+
|
||||
+ qreal maxXExtent() const
|
||||
+ {
|
||||
+ return mItemView->maxXExtent();
|
||||
+ }
|
||||
+
|
||||
+ qreal maxYExtent() const
|
||||
+ {
|
||||
+ return mItemView->maxYExtent();
|
||||
+ }
|
||||
+
|
||||
+private:
|
||||
+ FriendlyItemView *mItemView = nullptr;
|
||||
+};
|
||||
+
|
||||
+void tst_QQuickListView2::maxExtent_data()
|
||||
+{
|
||||
+ QTest::addColumn<QString>("qmlFilePath");
|
||||
+ QTest::addRow("maxXExtent") << "maxXExtent.qml";
|
||||
+ QTest::addRow("maxYExtent") << "maxYExtent.qml";
|
||||
+}
|
||||
+
|
||||
+void tst_QQuickListView2::maxExtent()
|
||||
+{
|
||||
+ QFETCH(QString, qmlFilePath);
|
||||
+
|
||||
+ QScopedPointer<QQuickView> window(createView());
|
||||
+ QVERIFY(window);
|
||||
+ window->setSource(testFileUrl(qmlFilePath));
|
||||
+ QVERIFY2(window->status() == QQuickView::Ready, qPrintable(QDebug::toString(window->errors())));
|
||||
+ window->resize(640, 480);
|
||||
+ window->show();
|
||||
+ QVERIFY(QTest::qWaitForWindowExposed(window.data()));
|
||||
+
|
||||
+ QQuickListView *view = window->rootObject()->property("view").value<QQuickListView*>();
|
||||
+ QVERIFY(view);
|
||||
+ ItemViewAccessor viewAccessor(view);
|
||||
+ if (view->orientation() == QQuickListView::Vertical)
|
||||
+ QCOMPARE(viewAccessor.maxXExtent(), 0);
|
||||
+ else if (view->orientation() == QQuickListView::Horizontal)
|
||||
+ QCOMPARE(viewAccessor.maxYExtent(), 0);
|
||||
+}
|
||||
+
|
||||
+QTEST_MAIN(tst_QQuickListView2)
|
||||
+
|
||||
+#include "tst_qquicklistview2.moc"
|
||||
diff --git a/tests/auto/quick/quick.pro b/tests/auto/quick/quick.pro
|
||||
index 45bcf8a9ce..00f7d64d1e 100644
|
||||
--- a/tests/auto/quick/quick.pro
|
||||
+++ b/tests/auto/quick/quick.pro
|
||||
@@ -67,6 +67,7 @@ QUICKTESTS += \
|
||||
qquickitem2 \
|
||||
qquickitemlayer \
|
||||
qquicklistview \
|
||||
+ qquicklistview2 \
|
||||
qquicktableview \
|
||||
qquickloader \
|
||||
qquickmousearea \
|
||||
--
|
||||
GitLab
|
||||
|
BIN
qtdeclarative-everywhere-src-5.15.11+kde30.obscpio
(Stored with Git LFS)
Normal file
BIN
qtdeclarative-everywhere-src-5.15.11+kde30.obscpio
(Stored with Git LFS)
Normal file
Binary file not shown.
4
qtdeclarative-everywhere-src.obsinfo
Normal file
4
qtdeclarative-everywhere-src.obsinfo
Normal file
@ -0,0 +1,4 @@
|
||||
name: qtdeclarative-everywhere-src
|
||||
version: 5.15.11+kde30
|
||||
mtime: 1696543783
|
||||
commit: 1b0e366092bcfae0392592c3b7891f0e47af1018
|
Loading…
Reference in New Issue
Block a user