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 );