- QLinearGradient titleGradient(option.rect.topLeft(), option.rect.topRight());
- bkgrColor = option.palette.color(QPalette::Highlight);
- textColor = option.palette.color(QPalette::HighlightedText);
- titleGradient.setColorAt(0.0, bkgrColor);
- titleGradient.setColorAt(1.0, bkgrColor);
-
- QPainterPath titlePath;
- if(isExpanded(index))
- {
- titlePath.moveTo(option.rect.bottomLeft());
- titlePath.lineTo(option.rect.topLeft()+QPoint(0, RADIUS));
- titlePath.arcTo(option.rect.left(), option.rect.top(), 2*RADIUS, 2*RADIUS, 180, -90);
- titlePath.lineTo(option.rect.topRight()-QPoint(RADIUS, 0));
- titlePath.arcTo(option.rect.right()-2*RADIUS, option.rect.top(), 2*RADIUS, 2*RADIUS, 90, -90);
- titlePath.lineTo(option.rect.bottomRight());
- titlePath.closeSubpath();
- }
- else
- {
- titlePath.lineTo(option.rect.topLeft()+QPoint(0, RADIUS));
- titlePath.arcTo(option.rect.left(), option.rect.top(), 2*RADIUS, 2*RADIUS, 180, -90);
- titlePath.lineTo(option.rect.topRight()-QPoint(RADIUS, 0));
- titlePath.arcTo(option.rect.right()-2*RADIUS, option.rect.top(), 2*RADIUS, 2*RADIUS, 90, -90);
- titlePath.lineTo(option.rect.bottomRight()-QPoint(0, RADIUS));
- titlePath.arcTo(option.rect.right()-2*RADIUS, option.rect.bottom()-2*RADIUS, 2*RADIUS, 2*RADIUS, 0, -90);
- titlePath.lineTo(option.rect.bottomLeft()+QPoint(RADIUS, 0));
- titlePath.arcTo(option.rect.left(), option.rect.bottom()-2*RADIUS, 2*RADIUS, 2*RADIUS, 270, -90);
- titlePath.closeSubpath();
- }
-
- painter->setBrush(titleGradient);
- painter->setPen(borderPen);
- painter->drawPath(titlePath);
-