summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNorwegian Rock Cat <qt-info@nokia.com>2009-07-10 12:15:44 +0200
committerNorwegian Rock Cat <qt-info@nokia.com>2009-07-10 12:15:44 +0200
commit6d22d3d4d2f014e5459dc0dc7f88ae8b4695bdf5 (patch)
treeb19c471942ec07fee4e9839eacd4f02771906533
parente325031fde5a3d3d2b6c2f6a53171a6ebdf0aefb (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.cpp6
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;