Merge pull request #12413 from Rmys/master

qt5-5.15.11
This commit is contained in:
Rmys
2023-10-07 15:28:16 +03:00
committed by GitHub
4 changed files with 49 additions and 169 deletions
@@ -79,54 +79,10 @@ index f38c2b09c..6eed2a024 100644
contentHeight = implicitContentHeight;
diff --git a/src/quicktemplates2/qquickcontrol.cpp b/src/quicktemplates2/qquickcontrol.cpp
index 409fb582c..c4b05c13c 100644
index a719efd34..768691dac 100644
--- a/src/quicktemplates2/qquickcontrol.cpp
+++ b/src/quicktemplates2/qquickcontrol.cpp
@@ -846,6 +846,13 @@ void QQuickControlPrivate::executeBackground(bool complete)
quickCompleteDeferred(q, backgroundName(), background);
}
+/*
+ \internal
+
+ Hides an item that was replaced by a newer one, rather than
+ deleting it, as the item is typically created in QML and hence
+ we don't own it.
+*/
void QQuickControlPrivate::hideOldItem(QQuickItem *item)
{
if (!item)
@@ -864,6 +871,29 @@ void QQuickControlPrivate::hideOldItem(QQuickItem *item)
#endif
}
+/*
+ \internal
+
+ Named "unhide" because it's used for cases where an item
+ that was previously hidden by \l hideOldItem() wants to be
+ shown by a control again, such as a ScrollBar in ScrollView.
+*/
+void QQuickControlPrivate::unhideOldItem(QQuickControl *control, QQuickItem *item)
+{
+ Q_ASSERT(item);
+ qCDebug(lcItemManagement) << "unhiding old item" << item;
+
+ item->setVisible(true);
+ item->setParentItem(control);
+
+#if QT_CONFIG(accessibility)
+ // Add the item back in to the accessibility tree.
+ QQuickAccessibleAttached *accessible = accessibleAttached(item);
+ if (accessible)
+ accessible->setIgnored(false);
+#endif
+}
+
void QQuickControlPrivate::updateBaselineOffset()
{
Q_Q(QQuickControl);
@@ -2297,12 +2327,13 @@ QAccessible::Role QQuickControl::accessibleRole() const
@@ -2334,12 +2334,13 @@ QAccessible::Role QQuickControl::accessibleRole() const
void QQuickControl::accessibilityActiveChanged(bool active)
{
@@ -141,18 +97,6 @@ index 409fb582c..c4b05c13c 100644
}
#endif
diff --git a/src/quicktemplates2/qquickcontrol_p_p.h b/src/quicktemplates2/qquickcontrol_p_p.h
index 8e979079e..a6e624c91 100644
--- a/src/quicktemplates2/qquickcontrol_p_p.h
+++ b/src/quicktemplates2/qquickcontrol_p_p.h
@@ -173,6 +173,7 @@ public:
virtual void executeBackground(bool complete = false);
static void hideOldItem(QQuickItem *item);
+ static void unhideOldItem(QQuickControl *control, QQuickItem *item);
void updateBaselineOffset();
diff --git a/src/quicktemplates2/qquickdialogbuttonbox.cpp b/src/quicktemplates2/qquickdialogbuttonbox.cpp
index e6db14eb5..6197d1547 100644
--- a/src/quicktemplates2/qquickdialogbuttonbox.cpp
@@ -276,35 +220,6 @@ index 0069b9fc1..143c37fc3 100644
}
void QQuickPopupItem::accessibilityActiveChanged(bool active)
diff --git a/src/quicktemplates2/qquickscrollbar.cpp b/src/quicktemplates2/qquickscrollbar.cpp
index 4e2f509db..1c4b308cd 100644
--- a/src/quicktemplates2/qquickscrollbar.cpp
+++ b/src/quicktemplates2/qquickscrollbar.cpp
@@ -797,6 +797,14 @@ void QQuickScrollBarAttachedPrivate::initHorizontal()
if (parent && parent == flickable->parentItem())
horizontal->stackAfter(flickable);
+ // If a scroll bar was previously hidden (due to e.g. setting a new contentItem
+ // on a ScrollView), we need to make sure that we un-hide it.
+ // We don't bother checking if the item is actually the old one, because
+ // if it's not, all of the things the function does (setting parent, visibility, etc.)
+ // should be no-ops anyway.
+ if (auto control = qobject_cast<QQuickControl*>(q_ptr->parent()))
+ QQuickControlPrivate::unhideOldItem(control, horizontal);
+
layoutHorizontal();
horizontal->setSize(area->property("widthRatio").toReal());
horizontal->setPosition(area->property("xPosition").toReal());
@@ -818,6 +826,9 @@ void QQuickScrollBarAttachedPrivate::initVertical()
if (parent && parent == flickable->parentItem())
vertical->stackAfter(flickable);
+ if (auto control = qobject_cast<QQuickControl*>(q_ptr->parent()))
+ QQuickControlPrivate::unhideOldItem(control, vertical);
+
layoutVertical();
vertical->setSize(area->property("heightRatio").toReal());
vertical->setPosition(area->property("yPosition").toReal());
diff --git a/src/quicktemplates2/qquicktextarea.cpp b/src/quicktemplates2/qquicktextarea.cpp
index 64fc631dd..fba3f6b70 100644
--- a/src/quicktemplates2/qquicktextarea.cpp
@@ -331,62 +246,6 @@ index 8fa04bd3a..e83346cbd 100644
accessibleAttached->set_readOnly(m_readOnly);
accessibleAttached->set_passwordEdit((m_echoMode == QQuickTextField::Password || m_echoMode == QQuickTextField::PasswordEchoOnEdit) ? true : false);
accessibleAttached->setDescription(placeholder);
diff --git a/tests/auto/controls/data/tst_scrollview.qml b/tests/auto/controls/data/tst_scrollview.qml
index 0e8b08352..cd4931184 100644
--- a/tests/auto/controls/data/tst_scrollview.qml
+++ b/tests/auto/controls/data/tst_scrollview.qml
@@ -576,4 +576,51 @@ TestCase {
verify(newHorizontalScrollBar.visible)
verify(!oldHorizontalScrollBar.visible)
}
+
+ Component {
+ id: bindingToContentItemAndStandaloneFlickable
+
+ Item {
+ width: 200
+ height: 200
+
+ property alias scrollView: scrollView
+
+ ScrollView {
+ id: scrollView
+ anchors.fill: parent
+ contentItem: listView
+
+ property Item someBinding: contentItem
+ }
+ ListView {
+ id: listView
+ model: 10
+ delegate: ItemDelegate {
+ text: modelData
+ width: listView.width
+ }
+ }
+ }
+ }
+
+ // Tests that scroll bars show up for a ScrollView where
+ // - its contentItem is declared as a standalone, separate item
+ // - there is a binding to contentItem (which causes a default Flickable to be created)
+ function test_bindingToContentItemAndStandaloneFlickable() {
+ let root = createTemporaryObject(bindingToContentItemAndStandaloneFlickable, testCase)
+ verify(root)
+
+ let control = root.scrollView
+ let verticalScrollBar = control.ScrollBar.vertical
+ let horizontalScrollBar = control.ScrollBar.horizontal
+ compare(verticalScrollBar.parent, control)
+ compare(horizontalScrollBar.parent, control)
+ verify(verticalScrollBar.visible)
+ verify(horizontalScrollBar.visible)
+
+ mouseDrag(verticalScrollBar, verticalScrollBar.width / 2, verticalScrollBar.height / 2, 0, 50)
+ verify(verticalScrollBar.active)
+ verify(horizontalScrollBar.active)
+ }
}
diff --git a/tests/auto/qquickpopup/data/releaseAfterExitTransition.qml b/tests/auto/qquickpopup/data/releaseAfterExitTransition.qml
new file mode 100644
index 000000000..9e4598b9f
@@ -11,14 +11,14 @@
<Summary>Next generation user interface controls based on Qt Quick</Summary>
<Description>Next generation user interface controls based on Qt Quick</Description>
<License>LGPLv2.1-linking-exception</License>
<Archive sha1sum="988770245fbd1df5f4335d3dc77a6bbb249bbbbd" type="tarxz">https://download.qt.io/official_releases/qt/5.15/5.15.10/submodules/qtquickcontrols2-everywhere-opensource-src-5.15.10.tar.xz</Archive>
<Archive sha1sum="2c5effd892efcb6582750974bc4084509a3f4555" type="tarxz">https://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtquickcontrols2-everywhere-opensource-src-5.15.11.tar.xz</Archive>
<BuildDependencies>
<Dependency versionFrom="5.15.10">qt5-sql-sqlite</Dependency>
<Dependency versionFrom="5.15.10">qt5-base-devel</Dependency>
<Dependency versionFrom="5.15.10">qt5-assistant-devel</Dependency>
<Dependency versionFrom="5.15.10">qt5-graphicaleffects</Dependency>
<Dependency versionFrom="5.15.10">qt5-xmlpatterns-devel</Dependency>
<Dependency versionFrom="5.15.10">qt5-declarative-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-sql-sqlite</Dependency>
<Dependency versionFrom="5.15.11">qt5-base-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-assistant-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-graphicaleffects</Dependency>
<Dependency versionFrom="5.15.11">qt5-xmlpatterns-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-declarative-devel</Dependency>
</BuildDependencies>
<Patches>
<Patch level="1">qt_kde.patch</Patch>
@@ -29,9 +29,9 @@
<Name>qt5-quickcontrols2</Name>
<RuntimeDependencies>
<Dependency>libgcc</Dependency>
<Dependency versionFrom="5.15.10">qt5-base</Dependency>
<Dependency versionFrom="5.15.10">qt5-declarative</Dependency>
<Dependency versionFrom="5.15.10">qt5-graphicaleffects</Dependency>
<Dependency versionFrom="5.15.11">qt5-base</Dependency>
<Dependency versionFrom="5.15.11">qt5-declarative</Dependency>
<Dependency versionFrom="5.15.11">qt5-graphicaleffects</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="library">/usr/lib</Path>
@@ -44,8 +44,8 @@
<Name>qt5-quickcontrols2-devel</Name>
<RuntimeDependencies>
<Dependency release="current">qt5-quickcontrols2</Dependency>
<Dependency versionFrom="5.15.10">qt5-base-devel</Dependency>
<Dependency versionFrom="5.15.10">qt5-declarative-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-base-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-declarative-devel</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="header">/usr/include</Path>
@@ -56,7 +56,7 @@
<Package>
<Name>qt5-quickcontrols2-docs</Name>
<RuntimeDependencies>
<Dependency versionFrom="5.15.10">qt5-base</Dependency>
<Dependency versionFrom="5.15.11">qt5-base</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="doc">/usr/share/doc</Path>
@@ -64,6 +64,13 @@
</Package>
<History>
<Update release="34">
<Date>2023-10-07</Date>
<Version>5.15.11</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="33">
<Date>2023-06-17</Date>
<Version>5.15.10</Version>
+13 -6
View File
@@ -14,18 +14,18 @@
<License>LGPL3</License>
<Summary>Qt module for general purpose serial bus access</Summary>
<Description>Qt module for general purpose serial bus access</Description>
<Archive type="tarxz" sha1sum="5db383f95cff9bc10123a097258d6603eff5bc47">http://download.qt.io/official_releases/qt/5.15/5.15.10/submodules/qtserialbus-everywhere-opensource-src-5.15.10.tar.xz</Archive>
<Archive type="tarxz" sha1sum="8b0732bee76b2bb7e124ada064ca4848843895de">http://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtserialbus-everywhere-opensource-src-5.15.11.tar.xz</Archive>
<BuildDependencies>
<Dependency versionFrom="5.15.10">qt5-base-devel</Dependency>
<Dependency versionFrom="5.15.10">qt5-serialport-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-base-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-serialport-devel</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>qt5-serialbus</Name>
<Summary>Qt module for general purpose serial bus access</Summary>
<RuntimeDependencies>
<Dependency versionFrom="5.15.10">qt5-base</Dependency>
<Dependency versionFrom="5.15.10">qt5-serialport</Dependency>
<Dependency versionFrom="5.15.11">qt5-base</Dependency>
<Dependency versionFrom="5.15.11">qt5-serialport</Dependency>
<Dependency>libgcc</Dependency>
</RuntimeDependencies>
<Files>
@@ -40,7 +40,7 @@
<Name>qt5-serialbus-devel</Name>
<Summary>Development files for qt5-serialbus</Summary>
<RuntimeDependencies>
<Dependency versionFrom="5.15.10">qt5-base-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-base-devel</Dependency>
<Dependency release="current">qt5-serialbus</Dependency>
</RuntimeDependencies>
<Files>
@@ -51,6 +51,13 @@
</Package>
<History>
<Update release="22">
<Date>2023-10-07</Date>
<Version>5.15.11</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="21">
<Date>2023-06-17</Date>
<Version>5.15.10</Version>
@@ -11,22 +11,22 @@
<License>GPL3</License>
<Summary>Qt module for general purpose serial bus access</Summary>
<Description>Virtual keyboard framework</Description>
<Archive type="tarxz" sha1sum="25d2c948cdfc749e8128239f32b139565478a01e">http://download.qt.io/official_releases/qt/5.15/5.15.10/submodules/qtvirtualkeyboard-everywhere-opensource-src-5.15.10.tar.xz</Archive>
<Archive type="tarxz" sha1sum="f84bd24414fca1bd0a128d684bed78b2f10ad08f">http://download.qt.io/official_releases/qt/5.15/5.15.11/submodules/qtvirtualkeyboard-everywhere-opensource-src-5.15.11.tar.xz</Archive>
<BuildDependencies>
<Dependency>libxcb-devel</Dependency>
<Dependency>hunspell-devel</Dependency>
<Dependency versionFrom="5.15.10">qt5-svg-devel</Dependency>
<Dependency versionFrom="5.15.10">qt5-base-devel</Dependency>
<Dependency versionFrom="5.15.10">qt5-declarative-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-svg-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-base-devel</Dependency>
<Dependency versionFrom="5.15.11">qt5-declarative-devel</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>qt5-virtualkeyboard</Name>
<Summary>Virtual keyboard framework</Summary>
<RuntimeDependencies>
<Dependency versionFrom="5.15.10">qt5-svg</Dependency>
<Dependency versionFrom="5.15.10">qt5-base</Dependency>
<Dependency versionFrom="5.15.10">qt5-declarative</Dependency>
<Dependency versionFrom="5.15.11">qt5-svg</Dependency>
<Dependency versionFrom="5.15.11">qt5-base</Dependency>
<Dependency versionFrom="5.15.11">qt5-declarative</Dependency>
<Dependency>libgcc</Dependency>
<Dependency>libxcb</Dependency>
<Dependency>hunspell</Dependency>
@@ -51,6 +51,13 @@
</Files>
</Package>
<History>
<Update release="22">
<Date>2023-10-07</Date>
<Version>5.15.11</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="21">
<Date>2023-06-17</Date>
<Version>5.15.10</Version>