diff --git a/src/libtomahawk/accounts/AccountDelegate.cpp b/src/libtomahawk/accounts/AccountDelegate.cpp index 25f1860e6..db271c42a 100644 --- a/src/libtomahawk/accounts/AccountDelegate.cpp +++ b/src/libtomahawk/accounts/AccountDelegate.cpp @@ -249,7 +249,7 @@ AccountDelegate::paint ( QPainter* painter, const QStyleOptionViewItem& option, else if ( canDelete ) { const QString btnText = tr( "Remove" ); - const int btnWidth = installMetrics.width( btnText ) + 2*PADDING; + const int btnWidth = removeBtnWidth( opt ); QRect btnRect = QRect( opt.rect.right() - 3 * PADDING - btnWidth, center - installMetrics.height() / 2 - PADDING, @@ -311,7 +311,9 @@ AccountDelegate::paint ( QPainter* painter, const QStyleOptionViewItem& option, } // description - const int descWidth = rightEdge - leftTitleEdge - PADDING; + int descWidth = rightEdge - leftTitleEdge - PADDING; + if ( canDelete ) + descWidth -= removeBtnWidth( opt ) + PADDING; painter->setFont( descFont ); const QRect descRect( leftTitleEdge, runningBottom + PADDING, descWidth, painter->fontMetrics().height() ); desc = painter->fontMetrics().elidedText( desc, Qt::ElideRight, descWidth ); @@ -659,6 +661,17 @@ AccountDelegate::checkRectForIndex( const QStyleOptionViewItem& option, const QM } + +int +AccountDelegate::removeBtnWidth( QStyleOptionViewItemV4 opt ) const +{ + const QString btnText = tr( "Remove" ); + QFont font = opt.font; + font.setItalic( false ); + return QFontMetrics( font ).width( btnText ) + 2*PADDING; +} + + void AccountDelegate::startInstalling( const QPersistentModelIndex& idx ) { diff --git a/src/libtomahawk/accounts/AccountDelegate.h b/src/libtomahawk/accounts/AccountDelegate.h index d32fa4141..bf7910ac7 100644 --- a/src/libtomahawk/accounts/AccountDelegate.h +++ b/src/libtomahawk/accounts/AccountDelegate.h @@ -78,6 +78,8 @@ private: QRect checkRectForIndex( const QStyleOptionViewItem &option, const QModelIndex &idx ) const; + int removeBtnWidth( QStyleOptionViewItemV4 opt ) const; + int m_hoveringOver; QPersistentModelIndex m_hoveringItem, m_configPressed; mutable QHash< QPersistentModelIndex, QRect > m_cachedButtonRects;