From 7efaa6203845fbc618aabad4cabfb5621dbe3c9e Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser <muesli@gmail.com> Date: Tue, 26 Jun 2012 05:16:00 +0200 Subject: [PATCH] * Elide temporary page's text when showing the delete button. --- src/sourcetree/SourceDelegate.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/sourcetree/SourceDelegate.cpp b/src/sourcetree/SourceDelegate.cpp index 9b9b71943..5a0571a0b 100644 --- a/src/sourcetree/SourceDelegate.cpp +++ b/src/sourcetree/SourceDelegate.cpp @@ -526,8 +526,6 @@ SourceDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, co if ( !index.parent().parent().isValid() ) o.rect.adjust( 7, 0, 0, 0 ); - QStyledItemDelegate::paint( painter, o, index ); - if ( type == SourcesModel::TemporaryPage ) { TemporaryPageItem* gpi = qobject_cast< TemporaryPageItem* >( item ); @@ -535,16 +533,24 @@ SourceDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, co if ( gpi && o3.state & QStyle::State_MouseOver ) { - // draw close icon int padding = 3; m_iconHeight = ( o3.rect.height() - 2 * padding ); + + o.rect.adjust( 0, 0, -( padding + m_iconHeight ), 0 ); + QStyledItemDelegate::paint( painter, o, index ); + + // draw close icon QPixmap p( RESPATH "images/list-remove.png" ); p = p.scaledToHeight( m_iconHeight, Qt::SmoothTransformation ); QRect r( o3.rect.right() - padding - m_iconHeight, padding + o3.rect.y(), m_iconHeight, m_iconHeight ); painter->drawPixmap( r, p ); } + else + QStyledItemDelegate::paint( painter, o, index ); } + else + QStyledItemDelegate::paint( painter, o, index ); } paintDecorations( painter, o3, index );