From 455874258cfe7deeb4de888483adbedd97c4da7b Mon Sep 17 00:00:00 2001 From: nirvn Date: Fri, 14 Oct 2016 17:32:17 +0700 Subject: [PATCH] [legend] insure multi-line labels are vertically centered with tall symbols --- .../layertree/qgslayertreemodellegendnode.cpp | 6 ++--- tests/src/core/testqgslegendrenderer.cpp | 23 ++++++++++++++++++ .../expected_legend_tall_symbol.png | Bin 0 -> 20452 bytes .../expected_legend_tall_symbol_mask.png | Bin 0 -> 21170 bytes 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 tests/testdata/control_images/legend/expected_legend_tall_symbol/expected_legend_tall_symbol.png create mode 100644 tests/testdata/control_images/legend/expected_legend_tall_symbol/expected_legend_tall_symbol_mask.png diff --git a/src/core/layertree/qgslayertreemodellegendnode.cpp b/src/core/layertree/qgslayertreemodellegendnode.cpp index ec6e351f284..721b7f49655 100644 --- a/src/core/layertree/qgslayertreemodellegendnode.cpp +++ b/src/core/layertree/qgslayertreemodellegendnode.cpp @@ -108,9 +108,9 @@ QSizeF QgsLayerTreeModelLegendNode::drawSymbolText( const QgsLegendSettings& set // Vertical alignment of label with symbol if ( labelSize.height() < symbolSize.height() ) - labelY += symbolSize.height() / 2 + textHeight / 2; // label centered with symbol - else - labelY += textHeight; // label starts at top and runs under symbol + labelY += symbolSize.height() / 2 - labelSize.height() / 2; // label centered with symbol + + labelY += textHeight; } for ( QStringList::Iterator itemPart = lines.begin(); itemPart != lines.end(); ++itemPart ) diff --git a/tests/src/core/testqgslegendrenderer.cpp b/tests/src/core/testqgslegendrenderer.cpp index 78457e67a15..1cf9ba354f2 100644 --- a/tests/src/core/testqgslegendrenderer.cpp +++ b/tests/src/core/testqgslegendrenderer.cpp @@ -114,6 +114,7 @@ class TestQgsLegendRenderer : public QObject void testBasic(); void testBigMarker(); void testMapUnits(); + void testTallSymbol(); void testLongSymbolText(); void testThreeColumns(); void testFilterByMap(); @@ -338,6 +339,28 @@ void TestQgsLegendRenderer::testMapUnits() QVERIFY( _verifyImage( testName, mReport ) ); } +void TestQgsLegendRenderer::testTallSymbol() +{ + QString testName = "legend_tall_symbol"; + + QgsCategorizedSymbolRenderer* catRenderer = dynamic_cast( mVL3->renderer() ); + QVERIFY( catRenderer ); + catRenderer->updateCategoryLabel( 1, "This is\nthree lines\nlong label" ); + + mVL2->setName( "This is a two lines\nlong label" ); + + QgsLayerTreeModel legendModel( mRoot ); + + QgsLegendSettings settings; + settings.setWrapChar( "\n" ); + settings.setSymbolSize( QSizeF( 10.0, 10.0 ) ); + _setStandardTestFont( settings ); + _renderLegend( testName, &legendModel, settings ); + QVERIFY( _verifyImage( testName, mReport ) ); + + mVL2->setName( "Polygon Layer" ); +} + void TestQgsLegendRenderer::testLongSymbolText() { QString testName = "legend_long_symbol_text"; diff --git a/tests/testdata/control_images/legend/expected_legend_tall_symbol/expected_legend_tall_symbol.png b/tests/testdata/control_images/legend/expected_legend_tall_symbol/expected_legend_tall_symbol.png new file mode 100644 index 0000000000000000000000000000000000000000..39b5a3bbadbf525862adde4ca5c678dfc6a8388e GIT binary patch literal 20452 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⪚&c? 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 literal 0 HcmV?d00001