kde-frameworks/kirigami: Properly sync size hints with state machine
authorAndreas Sturmlechner <asturm@gentoo.org>
Wed, 12 Feb 2020 21:22:28 +0000 (22:22 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Wed, 12 Feb 2020 21:30:23 +0000 (22:30 +0100)
See also: https://mail.kde.org/pipermail/release-team/2020-February/011757.html
KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=417351
Package-Manager: Portage-2.3.88, Repoman-2.3.20
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
kde-frameworks/kirigami/files/kirigami-5.67.1-sync-size-hints-w-state-machine.patch [new file with mode: 0644]
kde-frameworks/kirigami/kirigami-5.67.1-r1.ebuild [new file with mode: 0644]

diff --git a/kde-frameworks/kirigami/files/kirigami-5.67.1-sync-size-hints-w-state-machine.patch b/kde-frameworks/kirigami/files/kirigami-5.67.1-sync-size-hints-w-state-machine.patch
new file mode 100644 (file)
index 0000000..e5973ab
--- /dev/null
@@ -0,0 +1,55 @@
+From 86f988434cd657e77cc9429e78f7290ce6b5713d Mon Sep 17 00:00:00 2001
+From: Marco Martin <notmart@gmail.com>
+Date: Wed, 12 Feb 2020 12:43:12 +0100
+Subject: properly sync size hints with state machine
+
+define implicitWidth and width bindings in the states, in
+order to not break bindings
+BUG:417351
+---
+ src/controls/FormLayout.qml | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/src/controls/FormLayout.qml b/src/controls/FormLayout.qml
+index ff49dbd..61fbaf9 100644
+--- a/src/controls/FormLayout.qml
++++ b/src/controls/FormLayout.qml
+@@ -120,6 +120,11 @@ Item {
+                         horizontalCenter: root.horizontalCenter
+                     }
+                 }
++                PropertyChanges {
++                    target: lay
++                    implicitWidth: undefined
++                    width: undefined
++                }
+             },
+             State {
+                 when: !root.wideMode
+@@ -131,10 +136,15 @@ Item {
+                         horizontalCenter: undefined
+                     }
+                 }
++                PropertyChanges {
++                    target: lay
++                    implicitWidth: root.width
++                    width: Math.min(implicitWidth, parent.width)
++                }
++                
+             }
+         ]
+-        implicitWidth: root.wideMode ? undefined : root.width
+         width: Math.min(implicitWidth, parent.width)
+         Timer {
+             id: hintCompression
+@@ -146,6 +156,7 @@ Item {
+         }
+         onImplicitWidthChanged: hintCompression.restart();
+         //This invisible row is used to sync alignment between multiple layouts
++
+         Item {
+             Layout.preferredWidth: {
+                 var hint = 1;
+-- 
+cgit v1.1
diff --git a/kde-frameworks/kirigami/kirigami-5.67.1-r1.ebuild b/kde-frameworks/kirigami/kirigami-5.67.1-r1.ebuild
new file mode 100644 (file)
index 0000000..48fa493
--- /dev/null
@@ -0,0 +1,47 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+ECM_EXAMPLES="true"
+ECM_QTHELP="false"
+ECM_TEST="true"
+KDE_ORG_NAME="${PN}2"
+QTMIN=5.12.3
+inherit ecm kde.org
+
+DESCRIPTION="Lightweight user interface framework for mobile and convergent applications"
+HOMEPAGE="https://techbase.kde.org/Kirigami"
+
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE=""
+
+# drop qtgui subslot operator when QT_MINIMAL >= 5.14.0
+BDEPEND="
+       >=dev-qt/linguist-tools-${QTMIN}:5
+"
+DEPEND="
+       >=dev-qt/qtdbus-${QTMIN}:5
+       >=dev-qt/qtdeclarative-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5=
+       >=dev-qt/qtnetwork-${QTMIN}:5
+       >=dev-qt/qtquickcontrols2-${QTMIN}:5
+       >=dev-qt/qtsvg-${QTMIN}:5
+"
+RDEPEND="${DEPEND}
+       >=dev-qt/qtgraphicaleffects-${QTMIN}:5
+"
+
+# requires package to already be installed
+RESTRICT+=" test"
+
+PATCHES=( "${FILESDIR}/${P}-sync-size-hints-w-state-machine.patch" )
+
+src_configure() {
+       local mycmakeargs=(
+               -DBUILD_EXAMPLES=$(usex examples)
+       )
+
+       ecm_src_configure
+}