From 3fc8801b31bbc7c635e8ecbd4676d9f068d84b81 2012-06-26 09:03:48 From: Tero Ahola Date: 2012-06-26 09:03:48 Subject: [PATCH] Removed QLegend::setLabelPen, clean up theme label brushes --- diff --git a/src/charttheme.cpp b/src/charttheme.cpp index f3ee4c1..e1c7aa3 100644 --- a/src/charttheme.cpp +++ b/src/charttheme.cpp @@ -65,9 +65,8 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE ChartTheme::ChartTheme(QChart::ChartTheme id) : m_masterFont(QFont("arial", 14)), m_labelFont(QFont("arial", 10)), - m_titleBrush(QColor(QRgb(0x000000))), + m_labelBrush(QColor(QRgb(0x000000))), m_axisLinePen(QPen(QRgb(0x000000))), - m_axisLabelBrush(QColor(QRgb(0x000000))), m_backgroundShadesPen(Qt::NoPen), m_backgroundShadesBrush(Qt::NoBrush), m_backgroundShades(BackgroundShadesNone), @@ -109,7 +108,7 @@ void ChartTheme::decorate(QChart *chart) if(brush == chart->backgroundBrush() || m_force) chart->setBackgroundBrush(m_chartBackgroundGradient); chart->setTitleFont(m_masterFont); - chart->setTitleBrush(m_titleBrush); + chart->setTitleBrush(m_labelBrush); chart->setDropShadowEnabled(m_backgroundDropShadowEnabled); } @@ -125,12 +124,11 @@ void ChartTheme::decorate(QLegend *legend) if (brush == legend->brush() || m_force) legend->setBrush(m_chartBackgroundGradient); - // TODO: should legend have own brush & font defined by theme? if (font == legend->font() || m_force) legend->setFont(m_labelFont); if (brush == legend->labelBrush() || m_force) - legend->setLabelBrush(m_axisLabelBrush); + legend->setLabelBrush(m_labelBrush); } void ChartTheme::decorate(QAreaSeries *series, int index) @@ -241,7 +239,7 @@ void ChartTheme::decorate(QPieSeries *series, int index) d->setBrush(brushColor, true); if (d->m_data.m_labelBrush.isThemed() || m_force) - d->setLabelBrush(QBrush(m_titleBrush.color()), true); + d->setLabelBrush(m_labelBrush.color(), true); if (d->m_data.m_labelFont.isThemed() || m_force) d->setLabelFont(m_labelFont, true); @@ -267,7 +265,7 @@ void ChartTheme::decorate(QAxis *axis,bool axisX) if (axis->isAxisVisible()) { if(brush == axis->labelsBrush() || m_force){ - axis->setLabelsBrush(m_axisLabelBrush); + axis->setLabelsBrush(m_labelBrush); } if(pen == axis->labelsPen() || m_force){ axis->setLabelsPen(Qt::NoPen); // NoPen for performance reasons diff --git a/src/charttheme_p.h b/src/charttheme_p.h index e56cd69..e5b926d 100644 --- a/src/charttheme_p.h +++ b/src/charttheme_p.h @@ -95,9 +95,8 @@ protected: QFont m_masterFont; QFont m_labelFont; - QBrush m_titleBrush; + QBrush m_labelBrush; QPen m_axisLinePen; - QBrush m_axisLabelBrush; QPen m_backgroundShadesPen; QBrush m_backgroundShadesBrush; BackgroundShadesMode m_backgroundShades; diff --git a/src/legend/legendmarker.cpp b/src/legend/legendmarker.cpp index b88c366..296519e 100644 --- a/src/legend/legendmarker.cpp +++ b/src/legend/legendmarker.cpp @@ -52,13 +52,13 @@ LegendMarker::LegendMarker(QAbstractSeries *series, QLegend *legend) : void LegendMarker::setPen(const QPen &pen) { - m_textItem->setPen(pen); + m_rectItem->setPen(pen); updateLayout(); } QPen LegendMarker::pen() const { - return m_textItem->pen(); + return m_rectItem->pen(); } void LegendMarker::setBrush(const QBrush &brush) @@ -109,17 +109,6 @@ QBrush LegendMarker::labelBrush() const return m_textItem->brush(); } -void LegendMarker::setLabelPen(const QPen &pen) -{ - m_textItem->setPen(pen); - updateLayout(); -} - -QPen LegendMarker::labelPen() const -{ - return m_textItem->pen(); -} - void LegendMarker::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { Q_UNUSED(option) diff --git a/src/legend/legendmarker_p.h b/src/legend/legendmarker_p.h index c105e7e..87ed0d9 100644 --- a/src/legend/legendmarker_p.h +++ b/src/legend/legendmarker_p.h @@ -68,8 +68,6 @@ public: QString label() const; void setLabelBrush(const QBrush &brush); QBrush labelBrush() const; - void setLabelPen(const QPen &pen); - QPen labelPen() const; QAbstractSeries *series() const { return m_series;} diff --git a/src/legend/qlegend.cpp b/src/legend/qlegend.cpp index 04fe655..32ff395 100644 --- a/src/legend/qlegend.cpp +++ b/src/legend/qlegend.cpp @@ -286,26 +286,11 @@ QFont QLegend::font() const return d_ptr->m_font; } -void QLegend::setLabelPen(const QPen &pen) -{ - if (d_ptr->m_labelPen != pen) { - d_ptr->setLabelPen(pen); - emit labelPenChanged(pen); - } -} - -QPen QLegend::labelPen() const -{ - return d_ptr->m_labelPen; -} - void QLegend::setLabelBrush(const QBrush &brush) { - qDebug() << "setting legend brush 1"; if (d_ptr->m_labelBrush != brush) { d_ptr->setLabelBrush(brush); emit labelBrushChanged(brush); - qDebug() << "setting legend brush 2"; } } @@ -440,7 +425,6 @@ QLegendPrivate::QLegendPrivate(ChartPresenter* presenter, QChart *chart, QLegend m_alignment(Qt::AlignTop), m_brush(QBrush()), m_pen(QPen()), - m_labelPen(QPen(Qt::NoPen)), m_labelBrush(QBrush()), m_offsetX(0), m_offsetY(0), @@ -765,18 +749,6 @@ void QLegendPrivate::setFont(const QFont &font) updateLayout(); } -void QLegendPrivate::setLabelPen(const QPen &pen) -{ - m_labelPen = pen; - QList items = m_markers->childItems(); - - foreach (QGraphicsItem *markers, items) { - LegendMarker *marker = static_cast(markers); - marker->setPen(m_labelPen); - } - updateLayout(); -} - void QLegendPrivate::setLabelBrush(const QBrush &brush) { m_labelBrush = brush; @@ -796,7 +768,6 @@ void QLegendPrivate::handleSeriesAdded(QAbstractSeries *series, Domain *domain) QList markers = series->d_ptr->createLegendMarker(q_ptr); foreach(LegendMarker* marker, markers) { marker->setFont(m_font); - marker->setLabelPen(m_labelPen); marker->setLabelBrush(m_labelBrush); m_markers->addToGroup(marker); } diff --git a/src/legend/qlegend.h b/src/legend/qlegend.h index d4444b8..ace9d42 100644 --- a/src/legend/qlegend.h +++ b/src/legend/qlegend.h @@ -49,8 +49,6 @@ class QTCOMMERCIALCHART_EXPORT QLegend : public QGraphicsWidget Q_PROPERTY(QColor borderColor READ borderColor WRITE setBorderColor NOTIFY borderColorChanged) Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged) Q_PROPERTY(QColor labelColor READ labelColor WRITE setLabelColor NOTIFY labelColorChanged) -// TODO? -// Q_PROPERTY(QColor labelBorderColor READ labelBorderColor WRITE setLabelBorderColor NOTIFY labelBorderColorChanged) private: explicit QLegend(QChart *chart); @@ -73,8 +71,6 @@ public: void setFont(const QFont &font); QFont font() const; - void setLabelPen(const QPen &pen); - QPen labelPen() const; void setLabelBrush(const QBrush &brush); QBrush labelBrush() const; @@ -104,11 +100,8 @@ Q_SIGNALS: void colorChanged(QColor color); void borderColorChanged(QColor color); void fontChanged(QFont font); - void labelPenChanged(QPen pen); void labelBrushChanged(QBrush brush); void labelColorChanged(QColor color); -// TODO? -// void labelBorderColorChanged(QColor color); private: QScopedPointer d_ptr; diff --git a/src/legend/qlegend_p.h b/src/legend/qlegend_p.h index c22eb05..4a00b7b 100644 --- a/src/legend/qlegend_p.h +++ b/src/legend/qlegend_p.h @@ -52,7 +52,6 @@ public: void attachToChart(); int roundness(qreal size); void setFont(const QFont &font); - void setLabelPen(const QPen &pen); void setLabelBrush(const QBrush &brush); public Q_SLOTS: @@ -71,7 +70,6 @@ private: QBrush m_brush; QPen m_pen; QFont m_font; - QPen m_labelPen; QBrush m_labelBrush; QRectF m_rect; qreal m_offsetX; diff --git a/src/themes/chartthemebluecerulean_p.h b/src/themes/chartthemebluecerulean_p.h index 80d0dbb..bdf2caf 100644 --- a/src/themes/chartthemebluecerulean_p.h +++ b/src/themes/chartthemebluecerulean_p.h @@ -55,10 +55,9 @@ public: m_chartBackgroundGradient = backgroundGradient; // Axes and other - m_titleBrush = QBrush(QRgb(0xffffff)); + m_labelBrush = QBrush(QRgb(0xffffff)); m_axisLinePen = QPen(QRgb(0xd6d6d6)); m_axisLinePen.setWidth(2); - m_axisLabelBrush = QBrush(QRgb(0xffffff)); m_gridLinePen = QPen(QRgb(0x84a2b0)); m_gridLinePen.setWidth(1); m_backgroundShades = BackgroundShadesNone; diff --git a/src/themes/chartthemeblueicy_p.h b/src/themes/chartthemeblueicy_p.h index 0523855..4bfcef7 100644 --- a/src/themes/chartthemeblueicy_p.h +++ b/src/themes/chartthemeblueicy_p.h @@ -56,10 +56,9 @@ public: m_backgroundDropShadowEnabled = true; // Axes and other - m_titleBrush = QBrush(QRgb(0x404044)); + m_labelBrush = QBrush(QRgb(0x404044)); m_axisLinePen = QPen(QRgb(0xd6d6d6)); m_axisLinePen.setWidth(2); - m_axisLabelBrush = QBrush(QRgb(0x404044)); m_gridLinePen = QPen(QRgb(0xe2e2e2)); m_gridLinePen.setWidth(1); m_backgroundShades = BackgroundShadesNone; diff --git a/src/themes/chartthemebluencs_p.h b/src/themes/chartthemebluencs_p.h index 282d4a3..c42c031 100644 --- a/src/themes/chartthemebluencs_p.h +++ b/src/themes/chartthemebluencs_p.h @@ -55,10 +55,9 @@ public: m_chartBackgroundGradient = backgroundGradient; // Axes and other - m_titleBrush = QBrush(QRgb(0x404044)); + m_labelBrush = QBrush(QRgb(0x404044)); m_axisLinePen = QPen(QRgb(0xd6d6d6)); m_axisLinePen.setWidth(2); - m_axisLabelBrush = QBrush(QRgb(0x404044)); m_gridLinePen = QPen(QRgb(0xe2e2e2)); m_gridLinePen.setWidth(1); m_backgroundShades = BackgroundShadesNone; diff --git a/src/themes/chartthemebrownsand_p.h b/src/themes/chartthemebrownsand_p.h index 9a5cda2..c3154b4 100644 --- a/src/themes/chartthemebrownsand_p.h +++ b/src/themes/chartthemebrownsand_p.h @@ -55,10 +55,9 @@ public: m_chartBackgroundGradient = backgroundGradient; // Axes and other - m_titleBrush = QBrush(QRgb(0x404044)); + m_labelBrush = QBrush(QRgb(0x404044)); m_axisLinePen = QPen(QRgb(0xb5b0a7)); m_axisLinePen.setWidth(2); - m_axisLabelBrush = QBrush(QRgb(0x404044)); m_gridLinePen = QPen(QRgb(0xd4cec3)); m_gridLinePen.setWidth(1); m_backgroundShades = BackgroundShadesNone; diff --git a/src/themes/chartthemedark_p.h b/src/themes/chartthemedark_p.h index 1651f3a..9473cdb 100644 --- a/src/themes/chartthemedark_p.h +++ b/src/themes/chartthemedark_p.h @@ -55,10 +55,9 @@ public: m_chartBackgroundGradient = backgroundGradient; // Axes and other - m_titleBrush = QBrush(QRgb(0xffffff)); + m_labelBrush = QBrush(QRgb(0xffffff)); m_axisLinePen = QPen(QRgb(0x86878c)); m_axisLinePen.setWidth(2); - m_axisLabelBrush = QBrush(QRgb(0xffffff)); m_gridLinePen = QPen(QRgb(0x86878c)); m_gridLinePen.setWidth(1); m_backgroundShades = BackgroundShadesNone; diff --git a/src/themes/chartthemehighcontrast_p.h b/src/themes/chartthemehighcontrast_p.h index 4dce732..2433856 100644 --- a/src/themes/chartthemehighcontrast_p.h +++ b/src/themes/chartthemehighcontrast_p.h @@ -56,10 +56,9 @@ public: m_backgroundDropShadowEnabled = true; // Axes and other - m_titleBrush = QBrush(QRgb(0x181818)); + m_labelBrush = QBrush(QRgb(0x181818)); m_axisLinePen = QPen(QRgb(0x8c8c8c)); m_axisLinePen.setWidth(2); - m_axisLabelBrush = QBrush(QRgb(0x181818)); m_gridLinePen = QPen(QRgb(0x8c8c8c)); m_gridLinePen.setWidth(1); m_backgroundShadesBrush = QBrush(QRgb(0xffeecd)); diff --git a/src/themes/chartthemelight_p.h b/src/themes/chartthemelight_p.h index 1ab98ee..85c4cb1 100644 --- a/src/themes/chartthemelight_p.h +++ b/src/themes/chartthemelight_p.h @@ -59,7 +59,7 @@ public: // Axes and other m_axisLinePen = QPen(0xd6d6d6); m_axisLinePen.setWidth(1); - m_axisLabelBrush = QBrush(QRgb(0x404044)); + m_labelBrush = QBrush(QRgb(0x404044)); m_gridLinePen = QPen(QRgb(0xe2e2e2)); m_gridLinePen.setWidth(1); m_backgroundShades = BackgroundShadesNone; diff --git a/src/themes/chartthemesystem_p.h b/src/themes/chartthemesystem_p.h index b6581d4..fd98dba 100644 --- a/src/themes/chartthemesystem_p.h +++ b/src/themes/chartthemesystem_p.h @@ -98,7 +98,7 @@ public: // Axes and other m_axisLinePen = QPen(0xd6d6d6); m_axisLinePen.setWidth(1); - m_axisLabelBrush = QBrush(QRgb(0x404044)); + m_labelBrush = QBrush(QRgb(0x404044)); m_gridLinePen = QPen(QRgb(0xe2e2e2)); m_gridLinePen.setWidth(1); m_backgroundShades = BackgroundShadesNone; @@ -121,7 +121,7 @@ public: // Axes and other m_axisLinePen = QPen(0xd6d6d6); m_axisLinePen.setWidth(1); - m_axisLabelBrush = QBrush(QRgb(0x404044)); + m_labelBrush = QBrush(QRgb(0x404044)); m_gridLinePen = QPen(QRgb(0xe2e2e2)); m_gridLinePen.setWidth(1); m_backgroundShades = BackgroundShadesNone; @@ -144,7 +144,7 @@ public: // Axes and other m_axisLinePen = QPen(0xd6d6d6); m_axisLinePen.setWidth(1); - m_axisLabelBrush = QBrush(QRgb(0x404044)); + m_labelBrush = QBrush(QRgb(0x404044)); m_gridLinePen = QPen(QRgb(0xe2e2e2)); m_gridLinePen.setWidth(1); m_backgroundShades = BackgroundShadesNone; @@ -167,7 +167,7 @@ public: // Axes and other m_axisLinePen = QPen(0xd6d6d6); m_axisLinePen.setWidth(1); - m_axisLabelBrush = QBrush(QRgb(0x404044)); + m_labelBrush = QBrush(QRgb(0x404044)); m_gridLinePen = QPen(QRgb(0xe2e2e2)); m_gridLinePen.setWidth(1); m_backgroundShades = BackgroundShadesNone; diff --git a/tests/qmlchartproperties/qml/qmlchartproperties/Chart.qml b/tests/qmlchartproperties/qml/qmlchartproperties/Chart.qml index e999f37..650f6cd 100644 --- a/tests/qmlchartproperties/qml/qmlchartproperties/Chart.qml +++ b/tests/qmlchartproperties/qml/qmlchartproperties/Chart.qml @@ -63,6 +63,8 @@ ChartView { legend.onBackgroundVisibleChanged: console.log("legend.onBackgroundVisibleChanged: " + visible); legend.onColorChanged: console.log("legend.onColorChanged: " + color); legend.onBorderColorChanged: console.log("legend.onBorderColorChanged: " + color); + legend.onLabelColorChanged: console.log("legend.onLabelColorChanged: " + color); + legend.onLabelBrushChanged: console.log("legend.onLabelBrushChanged: " + brush); axisX.onColorChanged: console.log("axisX.onColorChanged: " + color); axisX.onLabelsVisibleChanged: console.log("axisX.onLabelsVisibleChanged: " + visible); diff --git a/tests/qmlchartproperties/qml/qmlchartproperties/ChartEditor2.qml b/tests/qmlchartproperties/qml/qmlchartproperties/ChartEditor2.qml index a91b0e7..40f9cb6 100644 --- a/tests/qmlchartproperties/qml/qmlchartproperties/ChartEditor2.qml +++ b/tests/qmlchartproperties/qml/qmlchartproperties/ChartEditor2.qml @@ -47,6 +47,10 @@ Row { onClicked: chartLegend.borderColor = main.nextColor(); } Button { + text: "legend label color" + onClicked: chartLegend.labelColor = main.nextColor(); + } + Button { text: "legend top" onClicked: chartLegend.alignment ^= Qt.AlignTop; }