diff options
author | Norwegian Rock Cat <qt-info@nokia.com> | 2009-07-10 12:15:44 +0200 |
---|---|---|
committer | Norwegian Rock Cat <qt-info@nokia.com> | 2009-07-10 12:15:44 +0200 |
commit | 6d22d3d4d2f014e5459dc0dc7f88ae8b4695bdf5 (patch) | |
tree | b19c471942ec07fee4e9839eacd4f02771906533 | |
parent | e325031fde5a3d3d2b6c2f6a53171a6ebdf0aefb (diff) |
Move the disable colorgroup setting to the right place.
This should be done in initStyleOption just like in QTabBar.
-rw-r--r-- | src/qtsegmentcontrol.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/qtsegmentcontrol.cpp b/src/qtsegmentcontrol.cpp index 8e07f38..d663785 100644 --- a/src/qtsegmentcontrol.cpp +++ b/src/qtsegmentcontrol.cpp @@ -191,8 +191,6 @@ static void drawSegmentControlSegmentLabel(const QStyleOption *option, QPainter = static_cast<const QtStyleOptionSegmentControlSegment *>(option)) { QPalette palette = segment->palette; bool enabled = segment->state & QStyle::State_Enabled; - if (!enabled) - palette.setCurrentColorGroup(QPalette::Disabled); QRect textRect = segmentElementRect(option, widget); widget->style()->drawItemText(painter, textRect, Qt::AlignCenter, palette, enabled, segment->text, QPalette::WindowText); @@ -590,8 +588,10 @@ void QtSegmentControl::initStyleOption(int segment, QStyleOption *option) const sgi->position = d->segmentPositionForIndex(segment); if (segmentInfo.selected) sgi->state |= QStyle::State_Selected; - if (!segmentInfo.enabled) + if (!segmentInfo.enabled) { sgi->state &= ~QStyle::State_Enabled; + sgi->palette.setCurrentColorGroup(QPalette::Disabled); + } if (d->selectionBehavior != QtSegmentControl::SelectNone) { sgi->selectedPositions = QtStyleOptionSegmentControlSegment::NotAdjacent; |