qt5-qtquickcontrols2 package is retired on branch c10s for BAKERY-412

This commit is contained in:
Troy Dawson 2024-03-21 19:38:30 +00:00
parent 5736a803af
commit a7b47adbc7
10 changed files with 1 additions and 872 deletions

22
.gitignore vendored
View File

@ -1,22 +0,0 @@
/qtquickcontrols2-everywhere-src-5.10.1.tar.xz
/qtquickcontrols2-everywhere-src-5.11.0.tar.xz
/qtquickcontrols2-everywhere-src-5.11.1.tar.xz
/qtquickcontrols2-everywhere-src-5.11.2.tar.xz
/qtquickcontrols2-everywhere-src-5.11.3.tar.xz
/qtquickcontrols2-everywhere-src-5.12.1.tar.xz
/qtquickcontrols2-everywhere-src-5.12.3.tar.xz
/qtquickcontrols2-everywhere-src-5.12.4.tar.xz
/qtquickcontrols2-everywhere-src-5.12.5.tar.xz
/qtquickcontrols2-everywhere-src-5.13.2.tar.xz
/qtquickcontrols2-everywhere-src-5.14.2.tar.xz
/qtquickcontrols2-everywhere-src-5.15.1.tar.xz
/qtquickcontrols2-everywhere-src-5.15.2.tar.xz
/qtquickcontrols2-everywhere-opensource-src-5.15.3.tar.xz
/qtquickcontrols2-everywhere-opensource-src-5.15.4.tar.xz
/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
/qtquickcontrols2-everywhere-opensource-src-5.15.9.tar.xz
/qtquickcontrols2-everywhere-opensource-src-5.15.10.tar.xz
/qtquickcontrols2-everywhere-opensource-src-5.15.11.tar.xz

View File

@ -1,182 +0,0 @@
From 7c3fbefb8ea1fcfa6c175f8c253f649f5b262d9a 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
The mouseGrabberPopup is supposed to be unset in handleRelease, however
when the exit transition of the mouseGrabberPopup (that closed itself on
button press) finishes before the release event is delivered, it
unparents itself from the overlay (see
QQuickPopupPrivate::finalizeExitTransition) and the overlay sets itself
invisible if there is nothing else visible in it. Because the overlay
is not visible it handles no events anymore and the release is missed
and the grabber is never unset. When opening another non-modal popup
the overlay then will continue forwarding the events to now invisible
popup.
So when the overlay loses the currently grabbing popup as a child we need
to reset mouseGrabberPopup.
Fixes: QTBUG-95259
Change-Id: I3c832d47f3cee216b81ef1b5cb7dd77bf4149991
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(adapted from commit d07ee1345acd8100fa5cbb7f05c0aaf5f87f4cae)
(cherry picked from commit 1a59ef4218658ffc476909ef4fca13d6cf86d04b)
---
src/quicktemplates2/qquickoverlay.cpp | 5 +-
.../data/releaseAfterExitTransition.qml | 78 +++++++++++++++++++
tests/auto/qquickpopup/tst_qquickpopup.cpp | 29 +++++++
3 files changed, 111 insertions(+), 1 deletion(-)
create mode 100644 tests/auto/qquickpopup/data/releaseAfterExitTransition.qml
diff --git a/src/quicktemplates2/qquickoverlay.cpp b/src/quicktemplates2/qquickoverlay.cpp
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)
Q_D(QQuickOverlay);
QQuickItem::itemChange(change, data);
- if (change == ItemChildAddedChange || change == ItemChildRemovedChange)
+ if (change == ItemChildAddedChange || change == ItemChildRemovedChange) {
setVisible(!d->allDrawers.isEmpty() || !childItems().isEmpty());
+ if (data.item->parent() == d->mouseGrabberPopup)
+ d->setMouseGrabberPopup(nullptr);
+ }
}
void QQuickOverlay::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
diff --git a/tests/auto/qquickpopup/data/releaseAfterExitTransition.qml b/tests/auto/qquickpopup/data/releaseAfterExitTransition.qml
new file mode 100644
index 000000000..9e4598b9f
--- /dev/null
+++ b/tests/auto/qquickpopup/data/releaseAfterExitTransition.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2021 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:BSD$
+** 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.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+
+ApplicationWindow {
+ id: window
+ width: 400
+ height: 400
+ title: "releaseAfterExitTransition"
+
+ property alias popup: popup
+ property alias modalPopup: modalPopup
+
+ Popup {
+ id: popup
+ y: parent.height - height
+ width: 50
+ height: 50
+ }
+
+ Popup {
+ id: modalPopup
+ modal: true
+ y: parent.height - height
+ width: 50
+ height: 50
+ exit: Transition { PauseAnimation { duration: 100 } }
+ }
+}
diff --git a/tests/auto/qquickpopup/tst_qquickpopup.cpp b/tests/auto/qquickpopup/tst_qquickpopup.cpp
index 54952d128..3d50e2dd4 100644
--- a/tests/auto/qquickpopup/tst_qquickpopup.cpp
+++ b/tests/auto/qquickpopup/tst_qquickpopup.cpp
@@ -100,6 +100,7 @@ private slots:
void invisibleToolTipOpen();
void centerInOverlayWithinStackViewItem();
void destroyDuringExitTransition();
+ void releaseAfterExitTransition();
};
void tst_QQuickPopup::initTestCase()
@@ -1575,6 +1576,34 @@ void tst_QQuickPopup::destroyDuringExitTransition()
QVERIFY(!button->isDown());
}
+void tst_QQuickPopup::releaseAfterExitTransition()
+{
+ QQuickApplicationHelper helper(this, "releaseAfterExitTransition.qml");
+ QVERIFY2(helper.ready, helper.failureMessage());
+
+ QQuickWindow *window = helper.window;
+ window->show();
+ QVERIFY(QTest::qWaitForWindowActive(window));
+
+ QQuickOverlay *overlay = QQuickOverlay::overlay(window);
+ QQuickPopup *modalPopup = window->property("modalPopup").value<QQuickPopup *>();
+ QQuickPopup *popup = window->property("popup").value<QQuickPopup *>();
+
+ modalPopup->open();
+ QTRY_VERIFY(modalPopup->isOpened());
+
+ QTest::mousePress(window, Qt::LeftButton, Qt::NoModifier, QPoint(1, 1));
+ // wait until the transition is finished and the overlay hides itself
+ QTRY_VERIFY(!overlay->isVisible());
+ QTest::mouseRelease(window, Qt::LeftButton, Qt::NoModifier, QPoint(1, 1));
+
+ popup->open();
+ QTRY_VERIFY(popup->isOpened());
+ QTest::mouseClick(window, Qt::LeftButton, Qt::NoModifier, QPoint(1, 1));
+ QTRY_VERIFY(!popup->isOpened());
+}
+
+
QTEST_QUICKCONTROLS_MAIN(tst_QQuickPopup)
#include "tst_qquickpopup.moc"
--
2.41.0

View File

@ -1,83 +0,0 @@
From 996ab6f4e9e5f0ac651a9fe69722a707e57d8105 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
This addresses the problems I've seen during destruction. Only
encountered it when using complex layouts on a DialogButtonBox.
Pick-to: 6.2 6.3
Change-Id: I54528c8a2b57b4798d90f7e2021e3127f8404762
(cherry picked from commit 8b24d2bf1655e8491bdd74013579e09cd009e8fc in
qtdeclarative)
---
src/quicktemplates2/qquickcontainer.cpp | 5 +++--
src/quicktemplates2/qquickdialogbuttonbox.cpp | 8 +++++++-
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/quicktemplates2/qquickcontainer.cpp b/src/quicktemplates2/qquickcontainer.cpp
index f38c2b09c..6eed2a024 100644
--- a/src/quicktemplates2/qquickcontainer.cpp
+++ b/src/quicktemplates2/qquickcontainer.cpp
@@ -225,6 +225,7 @@ void QQuickContainerPrivate::cleanup()
QObject::disconnect(contentModel, &QQmlObjectModel::countChanged, q, &QQuickContainer::countChanged);
QObject::disconnect(contentModel, &QQmlObjectModel::childrenChanged, q, &QQuickContainer::contentChildrenChanged);
delete contentModel;
+ contentModel = nullptr;
}
QQuickItem *QQuickContainerPrivate::itemAt(int index) const
@@ -436,7 +437,7 @@ void QQuickContainerPrivate::contentChildren_clear(QQmlListProperty<QQuickItem>
void QQuickContainerPrivate::updateContentWidth()
{
Q_Q(QQuickContainer);
- if (hasContentWidth || qFuzzyCompare(contentWidth, implicitContentWidth))
+ if (hasContentWidth || qFuzzyCompare(contentWidth, implicitContentWidth) || !contentModel)
return;
contentWidth = implicitContentWidth;
@@ -446,7 +447,7 @@ void QQuickContainerPrivate::updateContentWidth()
void QQuickContainerPrivate::updateContentHeight()
{
Q_Q(QQuickContainer);
- if (hasContentHeight || qFuzzyCompare(contentHeight, implicitContentHeight))
+ if (hasContentHeight || qFuzzyCompare(contentHeight, implicitContentHeight) || !contentModel)
return;
contentHeight = implicitContentHeight;
diff --git a/src/quicktemplates2/qquickdialogbuttonbox.cpp b/src/quicktemplates2/qquickdialogbuttonbox.cpp
index e6db14eb5..6197d1547 100644
--- a/src/quicktemplates2/qquickdialogbuttonbox.cpp
+++ b/src/quicktemplates2/qquickdialogbuttonbox.cpp
@@ -237,7 +237,7 @@ static QRectF alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment
void QQuickDialogButtonBoxPrivate::resizeContent()
{
Q_Q(QQuickDialogButtonBox);
- if (!contentItem)
+ if (!contentItem || !contentModel)
return;
QRectF geometry = q->boundingRect().adjusted(q->leftPadding(), q->topPadding(), -q->rightPadding(), -q->bottomPadding());
@@ -322,6 +322,9 @@ void QQuickDialogButtonBoxPrivate::updateLayout()
qreal QQuickDialogButtonBoxPrivate::getContentWidth() const
{
Q_Q(const QQuickDialogButtonBox);
+ if (!contentModel)
+ return 0;
+
const int count = contentModel->count();
const qreal totalSpacing = qMax(0, count - 1) * spacing;
qreal totalWidth = totalSpacing;
@@ -341,6 +344,9 @@ qreal QQuickDialogButtonBoxPrivate::getContentWidth() const
qreal QQuickDialogButtonBoxPrivate::getContentHeight() const
{
Q_Q(const QQuickDialogButtonBox);
+ if (!contentModel)
+ return 0;
+
const int count = contentModel->count();
qreal maxHeight = 0;
for (int i = 0; i < count; ++i) {
--
2.41.0

View File

@ -1,55 +0,0 @@
From c560f43def3003db0acab85bba70616262673767 Mon Sep 17 00:00:00 2001
From: Harald Sitter <sitter@kde.org>
Date: Wed, 2 Nov 2022 12:39:11 +0100
Subject: [PATCH 3/5] 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 20cf59c1a..43af47a94 100644
--- a/src/quicktemplates2/qquickabstractbutton.cpp
+++ b/src/quicktemplates2/qquickabstractbutton.cpp
@@ -1201,6 +1201,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.41.0

View File

@ -1,45 +0,0 @@
From c0844c2c2fa9822689ca3d56876c51d79af08e42 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 4/5] 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.41.0

View File

@ -1,167 +0,0 @@
From a2d56960dd76c94a5115b5415be5ee174d377718 Mon Sep 17 00:00:00 2001
From: Volker Hilsheimer <volker.hilsheimer@qt.io>
Date: Tue, 18 Apr 2023 22:05:36 +0200
Subject: [PATCH 5/5] Accessibility: respect value in attached Accessible in
controls
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
QQuickItemPrivate::accessibleRole is virtual and called by the framework
to determine the role of an item. The default implementation checks and
respects a possible Accessible attached object. However, subclasses that
override the virtual don't, so the attached properties are ignored, and
the class-specific implementation wins. This makes it impossible to
change the role of e.g. a checkable button.
To fix that, move the code respecting the attached object into a non-
virtual function that the framework calls instead, and only call the
virtual member if there is no attached object, or if that object is not
initialized with a role. Replace calls to the virtual from the
framework with calls to the non-virtual wrapper.
Do this for both QQuickItem and for QQuickPopup, and adjust the logic
in QQuickControl types that create an attached object and initialize
it's role when accessibility becomes active. Use the non-overridable
effective role value for that as well.
Add a test case, and to avoid any new framework calls to the virtual,
make it private.
Fixes: QTBUG-110114
Pick-to: 6.5 6.2
Change-Id: Ia709cecbd181b6d8ee3297a4af60c1e7db9a2c51
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit 3c08d08ae2bbd449cc0579a1b3cb499383c7a60c)
---
src/quicktemplates2/qquickcontrol.cpp | 3 ++-
src/quicktemplates2/qquicklabel.cpp | 2 +-
src/quicktemplates2/qquickpopup.cpp | 14 ++++++++++++++
src/quicktemplates2/qquickpopup_p.h | 3 +++
src/quicktemplates2/qquickpopupitem.cpp | 2 +-
src/quicktemplates2/qquicktextarea.cpp | 2 +-
src/quicktemplates2/qquicktextfield.cpp | 2 +-
7 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/src/quicktemplates2/qquickcontrol.cpp b/src/quicktemplates2/qquickcontrol.cpp
index a719efd34..768691dac 100644
--- a/src/quicktemplates2/qquickcontrol.cpp
+++ b/src/quicktemplates2/qquickcontrol.cpp
@@ -2334,12 +2334,13 @@ QAccessible::Role QQuickControl::accessibleRole() const
void QQuickControl::accessibilityActiveChanged(bool active)
{
+ Q_D(QQuickControl);
if (!active)
return;
QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(this, true));
Q_ASSERT(accessibleAttached);
- accessibleAttached->setRole(accessibleRole());
+ accessibleAttached->setRole(d->effectiveAccessibleRole());
}
#endif
diff --git a/src/quicktemplates2/qquicklabel.cpp b/src/quicktemplates2/qquicklabel.cpp
index 71b60a2bc..2bc621674 100644
--- a/src/quicktemplates2/qquicklabel.cpp
+++ b/src/quicktemplates2/qquicklabel.cpp
@@ -263,7 +263,7 @@ void QQuickLabelPrivate::accessibilityActiveChanged(bool active)
Q_Q(QQuickLabel);
QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
Q_ASSERT(accessibleAttached);
- accessibleAttached->setRole(accessibleRole());
+ accessibleAttached->setRole(effectiveAccessibleRole());
maybeSetAccessibleName(text);
}
diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp
index 7df80a047..bfaa84e30 100644
--- a/src/quicktemplates2/qquickpopup.cpp
+++ b/src/quicktemplates2/qquickpopup.cpp
@@ -46,6 +46,7 @@
#include <QtQml/qqmlinfo.h>
#include <QtQuick/qquickitem.h>
+#include <QtQuick/private/qquickaccessibleattached_p.h>
#include <QtQuick/private/qquicktransition_p.h>
#include <QtQuick/private/qquickitem_p.h>
@@ -2720,6 +2721,19 @@ QPalette QQuickPopup::defaultPalette() const
}
#if QT_CONFIG(accessibility)
+QAccessible::Role QQuickPopup::effectiveAccessibleRole() const
+{
+ auto *attached = qmlAttachedPropertiesObject<QQuickAccessibleAttached>(this, false);
+
+ auto role = QAccessible::NoRole;
+ if (auto *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(attached))
+ role = accessibleAttached->role();
+ if (role == QAccessible::NoRole)
+ role = accessibleRole();
+
+ return role;
+}
+
QAccessible::Role QQuickPopup::accessibleRole() const
{
return QAccessible::Dialog;
diff --git a/src/quicktemplates2/qquickpopup_p.h b/src/quicktemplates2/qquickpopup_p.h
index dc3ebf6f8..a3773be3e 100644
--- a/src/quicktemplates2/qquickpopup_p.h
+++ b/src/quicktemplates2/qquickpopup_p.h
@@ -454,7 +454,10 @@ protected:
virtual QPalette defaultPalette() const;
#if QT_CONFIG(accessibility)
+ QAccessible::Role effectiveAccessibleRole() const;
+private:
virtual QAccessible::Role accessibleRole() const;
+protected:
virtual void accessibilityActiveChanged(bool active);
#endif
diff --git a/src/quicktemplates2/qquickpopupitem.cpp b/src/quicktemplates2/qquickpopupitem.cpp
index 0069b9fc1..143c37fc3 100644
--- a/src/quicktemplates2/qquickpopupitem.cpp
+++ b/src/quicktemplates2/qquickpopupitem.cpp
@@ -404,7 +404,7 @@ QPalette QQuickPopupItem::defaultPalette() const
QAccessible::Role QQuickPopupItem::accessibleRole() const
{
Q_D(const QQuickPopupItem);
- return d->popup->accessibleRole();
+ return d->popup->effectiveAccessibleRole();
}
void QQuickPopupItem::accessibilityActiveChanged(bool active)
diff --git a/src/quicktemplates2/qquicktextarea.cpp b/src/quicktemplates2/qquicktextarea.cpp
index 64fc631dd..fba3f6b70 100644
--- a/src/quicktemplates2/qquicktextarea.cpp
+++ b/src/quicktemplates2/qquicktextarea.cpp
@@ -512,7 +512,7 @@ void QQuickTextAreaPrivate::accessibilityActiveChanged(bool active)
Q_Q(QQuickTextArea);
QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
Q_ASSERT(accessibleAttached);
- accessibleAttached->setRole(accessibleRole());
+ accessibleAttached->setRole(effectiveAccessibleRole());
accessibleAttached->set_readOnly(q->isReadOnly());
accessibleAttached->setDescription(placeholder);
}
diff --git a/src/quicktemplates2/qquicktextfield.cpp b/src/quicktemplates2/qquicktextfield.cpp
index 8fa04bd3a..e83346cbd 100644
--- a/src/quicktemplates2/qquicktextfield.cpp
+++ b/src/quicktemplates2/qquicktextfield.cpp
@@ -359,7 +359,7 @@ void QQuickTextFieldPrivate::accessibilityActiveChanged(bool active)
Q_Q(QQuickTextField);
QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
Q_ASSERT(accessibleAttached);
- accessibleAttached->setRole(accessibleRole());
+ accessibleAttached->setRole(effectiveAccessibleRole());
accessibleAttached->set_readOnly(m_readOnly);
accessibleAttached->set_passwordEdit((m_echoMode == QQuickTextField::Password || m_echoMode == QQuickTextField::PasswordEchoOnEdit) ? true : false);
accessibleAttached->setDescription(placeholder);
--
2.41.0

1
dead.package Normal file
View File

@ -0,0 +1 @@
qt5-qtquickcontrols2 package is retired on branch c10s for BAKERY-412

View File

@ -1,316 +0,0 @@
%global qt_module qtquickcontrols2
Name: qt5-%{qt_module}
Summary: Qt5 - module with set of QtQuick controls for embedded
Version: 5.15.11
Release: 1%{?dist}
License: LGPL-3.0-only OR GPL-3.0-only WITH Qt-GPL-exception-1.0
Url: http://www.qt.io
%global majmin %(echo %{version} | cut -d. -f1-2)
Source0: https://download.qt.io/official_releases/qt/%{majmin}/%{version}/submodules/%{qt_module}-everywhere-opensource-src-%{version}.tar.xz
Patch1: 0001-Unset-mouseGrabberPopup-if-it-s-removed-from-childre.patch
Patch2: 0002-Ensure-we-don-t-crash-when-changing-sizes-after-clea.patch
Patch3: 0003-implement-a11y-pressing-of-qquickabstractbutton.patch
Patch4: 0004-Fix-the-popup-position-of-a-Menu.patch
Patch5: 0005-Accessibility-respect-value-in-attached-Accessible-i.patch
# filter qml provides
%global __provides_exclude_from ^%{_qt5_archdatadir}/qml/.*\\.so$
BuildRequires: make
BuildRequires: qt5-qtbase-devel >= %{version}
BuildRequires: qt5-qtbase-private-devel
#libQt53DRender.so.5(Qt_5_PRIVATE_API)(64bit)
#libQt5Core.so.5(Qt_5_PRIVATE_API)(64bit)
#libQt5Gui.so.5(Qt_5_PRIVATE_API)(64bit)
#libQt5Qml.so.5(Qt_5_PRIVATE_API)(64bit)
#libQt5Quick.so.5(Qt_5_PRIVATE_API)(64bit)
%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
BuildRequires: qt5-qtdeclarative-devel
Requires: qt5-qtdeclarative%{?_isa} >= %{version}
Requires: qt5-qtgraphicaleffects%{_isa} >= %{version}
%description
The Qt Labs Controls module provides a set of controls that can be used to
build complete interfaces in Qt Quick.
Unlike Qt Quick Controls, these controls are optimized for embedded systems
and so are preferred for hardware with limited resources.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: qt5-qtbase-devel%{?_isa}
Requires: qt5-qtdeclarative-devel%{?_isa}
%description devel
%{summary}.
%package examples
Summary: Examples for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description examples
%{summary}.
%prep
%autosetup -p1 -n %{qt_module}-everywhere-src-%{version}
%build
%{qmake_qt5}
%make_build
%install
make install INSTALL_ROOT=%{buildroot}
## .prl/.la file love
# nuke .prl reference(s) to %%buildroot, excessive (.la-like) libs
pushd %{buildroot}%{_qt5_libdir}
for prl_file in libQt5*.prl ; do
sed -i -e "/^QMAKE_PRL_BUILD_DIR/d" ${prl_file}
if [ -f "$(basename ${prl_file} .prl).so" ]; then
rm -fv "$(basename ${prl_file} .prl).la"
sed -i -e "/^QMAKE_PRL_LIBS/d" ${prl_file}
fi
done
popd
# Remove .la leftovers
rm -f %{buildroot}%{_qt5_libdir}/libQt5*.la
%ldconfig_scriptlets
%files
%license LICENSE.LGPLv3 LICENSE.GPLv3
%{_qt5_libdir}/libQt5QuickTemplates2.so.5*
%{_qt5_libdir}/libQt5QuickControls2.so.5*
%{_qt5_qmldir}/Qt/labs/calendar
%{_qt5_qmldir}/Qt/labs/platform
%{_qt5_archdatadir}/qml/QtQuick/Controls.2/
%{_qt5_archdatadir}/qml/QtQuick/Templates.2/
%files examples
%{_qt5_examplesdir}/quickcontrols2/
%files devel
%{_qt5_headerdir}/
%{_qt5_libdir}/pkgconfig/*.pc
%{_qt5_libdir}/libQt5QuickTemplates2.so
%{_qt5_libdir}/libQt5QuickControls2.so
%{_qt5_libdir}/libQt5QuickTemplates2.prl
%{_qt5_libdir}/libQt5QuickControls2.prl
%{_qt5_libdir}/qt5/mkspecs/modules/*
%{_libdir}/cmake/Qt5QuickControls2/
%{_libdir}/cmake/Qt5QuickTemplates2/
%changelog
* Fri Oct 06 2023 Jan Grulich <jgrulich@redhat.com> - 5.15.11-1
- 5.15.11
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Jun 12 2023 Jan Grulich <jgrulich@redhat.com> - 5.15.10-1
- 5.15.10
* Tue Apr 11 2023 Jan Grulich <jgrulich@redhat.com> - 5.15.9-1
- 5.15.9
* Tue Jan 31 2023 Jan Grulich <jgrulich@redhat.com> - 5.15.8-3
- migrated to SPDX license
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* 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
* Tue Sep 20 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.6-1
- 5.15.6
* Mon Sep 12 2022 Marc Deop marcdeop@fedoraproject.org - 5.15.5-4
- Use autosetup macro instead of setup
- Due to using autosetup, previous patches are now applied
- Comment out problematic patch
* Wed Aug 24 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.5-3
- Backport fixes from Qt patch collection
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jul 13 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.5-1
- 5.15.5
* Mon May 16 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.4-1
- 5.15.4
* Fri Mar 04 2022 Jan Grulich <jgrulich@redhat.com> - 5.15.3-1
- 5.15.3
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.15.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Nov 24 07:54:15 CET 2020 Jan Grulich <jgrulich@redhat.com> - 5.15.2-2
- Rebuild for qtbase with -no-reduce-relocations option
* Fri Nov 20 09:30:46 CET 2020 Jan Grulich <jgrulich@redhat.com> - 5.15.2-1
- 5.15.2
* Thu Sep 10 2020 Jan Grulich <jgrulich@redhat.com> - 5.15.1-1
- 5.15.1
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.14.2-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.14.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat Apr 04 2020 Rex Dieter <rdieter@fedoraproject.org> - 5.14.2-1
- 5.14.2
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.13.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Dec 09 2019 Jan Grulich <jgrulich@redhat.com> - 5.13.2-1
- 5.13.2
* Tue Sep 24 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.5-1
- 5.12.5
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.12.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Jun 14 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.4-1
- 5.12.4
* Tue Jun 04 2019 Jan Grulich <jgrulich@redhat.com> - 5.12.3-1
- 5.12.3
* Fri Feb 15 2019 Rex Dieter <rdieter@fedoraproject.org> - 5.12.1-1
- 5.12.1
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.11.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Dec 07 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.3-1
- 5.11.3
* Fri Sep 21 2018 Jan Grulich <jgrulich@redhat.com> - 5.11.2-1
- 5.11.2
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.11.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Jun 19 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.1-1
- 5.11.1
* Sun May 27 2018 Rex Dieter <rdieter@fedoraproject.org> - 5.11.0-1
- 5.11.0
- use %%make_build %%ldconfig_scriptlets
* Wed Feb 14 2018 Jan Grulich <jgrulich@redhat.com> - 5.10.1-1
- 5.10.1
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.10.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Tue Dec 19 2017 Jan Grulich <jgrulich@redhat.com> - 5.10.0-1
- 5.10.0
* Thu Nov 23 2017 Jan Grulich <jgrulich@redhat.com> - 5.9.3-1
- 5.9.3
* Tue Oct 17 2017 Rex Dieter <rdieter@fedoraproject.org> - 5.9.2-2
- BR: qt5-qtbase-private-devel
* Mon Oct 09 2017 Jan Grulich <jgrulich@redhat.com> - 5.9.2-1
- 5.9.2
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.9.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Wed Jul 19 2017 Rex Dieter <rdieter@fedoraproject.org> - 5.9.1-1
- 5.9.1
* Fri Jun 16 2017 Rex Dieter <rdieter@fedoraproject.org> - 5.9.0-2
- drop shadow/out-of-tree builds (#1456211,QTBUG-37417)
* Wed May 31 2017 Helio Chissini de Castro <helio@kde.org> - 5.9.0-1
- Upstream official release
* Fri May 26 2017 Helio Chissini de Castro <helio@kde.org> - 5.9.0-0.1.rc
- Upstream Release Candidate retagged
* Tue May 09 2017 Helio Chissini de Castro <helio@kde.org> - 5.9.0-0.beta.3
- Upstream beta 3
* Mon Jan 30 2017 Helio Chissini de Castro <helio@kde.org> - 5.8.0-1
- New upstream version
* Mon Jan 02 2017 Rex Dieter <rdieter@math.unl.edu> - 5.7.1-3
- filter qml provides
* Sat Dec 10 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.7.1-2
- 5.7.1 dec5 snapshot
- tighten deps
* Wed Nov 09 2016 Helio Chissini de Castro <helio@kde.org> - 5.7.1-1
- New upstream version
* Tue Jun 14 2016 Helio Chissini de Castro <helio@kde.org> - 5.7.0-1
- Qt 5.7.0 release
* Mon Jun 13 2016 Helio Chissini de Castro <helio@kde.org> - 5.7.0-0.1
- Prepare 5.7.0
* Sat Jun 11 2016 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> - 5.6.1-2
- Add qt5-qtgraphicaleffects dependency
* Thu Jun 09 2016 Jan Grulich <jgrulich@redhat.com> - 5.6.1-1
- Update to 5.6.1
* Sun Apr 17 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-4
- BR: qt5-qtbase-private-devel qt5-qtdeclarative-private-devel
* Sun Mar 20 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-3
- rebuild
* Fri Mar 18 2016 Rex Dieter <rdieter@fedoraproject.org> - 5.6.0-2
- rebuild
* Mon Mar 14 2016 Helio Chissini de Castro <helio@kde.org>
- 5.6.0 final release
* Mon Mar 14 2016 Helio Chissini de Castro <helio@kde.org> - 5.6.0-1
- 5.6.0 final release
* Tue Feb 23 2016 Helio Chissini de Castro <helio@kde.org> - 5.6.0-0.4.rc
- Update to final RC
* Thu Feb 18 2016 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> - 5.6.0-0.3.rc
- Update to rc
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 5.6.0-0.2.beta
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jan 15 2016 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com> - 5.6.0-0.1.beta
- Initial packaging

View File

@ -1 +0,0 @@
SHA512 (qtquickcontrols2-everywhere-opensource-src-5.15.11.tar.xz) = 2621ae1d0c8ebb38ec2c9a0ff28b9bdb3a7aebfd2b6477d145a9772002abdae832aa7daeb8843a8372b32ebe476262650ba23cc977257fd5932499cde796eb32

View File

@ -1 +0,0 @@
qtquickcontrols2-everywhere-src