1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-18 23:09:42 +01:00

Use QScopedPointer for cleaner code

This commit is contained in:
Uwe L. Korn 2014-05-28 17:49:26 +01:00
parent a014cadcd2
commit 0325ed887a
3 changed files with 9 additions and 17 deletions

View File

@ -123,13 +123,7 @@ PeerInfo::PeerInfo( SipPlugin* parent, const QString& id )
PeerInfo::~PeerInfo()
{
Q_D( PeerInfo );
tLog( LOGVERBOSE ) << Q_FUNC_INFO;
delete d->avatar;
delete d->fancyAvatar;
delete d_ptr;
}
@ -334,10 +328,8 @@ PeerInfo::setAvatar( const QPixmap& avatar )
d->avatarHash = hash;
d->avatarBuffer = ba;
delete d->avatar;
delete d->fancyAvatar;
d->avatar = 0;
d->fancyAvatar = 0;
d->avatar.reset();
d->fancyAvatar.reset();
Q_ASSERT( !contactId().isEmpty() );
TomahawkUtils::Cache::instance()->putData( "Sources", 7776000000 /* 90 days */, contactId(), ba );
@ -349,22 +341,22 @@ PeerInfo::avatar( TomahawkUtils::ImageMode style, const QSize& size ) const
{
Q_D( const PeerInfo );
if ( !d->avatar )
if ( d->avatar.isNull() )
{
tDebug() << "Avatar for:" << id();
Q_ASSERT( !contactId().isEmpty() );
if ( d->avatarBuffer.isEmpty() && !contactId().isEmpty() )
d->avatarBuffer = TomahawkUtils::Cache::instance()->getData( "Sources", contactId() ).toByteArray();
d->avatar = new QPixmap();
d->avatar.reset( new QPixmap() );
if ( !d->avatarBuffer.isEmpty() )
d->avatar->loadFromData( d->avatarBuffer );
d->avatarBuffer.clear();
}
if ( style == TomahawkUtils::RoundedCorners && d->avatar && !d->avatar->isNull() && !d->fancyAvatar )
d->fancyAvatar = new QPixmap( TomahawkUtils::createRoundedImage( QPixmap( *d->avatar ), QSize( 0, 0 ) ) );
if ( style == TomahawkUtils::RoundedCorners && d->avatar && !d->avatar->isNull() && d->fancyAvatar.isNull() )
d->fancyAvatar.reset( new QPixmap( TomahawkUtils::createRoundedImage( QPixmap( *d->avatar ), QSize( 0, 0 ) ) ) );
QPixmap pixmap;
if ( style == TomahawkUtils::RoundedCorners && d->fancyAvatar )

View File

@ -127,7 +127,7 @@ private:
void announce();
Q_DECLARE_PRIVATE( Tomahawk::PeerInfo )
Tomahawk::PeerInfoPrivate* d_ptr;
QScopedPointer< Tomahawk::PeerInfoPrivate > d_ptr;
static QHash< SipPlugin*, peerinfo_ptr > s_selfPeersBySipPlugin;
};

View File

@ -60,8 +60,8 @@ private:
QString versionString;
QVariant data;
mutable QPixmap* avatar;
mutable QPixmap* fancyAvatar;
mutable QScopedPointer< QPixmap > avatar;
mutable QScopedPointer< QPixmap > fancyAvatar;
mutable QByteArray avatarBuffer;
mutable QByteArray avatarHash;