dev-libs/kdiagram: EAPI-7 bump with a horizontal diagram fix
authorAndreas Sturmlechner <asturm@gentoo.org>
Sat, 11 May 2019 10:04:59 +0000 (12:04 +0200)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sat, 11 May 2019 10:05:31 +0000 (12:05 +0200)
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
dev-libs/kdiagram/files/kdiagram-2.6.1-fix-horizontal-bars.patch [new file with mode: 0644]
dev-libs/kdiagram/kdiagram-2.6.1-r1.ebuild [new file with mode: 0644]

diff --git a/dev-libs/kdiagram/files/kdiagram-2.6.1-fix-horizontal-bars.patch b/dev-libs/kdiagram/files/kdiagram-2.6.1-fix-horizontal-bars.patch
new file mode 100644 (file)
index 0000000..fae2998
--- /dev/null
@@ -0,0 +1,75 @@
+From d3783f643367b264800e853c7c55c515f17c2a3d Mon Sep 17 00:00:00 2001
+From: Dag Andersen <danders@get2net.dk>
+Date: Thu, 23 Aug 2018 10:47:05 +0200
+Subject: Fix painting bar diagrams with horizontal bars
+
+---
+ .../Cartesian/DiagramFlavors/KChartNormalLyingBarDiagram_p.cpp       | 5 +++--
+ .../Cartesian/DiagramFlavors/KChartPercentLyingBarDiagram_p.cpp      | 4 ++--
+ .../Cartesian/DiagramFlavors/KChartStackedLyingBarDiagram_p.cpp      | 4 ++--
+ 3 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/src/KChart/Cartesian/DiagramFlavors/KChartNormalLyingBarDiagram_p.cpp b/src/KChart/Cartesian/DiagramFlavors/KChartNormalLyingBarDiagram_p.cpp
+index 0a262ee..d2343ee 100644
+--- a/src/KChart/Cartesian/DiagramFlavors/KChartNormalLyingBarDiagram_p.cpp
++++ b/src/KChart/Cartesian/DiagramFlavors/KChartNormalLyingBarDiagram_p.cpp
+@@ -158,13 +158,13 @@ void NormalLyingBarDiagram::paint( PaintContext* ctx )
+             }
+         }
+-        for ( int column = 0; column < colCount; column++ ) {
++        for ( int column = colCount-1; column >= 0; --column ) {
+             // paint one group
+             const CartesianDiagramDataCompressor::CachePosition position( row,  column );
+             const CartesianDiagramDataCompressor::DataPoint point = compressor().data( position );
+             const QModelIndex sourceIndex = attributesModel()->mapToSource( point.index );
+-            QPointF dataPoint( 0, rowCount - ( point.key + 0.5 ) );
++            QPointF dataPoint( 0, ( point.key + 0.5 ) );
+             const QPointF topLeft = ctx->coordinatePlane()->translate( dataPoint );
+             dataPoint.rx() += point.value;
+             const QPointF bottomRight = ctx->coordinatePlane()->translate( dataPoint ) +
+@@ -173,6 +173,7 @@ void NormalLyingBarDiagram::paint( PaintContext* ctx )
+             const QRectF rect = QRectF( topLeft, bottomRight ).translated( 1.0, offset );
+             m_private->addLabel( &lpc, sourceIndex, 0, PositionPoints( rect ), Position::North,
+                                  Position::South, point.value );
++
+             paintBars( ctx, sourceIndex, rect, maxDepth );
+             offset += barWidth + spaceBetweenBars;
+diff --git a/src/KChart/Cartesian/DiagramFlavors/KChartPercentLyingBarDiagram_p.cpp b/src/KChart/Cartesian/DiagramFlavors/KChartPercentLyingBarDiagram_p.cpp
+index fee53d3..10dca65 100644
+--- a/src/KChart/Cartesian/DiagramFlavors/KChartPercentLyingBarDiagram_p.cpp
++++ b/src/KChart/Cartesian/DiagramFlavors/KChartPercentLyingBarDiagram_p.cpp
+@@ -192,11 +192,11 @@ void PercentLyingBarDiagram::paint( PaintContext* ctx )
+             QPointF point, previousPoint;
+             if ( sumValuesVector.at( curRow ) != 0 && value > 0 ) {
+-                QPointF dataPoint( ( stackedValues / sumValuesVector.at( curRow ) * maxValue ), rowCount - key );
++                QPointF dataPoint( ( stackedValues / sumValuesVector.at( curRow ) * maxValue ), key + 1 );
+                 point = ctx->coordinatePlane()->translate( dataPoint );
+                 point.ry() += offset / 2 + threeDOffset;
+-                previousPoint = ctx->coordinatePlane()->translate( QPointF( ( ( stackedValues - value) / sumValuesVector.at( curRow ) * maxValue ), rowCount - key ) );
++                previousPoint = ctx->coordinatePlane()->translate( QPointF( ( ( stackedValues - value) / sumValuesVector.at( curRow ) * maxValue ), key + 1 ) );
+             }
+             
+             const qreal barHeight = point.x() - previousPoint.x();
+diff --git a/src/KChart/Cartesian/DiagramFlavors/KChartStackedLyingBarDiagram_p.cpp b/src/KChart/Cartesian/DiagramFlavors/KChartStackedLyingBarDiagram_p.cpp
+index 70cbba0..1a5b003 100644
+--- a/src/KChart/Cartesian/DiagramFlavors/KChartStackedLyingBarDiagram_p.cpp
++++ b/src/KChart/Cartesian/DiagramFlavors/KChartStackedLyingBarDiagram_p.cpp
+@@ -184,9 +184,9 @@ void StackedLyingBarDiagram::paint( PaintContext* ctx )
+                     stackedValues += point.value;
+                 key = point.key;
+             }
+-            QPointF point = ctx->coordinatePlane()->translate( QPointF( stackedValues, rowCount - key ) );
++            QPointF point = ctx->coordinatePlane()->translate( QPointF( stackedValues, key + 1 ) );
+             point.ry() += offset / 2 + threeDOffset;
+-            const QPointF previousPoint = ctx->coordinatePlane()->translate( QPointF( stackedValues - value, rowCount - key ) );
++            const QPointF previousPoint = ctx->coordinatePlane()->translate( QPointF( stackedValues - value, key + 1 ) );
+             const qreal barHeight = point.x() - previousPoint.x();
+             point.rx() -= barHeight;
+-- 
+cgit v1.1
diff --git a/dev-libs/kdiagram/kdiagram-2.6.1-r1.ebuild b/dev-libs/kdiagram/kdiagram-2.6.1-r1.ebuild
new file mode 100644 (file)
index 0000000..6e88b0a
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+KDE_EXAMPLES="true"
+KDE_QTHELP="true"
+KDE_TEST="true"
+VIRTUALX_REQUIRED="test"
+inherit kde5
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+       KEYWORDS="~amd64 ~arm64 ~x86"
+       SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+fi
+
+DESCRIPTION="Powerful libraries (KChart, KGantt) for creating business diagrams"
+HOMEPAGE="https://kde.org/ https://www.kdab.com/development-resources/qt-tools/kd-chart/"
+IUSE=""
+
+REQUIRED_USE="test? ( examples )"
+
+BDEPEND="
+       $(add_qt_dep linguist-tools)
+"
+DEPEND="
+       $(add_qt_dep qtgui)
+       $(add_qt_dep qtprintsupport)
+       $(add_qt_dep qtsvg)
+       $(add_qt_dep qtwidgets)
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-fix-horizontal-bars.patch" )