commit:     aa54e46154aa952caf3a967b9401536c8848272b
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 29 19:41:57 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jun 29 19:53:17 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aa54e461

kde-frameworks/kdeclarative: qmlcontrols: add Pad fill mode in QImageItem

Upstream commit 41b3d0b142387c3acbba73f6ac332b3f314f7700
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=389623

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../kdeclarative-5.95.0-fix-potd-centered.patch    | 54 ++++++++++++++++++++++
 .../kdeclarative/kdeclarative-5.95.0-r1.ebuild     | 37 +++++++++++++++
 2 files changed, 91 insertions(+)

diff --git 
a/kde-frameworks/kdeclarative/files/kdeclarative-5.95.0-fix-potd-centered.patch 
b/kde-frameworks/kdeclarative/files/kdeclarative-5.95.0-fix-potd-centered.patch
new file mode 100644
index 000000000000..cac44a4333bf
--- /dev/null
+++ 
b/kde-frameworks/kdeclarative/files/kdeclarative-5.95.0-fix-potd-centered.patch
@@ -0,0 +1,54 @@
+From 41b3d0b142387c3acbba73f6ac332b3f314f7700 Mon Sep 17 00:00:00 2001
+From: Fushan Wen <qydwhotm...@gmail.com>
+Date: Thu, 9 Jun 2022 12:57:55 +0800
+Subject: [PATCH] qmlcontrols: add `Pad` fill mode in `QImageItem`
+
+This matches the behavior in `QQuickImage`.
+
+BUG: 389623
+FIXED-IN: 5.96
+---
+ src/qmlcontrols/kquickcontrolsaddons/qimageitem.cpp | 7 ++++++-
+ src/qmlcontrols/kquickcontrolsaddons/qimageitem.h   | 1 +
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/src/qmlcontrols/kquickcontrolsaddons/qimageitem.cpp 
b/src/qmlcontrols/kquickcontrolsaddons/qimageitem.cpp
+index 36929eed..060069a1 100644
+--- a/src/qmlcontrols/kquickcontrolsaddons/qimageitem.cpp
++++ b/src/qmlcontrols/kquickcontrolsaddons/qimageitem.cpp
+@@ -103,7 +103,11 @@ void QImageItem::paint(QPainter *painter)
+         painter->scale(1, height() / (qreal)m_image.height());
+     }
+ 
+-    if (m_fillMode >= Tile) {
++    if (m_fillMode == Pad) {
++        QRect centeredRect = m_paintedRect;
++        centeredRect.moveCenter(m_image.rect().center());
++        painter->drawImage(m_paintedRect, m_image, centeredRect);
++    } else if (m_fillMode >= Tile) {
+         painter->drawTiledPixmap(m_paintedRect, QPixmap::fromImage(m_image));
+     } else {
+         painter->drawImage(m_paintedRect, m_image, m_image.rect());
+@@ -174,6 +178,7 @@ void QImageItem::updatePaintedRect()
+     }
+     case Stretch:
+     case Tile:
++    case Pad:
+     default:
+         destRect = boundingRect().toRect();
+     }
+diff --git a/src/qmlcontrols/kquickcontrolsaddons/qimageitem.h 
b/src/qmlcontrols/kquickcontrolsaddons/qimageitem.h
+index f32ae7da..ba38a4a1 100644
+--- a/src/qmlcontrols/kquickcontrolsaddons/qimageitem.h
++++ b/src/qmlcontrols/kquickcontrolsaddons/qimageitem.h
+@@ -32,6 +32,7 @@ public:
+         Tile, // the image is duplicated horizontally and vertically
+         TileVertically, // the image is stretched horizontally and tiled 
vertically
+         TileHorizontally, // the image is stretched vertically and tiled 
horizontally
++        Pad, /**< the image is not transformed @since 5.96 **/
+     };
+     Q_ENUM(FillMode)
+ 
+-- 
+GitLab
+

diff --git a/kde-frameworks/kdeclarative/kdeclarative-5.95.0-r1.ebuild 
b/kde-frameworks/kdeclarative/kdeclarative-5.95.0-r1.ebuild
new file mode 100644
index 000000000000..6d2b7ad1ccae
--- /dev/null
+++ b/kde-frameworks/kdeclarative/kdeclarative-5.95.0-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.15.3
+inherit ecm kde.org
+
+DESCRIPTION="Framework providing integration of QML and KDE work spaces"
+
+LICENSE="LGPL-2+"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE=""
+
+DEPEND="
+       >=dev-qt/qtdeclarative-${QTMIN}:5
+       >=dev-qt/qtgui-${QTMIN}:5
+       >=dev-qt/qtnetwork-${QTMIN}:5
+       >=dev-qt/qtwidgets-${QTMIN}:5
+       =kde-frameworks/kconfig-${PVCUT}*:5
+       =kde-frameworks/kcoreaddons-${PVCUT}*:5
+       =kde-frameworks/kglobalaccel-${PVCUT}*:5
+       =kde-frameworks/ki18n-${PVCUT}*:5
+       =kde-frameworks/kiconthemes-${PVCUT}*:5
+       =kde-frameworks/kio-${PVCUT}*:5
+       =kde-frameworks/knotifications-${PVCUT}*:5
+       =kde-frameworks/kpackage-${PVCUT}*:5
+       =kde-frameworks/kservice-${PVCUT}*:5
+       =kde-frameworks/kwidgetsaddons-${PVCUT}*:5
+       =kde-frameworks/kwindowsystem-${PVCUT}*:5
+       media-libs/libepoxy
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-fix-potd-centered.patch" )

Reply via email to