forked from pool/libqt5-qtdeclarative
Accepting request 809291 from KDE:Qt:5.15
Qt 5.15.0 OBS-URL: https://build.opensuse.org/request/show/809291 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtdeclarative?expand=0&rev=60
This commit is contained in:
commit
f991e2df38
59
fix-subpixel-positioned-text.patch
Normal file
59
fix-subpixel-positioned-text.patch
Normal file
@ -0,0 +1,59 @@
|
||||
From 40ba29cae5cdb2ebd6330870a0f15e2e75d40de0 Mon Sep 17 00:00:00 2001
|
||||
From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
||||
Date: Tue, 05 May 2020 11:36:24 +0200
|
||||
Subject: [PATCH] Fix subpixel positioned text with Text.NativeRendering
|
||||
|
||||
We would be generating subpixel positioned glyphs based on the
|
||||
relative positions of the glyphs, ignoring the fractional part
|
||||
contributed by the origin of the text. So if the text origin was
|
||||
inside a pixel, the subpixel antialiasing would be wrong and we
|
||||
would see kerning errors.
|
||||
|
||||
This was especially visible when using AlignHCenter on text
|
||||
with hinting disabled and resizing the item it was aligning to.
|
||||
|
||||
Pick-to: 5.15
|
||||
Task-number: QTBUG-49646
|
||||
Change-Id: I0e709ba2b5d2440e34c94c6f819befe0a65a113a
|
||||
---
|
||||
|
||||
diff --git a/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp b/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp
|
||||
index be6ef25..831586c 100644
|
||||
--- a/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp
|
||||
+++ b/src/quick/scenegraph/qsgdefaultglyphnode_p.cpp
|
||||
@@ -789,11 +789,12 @@
|
||||
const QMargins &margins)
|
||||
{
|
||||
Q_ASSERT(m_font.isValid());
|
||||
+ QPointF position(p.x(), p.y() - m_font.ascent());
|
||||
QVector<QFixedPoint> fixedPointPositions;
|
||||
const int glyphPositionsSize = glyphPositions.size();
|
||||
fixedPointPositions.reserve(glyphPositionsSize);
|
||||
for (int i=0; i < glyphPositionsSize; ++i)
|
||||
- fixedPointPositions.append(QFixedPoint::fromPointF(glyphPositions.at(i)));
|
||||
+ fixedPointPositions.append(QFixedPoint::fromPointF(position + glyphPositions.at(i)));
|
||||
|
||||
QTextureGlyphCache *cache = glyphCache();
|
||||
|
||||
@@ -815,18 +816,16 @@
|
||||
Q_ASSERT(geometry->sizeOfVertex() == sizeof(QVector4D));
|
||||
ushort *ip = geometry->indexDataAsUShort();
|
||||
|
||||
- QPointF position(p.x(), p.y() - m_font.ascent());
|
||||
bool supportsSubPixelPositions = fontD->fontEngine->supportsSubPixelPositions();
|
||||
for (int i=0; i<glyphIndexes.size(); ++i) {
|
||||
+ QPointF glyphPosition = glyphPositions.at(i) + position;
|
||||
QFixed subPixelPosition;
|
||||
if (supportsSubPixelPositions)
|
||||
- subPixelPosition = fontD->fontEngine->subPixelPositionForX(QFixed::fromReal(glyphPositions.at(i).x()));
|
||||
+ subPixelPosition = fontD->fontEngine->subPixelPositionForX(QFixed::fromReal(glyphPosition.x()));
|
||||
|
||||
QTextureGlyphCache::GlyphAndSubPixelPosition glyph(glyphIndexes.at(i), subPixelPosition);
|
||||
const QTextureGlyphCache::Coord &c = cache->coords.value(glyph);
|
||||
|
||||
- QPointF glyphPosition = glyphPositions.at(i) + position;
|
||||
-
|
||||
// On a retina screen the glyph positions are not pre-scaled (as opposed to
|
||||
// eg. the raster paint engine). To ensure that we get the same behavior as
|
||||
// the raster engine (and CoreText itself) when it comes to rounding of the
|
||||
|
@ -1,3 +1,66 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue May 26 09:50:22 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
|
||||
|
||||
- Update to version 5.15.0:
|
||||
* No changelog available
|
||||
* Added qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch: fixes QTBUG-83890
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 20 16:14:29 UTC 2020 - Callum Farmer <callumjfarmer13@gmail.com>
|
||||
|
||||
- Update to 5.15.0-rc2:
|
||||
* No changelog available
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed May 6 11:26:52 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Update to 5.15.0-rc:
|
||||
* New bugfix release
|
||||
* For the changes between 5.14.2 and 5.15.0 please see:
|
||||
http://code.qt.io/cgit/qt/qtdeclarative.git/plain/dist/changes-5.15.0/?h=5.15.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 5 11:16:16 UTC 2020 - Fabian Vogt <fvogt@suse.com>
|
||||
|
||||
- Add patch to fix kerning with certain labels (QTBUG-49646):
|
||||
* fix-subpixel-positioned-text.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 24 07:11:08 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Update to 5.15.0-beta4:
|
||||
* New bugfix release
|
||||
* No changelog available
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 14 06:47:24 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Update to 5.15.0-beta3:
|
||||
* New bugfix release
|
||||
* No changelog available
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 24 12:13:33 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Update to 5.15.0-beta2:
|
||||
* New bugfix release
|
||||
* No changelog available
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 28 09:58:46 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Update to 5.15.0-beta1:
|
||||
* New bugfix release
|
||||
* No changelog available
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 19 10:16:19 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Update to 5.15.0-alpha:
|
||||
* New feature release
|
||||
* For more details please see:
|
||||
https://wiki.qt.io/New_Features_in_Qt_5.15
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 27 13:14:12 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package libqt5-qtdeclarative
|
||||
#
|
||||
# Copyright (c) 2019 SUSE LLC
|
||||
# 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
|
||||
@ -19,22 +19,25 @@
|
||||
%define qt5_snapshot 0
|
||||
%define libname libQtQuick5
|
||||
%define base_name libqt5
|
||||
%define real_version 5.14.1
|
||||
%define so_version 5.14.1
|
||||
%define tar_version qtdeclarative-everywhere-src-5.14.1
|
||||
%define real_version 5.15.0
|
||||
%define so_version 5.15.0
|
||||
%define tar_version qtdeclarative-everywhere-src-5.15.0
|
||||
Name: libqt5-qtdeclarative
|
||||
Version: 5.14.1
|
||||
Version: 5.15.0
|
||||
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: https://download.qt.io/official_releases/qt/5.14/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||
Source: https://download.qt.io/official_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||
Source1: baselibs.conf
|
||||
# PATCH-FIX-UPSTREAM https://codereview.qt-project.org/c/qt/qtdeclarative/+/299258/1
|
||||
Patch1: fix-subpixel-positioned-text.patch
|
||||
# PATCH-FIX-OPENSUSE sse2_nojit.patch -- enable JIT and sse2 only on sse2 case
|
||||
Patch100: sse2_nojit.patch
|
||||
# PATCH-FIX-OPENSUSE Switch to use python3 at build time
|
||||
Patch102: qtdeclarative-switch-to-python3.patch
|
||||
Patch103: qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: libQt5Core-private-headers-devel >= %{version}
|
||||
BuildRequires: libQt5Gui-private-headers-devel >= %{version}
|
||||
@ -226,6 +229,8 @@ popd
|
||||
%{_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
|
||||
@ -246,8 +251,11 @@ popd
|
||||
%{_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
|
||||
|
||||
|
336
qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch
Normal file
336
qtdeclarative-5.15.0-FixMaxXMaxYExtent.patch
Normal file
@ -0,0 +1,336 @@
|
||||
Parent: f5a4e984 (QQuickTextInputPrivate: refactor getImplicitWidth() to calculateImplicitWidth())
|
||||
Author: David Redondo <qt@david-redondo.de>
|
||||
AuthorDate: 2020-05-13 11:04:23 +0200
|
||||
Commit: Mitch Curtis <mitch.curtis@qt.io>
|
||||
CommitDate: 2020-05-25 10:58:35 +0200
|
||||
|
||||
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.
|
||||
|
||||
This change also adds tst_qquicklistview2 to speed up development.
|
||||
tst_QQuickListView is almost 9000 lines long, and compiling it
|
||||
is slow. In addition, a similar approach (creating a second test to
|
||||
avoid the slowness of a massive one) already exists for QQuickItem
|
||||
tests.
|
||||
|
||||
Fixes: QTBUG-83890
|
||||
Pick-to: 5.15
|
||||
Change-Id: I7f4060c2f46ae07611bedceca0d322c5f7f6affb
|
||||
========================================================================================================================
|
||||
--- a/src/quick/items/qquickitemview.cpp
|
||||
+++ b/src/quick/items/qquickitemview.cpp
|
||||
@@ -1393,7 +1393,7 @@
|
||||
{
|
||||
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 @@
|
||||
{
|
||||
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);
|
||||
|
||||
--- a/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
|
||||
+++ b/tests/auto/quick/qquicklistview/tst_qquicklistview.cpp
|
||||
@@ -73,6 +73,8 @@
|
||||
tst_QQuickListView();
|
||||
|
||||
private slots:
|
||||
+ // WARNING: please add new tests to tst_qquicklistview2; this file is too slow to work with.
|
||||
+
|
||||
void init();
|
||||
void cleanupTestCase();
|
||||
// Test QAbstractItemModel model types
|
||||
@@ -297,6 +299,8 @@
|
||||
|
||||
void requiredObjectListModel();
|
||||
|
||||
+ // WARNING: please add new tests to tst_qquicklistview2; this file is too slow to work with.
|
||||
+
|
||||
private:
|
||||
template <class T> void items(const QUrl &source);
|
||||
template <class T> void changed(const QUrl &source);
|
||||
@@ -10042,6 +10046,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
+// WARNING: please add new tests to tst_qquicklistview2; this file is too slow to work with.
|
||||
+
|
||||
QTEST_MAIN(tst_QQuickListView)
|
||||
|
||||
#include "tst_qquicklistview.moc"
|
||||
|
||||
--- a/tests/auto/quick/qquicklistview2/data/maxXExtent.qml
|
||||
+++ b/tests/auto/quick/qquicklistview2/data/maxXExtent.qml
|
||||
@@ -0,0 +1,54 @@
|
||||
+/****************************************************************************
|
||||
+**
|
||||
+** Copyright (C) 2020 The Qt Company Ltd.
|
||||
+** Contact: https://www.qt.io/licensing/
|
||||
+**
|
||||
+** This file is part of the test suite of the Qt Toolkit.
|
||||
+**
|
||||
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
+** Commercial License Usage
|
||||
+** Licensees holding valid commercial Qt licenses may use this file in
|
||||
+** accordance with the commercial license agreement provided with the
|
||||
+** Software or, alternatively, in accordance with the terms contained in
|
||||
+** a written agreement between you and The Qt Company. For licensing terms
|
||||
+** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
+** information use the contact form at https://www.qt.io/contact-us.
|
||||
+**
|
||||
+** GNU General Public License Usage
|
||||
+** Alternatively, this file may be used under the terms of the GNU
|
||||
+** General Public License version 3 as published by the Free Software
|
||||
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
+** included in the packaging of this file. Please review the following
|
||||
+** information to ensure the GNU General Public License requirements will
|
||||
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
+**
|
||||
+** $QT_END_LICENSE$
|
||||
+**
|
||||
+****************************************************************************/
|
||||
+
|
||||
+import QtQuick 2.15
|
||||
+
|
||||
+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
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
|
||||
--- a/tests/auto/quick/qquicklistview2/data/maxYExtent.qml
|
||||
+++ b/tests/auto/quick/qquicklistview2/data/maxYExtent.qml
|
||||
@@ -0,0 +1,55 @@
|
||||
+/****************************************************************************
|
||||
+**
|
||||
+** Copyright (C) 2020 The Qt Company Ltd.
|
||||
+** Contact: https://www.qt.io/licensing/
|
||||
+**
|
||||
+** This file is part of the test suite of the Qt Toolkit.
|
||||
+**
|
||||
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
+** Commercial License Usage
|
||||
+** Licensees holding valid commercial Qt licenses may use this file in
|
||||
+** accordance with the commercial license agreement provided with the
|
||||
+** Software or, alternatively, in accordance with the terms contained in
|
||||
+** a written agreement between you and The Qt Company. For licensing terms
|
||||
+** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
+** information use the contact form at https://www.qt.io/contact-us.
|
||||
+**
|
||||
+** GNU General Public License Usage
|
||||
+** Alternatively, this file may be used under the terms of the GNU
|
||||
+** General Public License version 3 as published by the Free Software
|
||||
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
+** included in the packaging of this file. Please review the following
|
||||
+** information to ensure the GNU General Public License requirements will
|
||||
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
+**
|
||||
+** $QT_END_LICENSE$
|
||||
+**
|
||||
+****************************************************************************/
|
||||
+
|
||||
+import QtQuick 2.15
|
||||
+
|
||||
+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
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
|
||||
--- a/tests/auto/quick/qquicklistview2/qquicklistview2.pro
|
||||
+++ b/tests/auto/quick/qquicklistview2/qquicklistview2.pro
|
||||
@@ -0,0 +1,12 @@
|
||||
+CONFIG += testcase
|
||||
+TARGET = tst_qquicklistview2
|
||||
+macos:CONFIG -= app_bundle
|
||||
+
|
||||
+SOURCES += tst_qquicklistview2.cpp
|
||||
+
|
||||
+include (../../shared/util.pri)
|
||||
+include (../shared/util.pri)
|
||||
+
|
||||
+TESTDATA = data/*
|
||||
+
|
||||
+QT += core-private gui-private qml-private quick-private testlib qmltest
|
||||
|
||||
--- a/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp
|
||||
+++ b/tests/auto/quick/qquicklistview2/tst_qquicklistview2.cpp
|
||||
@@ -0,0 +1,114 @@
|
||||
+/****************************************************************************
|
||||
+**
|
||||
+** Copyright (C) 2020 The Qt Company Ltd.
|
||||
+** Contact: https://www.qt.io/licensing/
|
||||
+**
|
||||
+** This file is part of the test suite of the Qt Toolkit.
|
||||
+**
|
||||
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
+** Commercial License Usage
|
||||
+** Licensees holding valid commercial Qt licenses may use this file in
|
||||
+** accordance with the commercial license agreement provided with the
|
||||
+** Software or, alternatively, in accordance with the terms contained in
|
||||
+** a written agreement between you and The Qt Company. For licensing terms
|
||||
+** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
+** information use the contact form at https://www.qt.io/contact-us.
|
||||
+**
|
||||
+** GNU General Public License Usage
|
||||
+** Alternatively, this file may be used under the terms of the GNU
|
||||
+** General Public License version 3 as published by the Free Software
|
||||
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
+** included in the packaging of this file. Please review the following
|
||||
+** information to ensure the GNU General Public License requirements will
|
||||
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
+**
|
||||
+** $QT_END_LICENSE$
|
||||
+**
|
||||
+****************************************************************************/
|
||||
+
|
||||
+#include <QtTest/QtTest>
|
||||
+#include <QtQuickTest/QtQuickTest>
|
||||
+#include <QtQml/qqmlapplicationengine.h>
|
||||
+#include <QtQuick/qquickview.h>
|
||||
+#include <QtQuick/private/qquicklistview_p.h>
|
||||
+
|
||||
+#include "../../shared/util.h"
|
||||
+#include "../shared/viewtestutil.h"
|
||||
+
|
||||
+using namespace QQuickViewTestUtil;
|
||||
+
|
||||
+class tst_QQuickListView2 : public QQmlDataTest
|
||||
+{
|
||||
+ Q_OBJECT
|
||||
+
|
||||
+public:
|
||||
+ tst_QQuickListView2();
|
||||
+
|
||||
+private slots:
|
||||
+ void maxExtent_data();
|
||||
+ void maxExtent();
|
||||
+};
|
||||
+
|
||||
+tst_QQuickListView2::tst_QQuickListView2()
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+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"
|
||||
|
||||
--- a/tests/auto/quick/quick.pro
|
||||
+++ b/tests/auto/quick/quick.pro
|
||||
@@ -65,6 +65,7 @@
|
||||
qquickitem2 \
|
||||
qquickitemlayer \
|
||||
qquicklistview \
|
||||
+ qquicklistview2 \
|
||||
qquicktableview \
|
||||
qquickloader \
|
||||
qquickmousearea \
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:762fe495d2f97fd70f06dc7d3929506ea3b5e3151ad813e0629209b7bc504c8a
|
||||
size 21299728
|
3
qtdeclarative-everywhere-src-5.15.0.tar.xz
Normal file
3
qtdeclarative-everywhere-src-5.15.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9c3c93fb7d340b2f7d738d12408c047318c78973cb45bfc5ff6b3a57e1fef699
|
||||
size 21493268
|
Loading…
Reference in New Issue
Block a user