summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-07-09 03:09:25 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2019-07-11 13:54:15 +0200
commit4be9ca2a74a3c23c68b33cd18b7fbee61aa790fe (patch)
treeb8fb5ca9899ba4e78c363b155444f6f5963a492a /src
parente55da30217bd39909bd6618cf52e23eacf6c7b37 (diff)
parentbeb856b0b003768e918313407d299c925cf029a9 (diff)
Merge "Merge remote-tracking branch 'origin/5.12' into 5.13"
Diffstat (limited to 'src')
-rw-r--r--src/charts/areachart/areachartitem.cpp7
-rw-r--r--src/charts/linechart/linechartitem.cpp12
-rw-r--r--src/charts/scatterchart/scatterchartitem.cpp7
-rw-r--r--src/charts/splinechart/splinechartitem.cpp7
4 files changed, 26 insertions, 7 deletions
diff --git a/src/charts/areachart/areachartitem.cpp b/src/charts/areachart/areachartitem.cpp
index e4ebf80a..0c61e0fe 100644
--- a/src/charts/areachart/areachartitem.cpp
+++ b/src/charts/areachart/areachartitem.cpp
@@ -198,8 +198,13 @@ void AreaChartItem::handleUpdated()
m_pointLabelsVisible = m_series->pointLabelsVisible();
m_pointLabelsFont = m_series->pointLabelsFont();
m_pointLabelsColor = m_series->pointLabelsColor();
+ bool labelClippingChanged = m_pointLabelsClipping != m_series->pointLabelsClipping();
m_pointLabelsClipping = m_series->pointLabelsClipping();
- update();
+ // Update whole chart in case label clipping changed as labels can be outside series area
+ if (labelClippingChanged)
+ m_series->chart()->update();
+ else
+ update();
}
void AreaChartItem::handleDomainUpdated()
diff --git a/src/charts/linechart/linechartitem.cpp b/src/charts/linechart/linechartitem.cpp
index b96d263a..99e16d29 100644
--- a/src/charts/linechart/linechartitem.cpp
+++ b/src/charts/linechart/linechartitem.cpp
@@ -354,12 +354,18 @@ void LineChartItem::handleUpdated()
m_pointLabelsVisible = m_series->pointLabelsVisible();
m_pointLabelsFont = m_series->pointLabelsFont();
m_pointLabelsColor = m_series->pointLabelsColor();
+ bool labelClippingChanged = m_pointLabelsClipping != m_series->pointLabelsClipping();
m_pointLabelsClipping = m_series->pointLabelsClipping();
if (doGeometryUpdate)
updateGeometry();
else if (m_series->useOpenGL() && visibleChanged)
refreshGlChart();
- update();
+
+ // Update whole chart in case label clipping changed as labels can be outside series area
+ if (labelClippingChanged)
+ m_series->chart()->update();
+ else
+ update();
}
void LineChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
@@ -406,9 +412,7 @@ void LineChartItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *opt
painter->drawPath(m_linePath);
} else {
painter->setBrush(QBrush(Qt::NoBrush));
- if (m_linePen.style() != Qt::SolidLine
- || painter->renderHints().testFlag(QPainter::Antialiasing)
- || alwaysUsePath) {
+ if (m_linePen.style() != Qt::SolidLine || alwaysUsePath) {
// If pen style is not solid line, always fall back to path painting
// to ensure proper continuity of the pattern
painter->drawPath(m_linePath);
diff --git a/src/charts/scatterchart/scatterchartitem.cpp b/src/charts/scatterchart/scatterchartitem.cpp
index 1558cc60..a358e4f2 100644
--- a/src/charts/scatterchart/scatterchartitem.cpp
+++ b/src/charts/scatterchart/scatterchartitem.cpp
@@ -273,6 +273,7 @@ void ScatterChartItem::handleUpdated()
m_pointLabelsVisible = m_series->pointLabelsVisible();
m_pointLabelsFont = m_series->pointLabelsFont();
m_pointLabelsColor = m_series->pointLabelsColor();
+ bool labelClippingChanged = m_pointLabelsClipping != m_series->pointLabelsClipping();
m_pointLabelsClipping = m_series->pointLabelsClipping();
if (recreate) {
@@ -285,7 +286,11 @@ void ScatterChartItem::handleUpdated()
setPen(m_series->pen());
setBrush(m_series->brush());
- update();
+ // Update whole chart in case label clipping changed as labels can be outside series area
+ if (labelClippingChanged)
+ m_series->chart()->update();
+ else
+ update();
}
QT_CHARTS_END_NAMESPACE
diff --git a/src/charts/splinechart/splinechartitem.cpp b/src/charts/splinechart/splinechartitem.cpp
index f873fd10..776842fd 100644
--- a/src/charts/splinechart/splinechartitem.cpp
+++ b/src/charts/splinechart/splinechartitem.cpp
@@ -427,8 +427,13 @@ void SplineChartItem::handleUpdated()
m_pointLabelsVisible = m_series->pointLabelsVisible();
m_pointLabelsFont = m_series->pointLabelsFont();
m_pointLabelsColor = m_series->pointLabelsColor();
+ bool labelClippingChanged = m_pointLabelsClipping != m_series->pointLabelsClipping();
m_pointLabelsClipping = m_series->pointLabelsClipping();
- update();
+ // Update whole chart in case label clipping changed as labels can be outside series area
+ if (labelClippingChanged)
+ m_series->chart()->update();
+ else
+ update();
}
//painter