diff --git a/src/piechart/piechartitem.cpp b/src/piechart/piechartitem.cpp index 2d7fa7c..6e47710 100644 --- a/src/piechart/piechartitem.cpp +++ b/src/piechart/piechartitem.cpp @@ -38,6 +38,7 @@ PieChartItem::PieChartItem(QPieSeries *series, ChartPresenter* presenter) { Q_ASSERT(series); + connect(series, SIGNAL(visibleChanged()), this, SLOT(handleSeriesVisibleChanged())); connect(series, SIGNAL(added(QList)), this, SLOT(handleSlicesAdded(QList))); connect(series, SIGNAL(removed(QList)), this, SLOT(handleSlicesRemoved(QList))); connect(series, SIGNAL(horizontalPositionChanged()), this, SLOT(updateLayout())); @@ -196,6 +197,11 @@ void PieChartItem::handleSliceChanged() update(); } +void PieChartItem::handleSeriesVisibleChanged() +{ + setVisible(m_series->isVisible()); +} + PieSliceData PieChartItem::updateSliceGeometry(QPieSlice *slice) { PieSliceData &sliceData = QPieSlicePrivate::fromSlice(slice)->m_data; diff --git a/src/piechart/piechartitem_p.h b/src/piechart/piechartitem_p.h index e90f1e6..2e6f88b 100644 --- a/src/piechart/piechartitem_p.h +++ b/src/piechart/piechartitem_p.h @@ -62,6 +62,7 @@ public Q_SLOTS: void handleSlicesAdded(QList slices); void handleSlicesRemoved(QList slices); void handleSliceChanged(); + void handleSeriesVisibleChanged(); private: PieSliceData updateSliceGeometry(QPieSlice *slice);