From cfbbb740ff2f532f639cc7c30a8e1ed062ad7446 Mon Sep 17 00:00:00 2001 From: Hugo Pereira Da Costa Date: Thu, 7 Aug 2014 22:11:27 +0200 Subject: [PATCH] moved focus rendering to helper --- kstyle/breezehelper.cpp | 17 +++++++++++++++++ kstyle/breezehelper.h | 3 +++ kstyle/breezestyle.cpp | 25 +++++-------------------- 3 files changed, 25 insertions(+), 20 deletions(-) diff --git a/kstyle/breezehelper.cpp b/kstyle/breezehelper.cpp index 9ed2fe33..74d86712 100644 --- a/kstyle/breezehelper.cpp +++ b/kstyle/breezehelper.cpp @@ -311,6 +311,23 @@ namespace Breeze painter->restore(); } + //______________________________________________________________________________ + void Helper::renderFocusLine( QPainter* painter, const QRect& rect, const QColor& color ) const + { + + if( !color.isValid() ) return; + + painter->save(); + painter->setRenderHint( QPainter::Antialiasing, false ); + painter->setBrush( Qt::NoBrush ); + painter->setPen( color ); + + painter->translate( 0, 2 ); + painter->drawLine( rect.bottomLeft(), rect.bottomRight() ); + painter->restore(); + + } + //______________________________________________________________________________ void Helper::renderFrame( QPainter* painter, const QRect& rect, diff --git a/kstyle/breezehelper.h b/kstyle/breezehelper.h index de2405ba..6a226e0a 100644 --- a/kstyle/breezehelper.h +++ b/kstyle/breezehelper.h @@ -122,6 +122,9 @@ namespace Breeze //! debug frame void renderDebugFrame( QPainter*, const QRect& ) const; + //! focus line + void renderFocusLine( QPainter*, const QRect&, const QColor& ) const; + //! generic frame void renderFrame( QPainter*, const QRect&, const QColor& color, const QColor& outline = QColor(), bool focus = false ) const; diff --git a/kstyle/breezestyle.cpp b/kstyle/breezestyle.cpp index e2757d21..e8898770 100644 --- a/kstyle/breezestyle.cpp +++ b/kstyle/breezestyle.cpp @@ -3372,12 +3372,8 @@ namespace Breeze else if( hasFocus ) focusColor = _helper->focusColor( palette ); // render focus - if( focusColor.isValid() ) - { - painter->translate( 0, 2 ); - painter->setPen( focusColor ); - painter->drawLine( textRect.bottomLeft(), textRect.bottomRight() ); - } + _helper->renderFocusLine( painter, textRect, focusColor ); + } return true; @@ -3450,10 +3446,7 @@ namespace Breeze if( sunken ) outlineColor = _helper->focusColor( palette ); else if( selected ) outlineColor = _helper->hoverColor( palette ); - painter->translate( 0, 2 ); - painter->setBrush( Qt::NoBrush ); - painter->setPen( outlineColor ); - painter->drawLine( textRect.bottomLeft(), textRect.bottomRight() ); + _helper->renderFocusLine( painter, textRect, outlineColor ); } @@ -3629,13 +3622,7 @@ namespace Breeze if( sunken ) outlineColor = _helper->focusColor( palette ); else if( selected ) outlineColor = _helper->hoverColor( palette ); - painter->save(); - painter->setRenderHint( QPainter::Antialiasing, false ); - painter->translate( 0, 2 ); - painter->setBrush( Qt::NoBrush ); - painter->setPen( outlineColor ); - painter->drawLine( textRect.bottomLeft(), textRect.bottomRight() ); - painter->restore(); + _helper->renderFocusLine( painter, textRect, outlineColor ); } @@ -4239,9 +4226,7 @@ namespace Breeze else if( hasFocus ) focusColor = _helper->focusColor( palette ); // render focus line - painter->translate( 0, 2 ); - painter->setPen( focusColor ); - painter->drawLine( textRect.bottomLeft(), textRect.bottomRight() ); + _helper->renderFocusLine( painter, textRect, focusColor ); if( verticalTabs ) painter->restore();