From 0488aa10f890d6ebaa43106c99f596b5a81e5f35 Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Sun, 22 Jan 2012 17:50:33 +0100 Subject: [PATCH] Fix headless by using QByteArrays instead of QPixmap or QImage --- src/audiocontrols.cpp | 12 +++++++----- src/libtomahawk/album.cpp | 8 ++++---- src/libtomahawk/album.h | 5 ++--- src/libtomahawk/artist.cpp | 4 ++-- src/libtomahawk/artist.h | 5 ++--- src/libtomahawk/audio/audioengine.cpp | 4 ++-- src/libtomahawk/playlist/albumitemdelegate.cpp | 4 ++-- src/libtomahawk/playlist/treeitemdelegate.cpp | 4 ++-- .../widgets/infowidgets/AlbumInfoWidget.cpp | 2 +- .../widgets/infowidgets/ArtistInfoWidget.cpp | 2 +- 10 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/audiocontrols.cpp b/src/audiocontrols.cpp index 46bb3d167..f536be7c6 100644 --- a/src/audiocontrols.cpp +++ b/src/audiocontrols.cpp @@ -96,7 +96,7 @@ AudioControls::AudioControls( QWidget* parent ) ui->volumeSlider->setValue( AudioEngine::instance()->volume() ); m_phononTickCheckTimer.setSingleShot( true ); - + m_sliderTimeLine.setCurveShape( QTimeLine::LinearCurve ); ui->seekSlider->setTimeLine( &m_sliderTimeLine ); @@ -203,7 +203,7 @@ AudioControls::onPlaybackStarted( const Tomahawk::result_ptr& result ) ui->seekSlider->setValue( 0 ); m_phononTickCheckTimer.stop(); - + m_sliderTimeLine.stop(); m_sliderTimeLine.setDuration( duration ); m_sliderTimeLine.setFrameRange( 0, duration ); @@ -266,7 +266,9 @@ AudioControls::setAlbumCover() { if ( !m_currentTrack->album()->cover().isNull() ) { - ui->coverImage->setPixmap( QPixmap::fromImage( m_currentTrack->album()->cover() ).scaled( ui->coverImage->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) ); + QPixmap cover; + cover.loadFromData( m_currentTrack->album()->cover() ); + ui->coverImage->setPixmap( cover.scaled( ui->coverImage->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) ); } else ui->coverImage->setPixmap( m_defaultCover ); @@ -365,12 +367,12 @@ AudioControls::onPlaybackTimer( qint64 msElapsed ) m_sliderTimeLine.stop(); return; } - + ui->seekSlider->blockSignals( true ); if ( sender() != &m_phononTickCheckTimer ) m_phononTickCheckTimer.start( 1000 ); - + const int seconds = msElapsed / 1000; ui->timeLabel->setText( TomahawkUtils::timeToString( seconds ) ); ui->timeLeftLabel->setText( "-" + TomahawkUtils::timeToString( m_currentTrack->duration() - seconds ) ); diff --git a/src/libtomahawk/album.cpp b/src/libtomahawk/album.cpp index 1f7cc8c82..15d28261d 100644 --- a/src/libtomahawk/album.cpp +++ b/src/libtomahawk/album.cpp @@ -85,7 +85,7 @@ Album::onTracksAdded( const QList& tracks ) Tomahawk::AlbumPlaylistInterface* api = dynamic_cast< Tomahawk::AlbumPlaylistInterface* >( playlistInterface().data() ); if ( api ) api->addQueries( tracks ); - + emit tracksAdded( tracks ); } @@ -97,7 +97,7 @@ Album::artist() const } -QImage +QByteArray Album::cover() const { if ( !m_infoLoaded ) @@ -137,7 +137,7 @@ Album::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestData, QVaria const QByteArray ba = returnedData["imgbytes"].toByteArray(); if ( ba.length() ) { - m_cover.loadFromData( ba ); + m_cover = ba; } } @@ -152,6 +152,6 @@ Album::playlistInterface() { m_playlistInterface = Tomahawk::playlistinterface_ptr( new Tomahawk::AlbumPlaylistInterface( this ) ); } - + return m_playlistInterface; } \ No newline at end of file diff --git a/src/libtomahawk/album.h b/src/libtomahawk/album.h index 36fe56fa6..b929e9b49 100644 --- a/src/libtomahawk/album.h +++ b/src/libtomahawk/album.h @@ -21,7 +21,6 @@ #include #include -#include #include "typedefs.h" #include "playlistinterface.h" @@ -45,7 +44,7 @@ public: unsigned int id() const { return m_id; } QString name() const { return m_name; } artist_ptr artist() const; - QImage cover() const; + QByteArray cover() const; bool infoLoaded() const { return m_infoLoaded; } Tomahawk::playlistinterface_ptr playlistInterface(); @@ -65,7 +64,7 @@ private: unsigned int m_id; QString m_name; artist_ptr m_artist; - QImage m_cover; + QByteArray m_cover; bool m_infoLoaded; mutable QString m_uuid; diff --git a/src/libtomahawk/artist.cpp b/src/libtomahawk/artist.cpp index 690162bba..0c0ba332c 100644 --- a/src/libtomahawk/artist.cpp +++ b/src/libtomahawk/artist.cpp @@ -89,7 +89,7 @@ Artist::onTracksAdded( const QList& tracks ) } -QImage +QByteArray Artist::cover() const { if ( !m_infoLoaded ) @@ -128,7 +128,7 @@ Artist::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestData, QVari const QByteArray ba = returnedData["imgbytes"].toByteArray(); if ( ba.length() ) { - m_cover.loadFromData( ba ); + m_cover = ba; } } diff --git a/src/libtomahawk/artist.h b/src/libtomahawk/artist.h index 3d30a5d6e..3e1442023 100644 --- a/src/libtomahawk/artist.h +++ b/src/libtomahawk/artist.h @@ -21,7 +21,6 @@ #include #include -#include #include "typedefs.h" #include "dllmacro.h" @@ -44,7 +43,7 @@ public: unsigned int id() const { return m_id; } QString name() const { return m_name; } QString sortname() const { return m_sortname; } - QImage cover() const; + QByteArray cover() const; bool infoLoaded() const { return m_infoLoaded; } Tomahawk::playlistinterface_ptr playlistInterface(); @@ -64,7 +63,7 @@ private: unsigned int m_id; QString m_name; QString m_sortname; - QImage m_cover; + QByteArray m_cover; bool m_infoLoaded; mutable QString m_uuid; diff --git a/src/libtomahawk/audio/audioengine.cpp b/src/libtomahawk/audio/audioengine.cpp index cc9ece0de..61ca05b78 100644 --- a/src/libtomahawk/audio/audioengine.cpp +++ b/src/libtomahawk/audio/audioengine.cpp @@ -351,7 +351,7 @@ AudioEngine::onNowPlayingInfoReady() .arg( m_currentTrack->album().isNull() ? QString() : QString( " %1" ).arg( tr( "on album %1" ).arg( m_currentTrack->album()->name() ) ) ); if ( !m_currentTrack->album().isNull() ) - playInfo["image"] = QVariant( QPixmap::fromImage( m_currentTrack->album()->cover() ) ); + playInfo["image"] = QVariant( QPixmap().loadFromData( m_currentTrack->album()->cover() ) ); Tomahawk::InfoSystem::InfoSystem::instance()->pushInfo( s_aeInfoIdentifier, Tomahawk::InfoSystem::InfoNotifyUser, @@ -551,7 +551,7 @@ AudioEngine::onPlaylistNextTrackReady() loadNextTrack(); return; } - + if ( !m_waitingOnNewTrack ) return; diff --git a/src/libtomahawk/playlist/albumitemdelegate.cpp b/src/libtomahawk/playlist/albumitemdelegate.cpp index d94e893c2..72035587d 100644 --- a/src/libtomahawk/playlist/albumitemdelegate.cpp +++ b/src/libtomahawk/playlist/albumitemdelegate.cpp @@ -92,11 +92,11 @@ AlbumItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, QPixmap cover; if ( !item->album().isNull() ) { - cover = QPixmap::fromImage( item->album()->cover() ); + cover.loadFromData( item->album()->cover() ); } else if ( !item->artist().isNull() ) { - cover = QPixmap::fromImage( item->artist()->cover() ); + cover.loadFromData( item->artist()->cover() ); } if ( cover.isNull() ) diff --git a/src/libtomahawk/playlist/treeitemdelegate.cpp b/src/libtomahawk/playlist/treeitemdelegate.cpp index 4493b8b1e..90fbe4aa7 100644 --- a/src/libtomahawk/playlist/treeitemdelegate.cpp +++ b/src/libtomahawk/playlist/treeitemdelegate.cpp @@ -155,11 +155,11 @@ TreeItemDelegate::paint( QPainter* painter, const QStyleOptionViewItem& option, QPixmap cover; if ( !item->album().isNull() ) { - cover = QPixmap::fromImage( item->album()->cover() ); + cover.loadFromData( item->album()->cover() ); } else if ( !item->artist().isNull() ) { - cover = QPixmap::fromImage( item->artist()->cover() ); + cover.loadFromData( item->artist()->cover() ); } QPixmap scover; diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index ede5ad1fa..178af0175 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -243,7 +243,7 @@ AlbumInfoWidget::onAlbumCoverUpdated() if ( m_album->cover().isNull() ) return; - m_pixmap = QPixmap::fromImage( m_album->cover() ); + m_pixmap.loadFromData( m_album->cover() ); emit pixmapChanged( m_pixmap ); } diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index 7ac8c13ff..1aa22b7d1 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -286,7 +286,7 @@ ArtistInfoWidget::onArtistImageUpdated() if ( m_artist->cover().isNull() ) return; - m_pixmap = QPixmap::fromImage( m_artist->cover() ); + m_pixmap.loadFromData( m_artist->cover() ); emit pixmapChanged( m_pixmap ); }