selection is always square. No rounded corners

wilder-pre-rebase
Hugo Pereira Da Costa 12 years ago
parent 34becbaec3
commit b9e1b4a325
  1. 18
      kstyle/breezehelper.cpp
  2. 2
      kstyle/breezehelper.h
  3. 26
      kstyle/breezestyle.cpp

@ -615,23 +615,13 @@ namespace Breeze
//______________________________________________________________________________
void Helper::renderSelection(
QPainter* painter, const QRect& rect,
const QColor& color, Corners corners ) const
const QColor& color ) const
{
painter->setRenderHint( QPainter::Antialiasing );
const QRectF baseRect( rect );
if( color.isValid() )
{
// content
const qreal radius( frameRadius() );
const QRectF contentRect( baseRect );
QPainterPath path( roundedPath( contentRect, corners, radius ) );
painter->setPen( Qt::NoPen );
painter->setBrush( color );
painter->drawPath( path );
}
painter->setPen( Qt::NoPen );
painter->setBrush( color );
painter->drawRect( rect );
}

@ -167,7 +167,7 @@ namespace Breeze
void renderTabWidgetFrame( QPainter*, const QRect&, const QColor& color, const QColor& outline, Corners corners ) const;
//* selection frame
void renderSelection( QPainter*, const QRect&, const QColor&, Corners ) const;
void renderSelection( QPainter*, const QRect&, const QColor& ) const;
//* separator
void renderSeparator( QPainter*, const QRect&, const QColor&, bool vertical = false ) const;

@ -3222,32 +3222,8 @@ namespace Breeze
else color = color.lighter( 110 );
}
// get selection path
Corners corners;
const bool hasSingleSelection( abstractItemView && abstractItemView->selectionMode() == QAbstractItemView::SingleSelection );
if( hasSingleSelection )
{
// round relevant corners
if(
viewItemOption->viewItemPosition == QStyleOptionViewItemV4::OnlyOne ||
viewItemOption->viewItemPosition == QStyleOptionViewItemV4::Invalid ||
( abstractItemView && abstractItemView->selectionBehavior() != QAbstractItemView::SelectRows ) )
{
corners = AllCorners;
} else {
if( viewItemOption->viewItemPosition == QStyleOptionViewItemV4::Beginning ) corners |= CornersLeft;
if( viewItemOption->viewItemPosition == QStyleOptionViewItemV4::End ) corners |= CornersRight;
}
}
// render
_helper->renderSelection( painter, rect, color, corners );
_helper->renderSelection( painter, rect, color );
return true;
}

Loading…
Cancel
Save