This commit is contained in:
Jan Grulich 2023-01-05 17:03:30 +01:00
parent c625538cf5
commit 94dd25600e
10 changed files with 128 additions and 21 deletions

1
.gitignore vendored
View File

@ -16,3 +16,4 @@
/qtquickcontrols2-everywhere-opensource-src-5.15.5.tar.xz
/qtquickcontrols2-everywhere-opensource-src-5.15.6.tar.xz
/qtquickcontrols2-everywhere-opensource-src-5.15.7.tar.xz
/qtquickcontrols2-everywhere-opensource-src-5.15.8.tar.xz

View File

@ -1,7 +1,7 @@
From 77b25c91dfcc5b4320b25c30ad8955c41b7d2fdb Mon Sep 17 00:00:00 2001
From cee73a3e19048ab056edc857bae28e9f8d7d6c4b Mon Sep 17 00:00:00 2001
From: David Redondo <qt@david-redondo.de>
Date: Mon, 19 Jul 2021 10:06:17 +0200
Subject: [PATCH 1/5] Unset mouseGrabberPopup if it's removed from children
Subject: [PATCH 1/7] Unset mouseGrabberPopup if it's removed from children
The mouseGrabberPopup is supposed to be unset in handleRelease, however
when the exit transition of the mouseGrabberPopup (that closed itself on
@ -30,7 +30,7 @@ Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
create mode 100644 tests/auto/qquickpopup/data/releaseAfterExitTransition.qml
diff --git a/src/quicktemplates2/qquickoverlay.cpp b/src/quicktemplates2/qquickoverlay.cpp
index b8d417f29..c8cd142ae 100644
index 91bd59184..0ce518f84 100644
--- a/src/quicktemplates2/qquickoverlay.cpp
+++ b/src/quicktemplates2/qquickoverlay.cpp
@@ -399,8 +399,11 @@ void QQuickOverlay::itemChange(ItemChange change, const ItemChangeData &data)
@ -131,10 +131,10 @@ index 000000000..9e4598b9f
+ }
+}
diff --git a/tests/auto/qquickpopup/tst_qquickpopup.cpp b/tests/auto/qquickpopup/tst_qquickpopup.cpp
index ede3640c2..f1840946b 100644
index 54952d128..3d50e2dd4 100644
--- a/tests/auto/qquickpopup/tst_qquickpopup.cpp
+++ b/tests/auto/qquickpopup/tst_qquickpopup.cpp
@@ -97,6 +97,7 @@ private slots:
@@ -100,6 +100,7 @@ private slots:
void invisibleToolTipOpen();
void centerInOverlayWithinStackViewItem();
void destroyDuringExitTransition();
@ -142,7 +142,7 @@ index ede3640c2..f1840946b 100644
};
void tst_QQuickPopup::initTestCase()
@@ -1459,6 +1460,34 @@ void tst_QQuickPopup::destroyDuringExitTransition()
@@ -1575,6 +1576,34 @@ void tst_QQuickPopup::destroyDuringExitTransition()
QVERIFY(!button->isDown());
}
@ -178,5 +178,5 @@ index ede3640c2..f1840946b 100644
#include "tst_qquickpopup.moc"
--
2.37.3
2.39.0

View File

@ -1,7 +1,7 @@
From 4ec806a511090cd6298fa783d63a7a46f9174a21 Mon Sep 17 00:00:00 2001
From eea00f031d5ef3b0691ebe87e9e61dac805ca1cc Mon Sep 17 00:00:00 2001
From: Aleix Pol <aleixpol@kde.org>
Date: Tue, 4 Jan 2022 16:34:16 +0100
Subject: [PATCH 2/5] Ensure we don't crash when changing sizes after cleanup
Subject: [PATCH 2/7] Ensure we don't crash when changing sizes after cleanup
This addresses the problems I've seen during destruction. Only
encountered it when using complex layouts on a DialogButtonBox.
@ -79,5 +79,5 @@ index e6db14eb5..6197d1547 100644
qreal maxHeight = 0;
for (int i = 0; i < count; ++i) {
--
2.37.3
2.39.0

View File

@ -1,7 +1,7 @@
From 034a6e6f046d6ce97395ecad1b31b6a920f980d4 Mon Sep 17 00:00:00 2001
From 5ccf04cc3cbfb8539b71e8f1a0717ee7fa798ee6 Mon Sep 17 00:00:00 2001
From: Oliver Eftevaag <oliver.eftevaag@qt.io>
Date: Wed, 19 Jan 2022 22:09:56 +0100
Subject: [PATCH 3/5] QQuickAction: don't grab the same shortcut multiple times
Subject: [PATCH 3/7] QQuickAction: don't grab the same shortcut multiple times
If the entry for the QQuickItem that the QQuickAction is set on has
already grabbed the shortcut, then m_shortcutId is no longer 0 and we
@ -45,5 +45,5 @@ index 2041e7741..8610cdfae 100644
Qt::ShortcutContext context = Qt::WindowShortcut; // TODO
--
2.37.3
2.39.0

View File

@ -1,7 +1,7 @@
From 1bd1ceae8b8340f9d0e06b55a301c4642324d64a Mon Sep 17 00:00:00 2001
From 3dbb20b182650fce15777feaac31a5db2e04fa85 Mon Sep 17 00:00:00 2001
From: Ulf Hermann <ulf.hermann@qt.io>
Date: Tue, 11 Jan 2022 12:42:47 +0100
Subject: [PATCH 4/5] QQuickAbstractButton: fix crash on destruction
Subject: [PATCH 4/7] QQuickAbstractButton: fix crash on destruction
If we listen for size changes we also need to remove the object listened
to when it's deleted.
@ -85,5 +85,5 @@ index b3fab41ca..10b6baa02 100644
+ }
}
--
2.37.3
2.39.0

View File

@ -1,7 +1,7 @@
From 9ff77702cc3649cbaf94046742d682d77cdea698 Mon Sep 17 00:00:00 2001
From 7651ffc8762aa5eca5c7d519b91cd8a0d4e3408a Mon Sep 17 00:00:00 2001
From: Mitch Curtis <mitch.curtis@qt.io>
Date: Mon, 18 Jul 2022 15:21:49 +0800
Subject: [PATCH 5/5] Fix scroll bars not showing up when binding to standalone
Subject: [PATCH 5/7] Fix scroll bars not showing up when binding to standalone
contentItem
908aa77d16e00f2bccc0ddae0f8b61955c56a6a1 hid old scroll bars, but
@ -175,5 +175,5 @@ index 0e8b08352..cd4931184 100644
+ }
}
--
2.37.3
2.39.0

View File

@ -0,0 +1,55 @@
From 8fba89821b1978468863a1d23a6146441960c502 Mon Sep 17 00:00:00 2001
From: Harald Sitter <sitter@kde.org>
Date: Wed, 2 Nov 2022 12:39:11 +0100
Subject: [PATCH 6/7] implement a11y pressing of qquickabstractbutton
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
this adds a pressAction default implementation that simply calls trigger
(which in turn either triggers the action or emits a click), allowing
accessibility tools to issue a button press via a11y api.
Change-Id: I75b4fb8680835093b1135fdbf4329aaa85dc3243
Reviewed-by: Arjen Hiemstra <ahiemstra@heimr.nl>
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit 705659eaaf47af72eeb5f5c742e18a5c665a76eb in
qtdeclarative)
---
src/quicktemplates2/qquickabstractbutton.cpp | 6 ++++++
src/quicktemplates2/qquickabstractbutton_p.h | 1 +
2 files changed, 7 insertions(+)
diff --git a/src/quicktemplates2/qquickabstractbutton.cpp b/src/quicktemplates2/qquickabstractbutton.cpp
index 1df0c706d..b81fbea0b 100644
--- a/src/quicktemplates2/qquickabstractbutton.cpp
+++ b/src/quicktemplates2/qquickabstractbutton.cpp
@@ -1187,6 +1187,12 @@ QAccessible::Role QQuickAbstractButton::accessibleRole() const
}
return QAccessible::Button;
}
+
+void QQuickAbstractButton::accessiblePressAction()
+{
+ Q_D(QQuickAbstractButton);
+ d->trigger();
+}
#endif
QT_END_NAMESPACE
diff --git a/src/quicktemplates2/qquickabstractbutton_p.h b/src/quicktemplates2/qquickabstractbutton_p.h
index 0fa48980e..ab66220d0 100644
--- a/src/quicktemplates2/qquickabstractbutton_p.h
+++ b/src/quicktemplates2/qquickabstractbutton_p.h
@@ -209,6 +209,7 @@ protected:
#if QT_CONFIG(accessibility)
void accessibilityActiveChanged(bool active) override;
QAccessible::Role accessibleRole() const override;
+ Q_INVOKABLE void accessiblePressAction();
#endif
private:
--
2.39.0

View File

@ -0,0 +1,45 @@
From 56ce8233382a091a8476c831edd416b5f704ae4f Mon Sep 17 00:00:00 2001
From: Inho Lee <inho.lee@qt.io>
Date: Mon, 22 Aug 2022 21:05:00 +0800
Subject: [PATCH 7/7] Fix the popup position of a Menu
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
QPA code should operate in native coord.
Treat QWidgetPlatformMenu::showPopup's input as native coord.
Fixes: QTBUG-94619
Fixes: QTBUG-94783
Change-Id: Iaa030c96d84e4a588e625fe191e4324f70be961f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
(cherry picked from commit f8cf17166c9af147f0b8fea72f5b4a8a6098a5d7 in
qtdeclarative)
---
src/imports/platform/widgets/qwidgetplatformmenu.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/imports/platform/widgets/qwidgetplatformmenu.cpp b/src/imports/platform/widgets/qwidgetplatformmenu.cpp
index e5fe734f7..e36922775 100644
--- a/src/imports/platform/widgets/qwidgetplatformmenu.cpp
+++ b/src/imports/platform/widgets/qwidgetplatformmenu.cpp
@@ -38,6 +38,7 @@
#include "qwidgetplatformmenuitem_p.h"
#include <QtGui/qwindow.h>
+#include <QtGui/private/qhighdpiscaling_p.h>
#include <QtWidgets/qmenu.h>
#include <QtWidgets/qaction.h>
@@ -145,7 +146,7 @@ void QWidgetPlatformMenu::showPopup(const QWindow *window, const QRect &targetRe
QPoint targetPos = targetRect.bottomLeft();
if (window)
- targetPos = window->mapToGlobal(targetPos);
+ targetPos = window->mapToGlobal(QHighDpi::fromNativeLocalPosition(targetPos, window));
const QWidgetPlatformMenuItem *widgetItem = qobject_cast<const QWidgetPlatformMenuItem *>(item);
m_menu->popup(targetPos, widgetItem ? widgetItem->action() : nullptr);
--
2.39.0

View File

@ -2,7 +2,7 @@
Name: qt5-%{qt_module}
Summary: Qt5 - module with set of QtQuick controls for embedded
Version: 5.15.7
Version: 5.15.8
Release: 1%{?dist}
License: GPLv2+ or LGPLv3 and GFDL
@ -15,6 +15,9 @@ Patch2: 0002-Ensure-we-don-t-crash-when-changing-sizes-after-clea.patch
Patch3: 0003-QQuickAction-don-t-grab-the-same-shortcut-multiple-t.patch
Patch4: 0004-QQuickAbstractButton-fix-crash-on-destruction.patch
Patch5: 0005-Fix-scroll-bars-not-showing-up-when-binding-to-stand.patch
Patch6: 0006-implement-a11y-pressing-of-qquickabstractbutton.patch
Patch7: 0007-Fix-the-popup-position-of-a-Menu.patch
# filter qml provides
%global __provides_exclude_from ^%{_qt5_archdatadir}/qml/.*\\.so$
@ -109,6 +112,9 @@ rm -f %{buildroot}%{_qt5_libdir}/libQt5*.la
%{_libdir}/cmake/Qt5QuickTemplates2/
%changelog
* Thu Jan 05 2023 Jan Grulich <jgrulich@redhat.com> - 5.15.8-1
- 5.15.8
* Mon Oct 31 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.7-1
- 5.15.7

View File

@ -1 +1 @@
SHA512 (qtquickcontrols2-everywhere-opensource-src-5.15.7.tar.xz) = f49e330593b23ab9e84874a7cee1583df9355dd68d7c25e57fba080997b860b86f9003190e5d9a5b393efcb143fd20866daf2c8088a769e3094d6cf9607febd5
SHA512 (qtquickcontrols2-everywhere-opensource-src-5.15.8.tar.xz) = d42fd70f1d9d1d951e5a8eee886311bf70f0c9b21718b3b76b87ee38fee010c654abc82259e73883c9aca36dafcefb25e5297bf34213cafe4da6a68c4f45d816