From 46bd36664389d4c017994d870b7c54d96ac4ad16 Mon Sep 17 00:00:00 2001 From: Jeff Mitchell Date: Mon, 18 Jun 2012 04:43:00 -0400 Subject: [PATCH] Refresh delegates on both add and remove; also, if ACL can't be displayed cause it's the wrong item type, just don't paint anything at all --- src/libtomahawk/jobview/AclJobItem.cpp | 10 ++++------ src/libtomahawk/jobview/JobStatusModel.cpp | 2 ++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/jobview/AclJobItem.cpp b/src/libtomahawk/jobview/AclJobItem.cpp index 7d94bf9fa..7e1a0e09b 100644 --- a/src/libtomahawk/jobview/AclJobItem.cpp +++ b/src/libtomahawk/jobview/AclJobItem.cpp @@ -53,6 +53,9 @@ AclJobDelegate::~AclJobDelegate() void AclJobDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index ) const { + AclJobItem* item = dynamic_cast< AclJobItem* >( index.data( JobStatusModel::JobDataRole ).value< JobStatusItem* >() ); + if ( !item ) + return; //tDebug( LOGVERBOSE ) << Q_FUNC_INFO; QStyleOptionViewItemV4 opt = option; initStyleOption( &opt, index ); @@ -65,12 +68,7 @@ AclJobDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, co painter->fillRect( opt.rect, Qt::lightGray ); - QString mainText; - AclJobItem* item = dynamic_cast< AclJobItem* >( index.data( JobStatusModel::JobDataRole ).value< JobStatusItem* >() ); - if ( !item ) - mainText = tr( "Error displaying ACL info" ); - else - mainText = QString( tr( "Allow %1 to\nconnect and stream from you?" ) ).arg( item->username() ); + QString mainText = QString( tr( "Allow %1 to\nconnect and stream from you?" ) ).arg( item->username() ); //tDebug( LOGVERBOSE ) << Q_FUNC_INFO << "Displaying text:" << mainText; const QRect rRect( opt.rect.left() + PADDING, opt.rect.top() + 4*PADDING, opt.rect.width() - 2*PADDING, opt.rect.height() - 2*PADDING ); diff --git a/src/libtomahawk/jobview/JobStatusModel.cpp b/src/libtomahawk/jobview/JobStatusModel.cpp index 08df1b614..8ff7032c2 100644 --- a/src/libtomahawk/jobview/JobStatusModel.cpp +++ b/src/libtomahawk/jobview/JobStatusModel.cpp @@ -85,6 +85,8 @@ JobStatusModel::addJob( JobStatusItem* item ) tLog() << Q_FUNC_INFO << "job has custom delegate"; emit customDelegateJobInserted( currentEndRow, item ); } + + emit refreshDelegates(); }