From 0278f82c2a0a006b61fc6766a8f6340184009fff Mon Sep 17 00:00:00 2001 From: Lucas Lira Gomes Date: Sun, 1 Jul 2012 17:57:54 -0300 Subject: [PATCH] * JobStatusView::instance()->model()->addJob() calls will be ignored when ENABLE_HEADLESS is setted. --- src/TomahawkWindow.cpp | 12 +++++----- src/libtomahawk/DropJob.cpp | 7 ++++++ .../accounts/spotify/SpotifyAccount.cpp | 2 ++ src/libtomahawk/jobview/JobStatusView.cpp | 22 +++++++++++++++++-- src/libtomahawk/jobview/LatchedStatusItem.cpp | 6 +++++ .../jobview/PipelineStatusItem.cpp | 10 ++++++++- .../jobview/TransferStatusItem.cpp | 12 ++++++++++ src/libtomahawk/utils/GroovesharkParser.cpp | 7 ++++++ src/libtomahawk/utils/ItunesParser.cpp | 4 ++++ src/libtomahawk/utils/RdioParser.cpp | 5 +++++ src/libtomahawk/utils/ShortenedLinkParser.cpp | 4 ++++ src/libtomahawk/utils/SpotifyParser.cpp | 4 ++++ 12 files changed, 87 insertions(+), 8 deletions(-) diff --git a/src/TomahawkWindow.cpp b/src/TomahawkWindow.cpp index 275da763a..231b303fc 100644 --- a/src/TomahawkWindow.cpp +++ b/src/TomahawkWindow.cpp @@ -959,13 +959,15 @@ TomahawkWindow::onXSPFError( XSPFLoader::XSPFErrorCode error ) void TomahawkWindow::onAudioEngineError( AudioEngine::AudioErrorCode /* error */ ) { +#ifndef ENABLE_HEADLESS QString msg; -#ifdef Q_WS_X11 - msg = tr( "Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed." ); -#else - msg = tr( "Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped." ); -#endif + #ifdef Q_WS_X11 + msg = tr( "Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped. Make sure you have a suitable Phonon backend and required plugins installed." ); + #else + msg = tr( "Sorry, there is a problem accessing your audio device or the desired track, current track will be skipped." ); + #endif JobStatusView::instance()->model()->addJob( new ErrorStatusMessage( msg, 15 ) ); +#endif if ( m_audioRetryCounter < 3 ) AudioEngine::instance()->play(); diff --git a/src/libtomahawk/DropJob.cpp b/src/libtomahawk/DropJob.cpp index bb9a0c9a1..a1ccbfc9c 100644 --- a/src/libtomahawk/DropJob.cpp +++ b/src/libtomahawk/DropJob.cpp @@ -754,11 +754,14 @@ DropJob::onTracksAdded( const QList& tracksList ) { tDebug() << Q_FUNC_INFO << tracksList.count(); +#ifndef ENABLE_HEADLESS /* if ( results.isEmpty() ) { + const QString which = album.isEmpty() ? "artist" : "album"; JobStatusView::instance()->model()->addJob( new ErrorStatusMessage( tr( "No tracks found for given %1" ).arg( which ), 5 ) ); }*/ +#endif if ( !m_dropJob.isEmpty() ) { @@ -861,8 +864,10 @@ DropJob::getArtist( const QString &artist, Tomahawk::ModelMode mode ) connect( artistPtr.data(), SIGNAL( tracksAdded( QList, Tomahawk::ModelMode, Tomahawk::collection_ptr ) ), SLOT( onTracksAdded( QList ) ) ); +#ifndef ENABLE_HEADLESS m_dropJob << new DropJobNotifier( QPixmap( RESPATH "images/album-icon.png" ), Album ); JobStatusView::instance()->model()->addJob( m_dropJob.last() ); +#endif m_queryCount++; } @@ -891,8 +896,10 @@ DropJob::getAlbum( const QString& artist, const QString& album ) connect( albumPtr.data(), SIGNAL( tracksAdded( QList, Tomahawk::ModelMode, Tomahawk::collection_ptr ) ), SLOT( onTracksAdded( QList ) ) ); +#ifndef ENABLE_HEADLESS m_dropJob << new DropJobNotifier( QPixmap( RESPATH "images/album-icon.png" ), Album ); JobStatusView::instance()->model()->addJob( m_dropJob.last() ); +#endif m_queryCount++; } diff --git a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp index 08c530882..5bf8bae4b 100644 --- a/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp +++ b/src/libtomahawk/accounts/spotify/SpotifyAccount.cpp @@ -1003,8 +1003,10 @@ SpotifyAccount::resolverMessage( const QString &msgType, const QVariantMap &msg if ( msg.value( "isDebugMsg" ).toBool() ) tDebug( LOGVERBOSE ) << "SpotifyResolverError: " << error; +#ifndef ENABLE_HEADLESS else JobStatusView::instance()->model()->addJob( new ErrorStatusMessage( QString( "Spotify: %1" ).arg( error ) ) ); +#endif } else if ( msgType == "userChanged" ) { diff --git a/src/libtomahawk/jobview/JobStatusView.cpp b/src/libtomahawk/jobview/JobStatusView.cpp index 1469df79c..58fe88023 100644 --- a/src/libtomahawk/jobview/JobStatusView.cpp +++ b/src/libtomahawk/jobview/JobStatusView.cpp @@ -24,11 +24,14 @@ #include "JobStatusModel.h" #include "JobStatusItem.h" #include "JobStatusDelegate.h" +#include "utils/Logger.h" +#include "Source.h" + +#ifndef ENABLE_HEADLESS #include "PipelineStatusItem.h" #include "TransferStatusItem.h" #include "LatchedStatusItem.h" -#include "utils/Logger.h" -#include "Source.h" +#endif #include #include @@ -62,9 +65,24 @@ JobStatusView::JobStatusView( AnimatedSplitter* parent ) m_view->setAttribute( Qt::WA_MacShowFocusRect, 0 ); m_view->setUniformItemSizes( false ); +#ifndef ENABLE_HEADLESS + +#ifndef Q_WS_WIN + QFont f = font(); + f.setPointSize( f.pointSize() - 1 ); + setFont( f ); +#endif + +#ifdef Q_WS_MAC + QFont f = font(); + f.setPointSize( f.pointSize() - 2 ); + setFont( f ); +#endif + new PipelineStatusManager( this ); new TransferStatusManager( this ); new LatchedStatusManager( this ); +#endif setMouseTracking( true ); m_view->setMouseTracking( true ); diff --git a/src/libtomahawk/jobview/LatchedStatusItem.cpp b/src/libtomahawk/jobview/LatchedStatusItem.cpp index 3759cd730..39700f617 100644 --- a/src/libtomahawk/jobview/LatchedStatusItem.cpp +++ b/src/libtomahawk/jobview/LatchedStatusItem.cpp @@ -24,6 +24,10 @@ #include "JobStatusModel.h" #include "utils/TomahawkUtilsGui.h" +#ifndef ENABLE_HEADLESS +#include "JobStatusModel.h" +#include "JobStatusView.h" +#endif LatchedStatusItem::LatchedStatusItem( const Tomahawk::source_ptr& from, const Tomahawk::source_ptr& to, LatchedStatusManager* parent ) : JobStatusItem() @@ -76,9 +80,11 @@ LatchedStatusManager::latchedOn( const Tomahawk::source_ptr& from, const Tomahaw if ( to->isLocal() ) { +#ifndef ENABLE_HEADLESS LatchedStatusItem* item = new LatchedStatusItem( from, to, this ); m_jobs[ from->userName() ] = item; JobStatusView::instance()->model()->addJob( item ); +#endif connect( from.data(), SIGNAL( offline() ), this, SLOT( sourceOffline() ), Qt::UniqueConnection ); } diff --git a/src/libtomahawk/jobview/PipelineStatusItem.cpp b/src/libtomahawk/jobview/PipelineStatusItem.cpp index 874e7d318..b5b815c2f 100644 --- a/src/libtomahawk/jobview/PipelineStatusItem.cpp +++ b/src/libtomahawk/jobview/PipelineStatusItem.cpp @@ -22,9 +22,13 @@ #include "utils/TomahawkUtilsGui.h" #include "Pipeline.h" +#include "TomahawkApp.h" +#include "Source.h" + +#ifndef ENABLE_HEADLESS #include "JobStatusModel.h" #include "JobStatusView.h" -#include "Source.h" +#endif PipelineStatusItem::PipelineStatusItem( const Tomahawk::query_ptr& q ) @@ -98,10 +102,14 @@ PipelineStatusManager::PipelineStatusManager( QObject* parent ) void PipelineStatusManager::resolving( const Tomahawk::query_ptr& p ) { + Q_UNUSED( p ); + +#ifndef ENABLE_HEADLESS if ( m_curItem.isNull() ) { // No current query item and we're resolving something, so show it m_curItem = QPointer< PipelineStatusItem >( new PipelineStatusItem( p ) ); JobStatusView::instance()->model()->addJob( m_curItem.data() ); } +#endif } diff --git a/src/libtomahawk/jobview/TransferStatusItem.cpp b/src/libtomahawk/jobview/TransferStatusItem.cpp index 0bb9f5ef8..0db53ad2b 100644 --- a/src/libtomahawk/jobview/TransferStatusItem.cpp +++ b/src/libtomahawk/jobview/TransferStatusItem.cpp @@ -18,8 +18,12 @@ #include "TransferStatusItem.h" + #include "JobStatusView.h" #include "JobStatusModel.h" +#include "network/StreamConnection.h" +#include "network/Servent.h" +#include "utils/TomahawkUtils.h" #include "Result.h" #include "Source.h" #include "Artist.h" @@ -28,6 +32,11 @@ #include "utils/TomahawkUtilsGui.h" +#ifndef ENABLE_HEADLESS +#include "JobStatusModel.h" +#include "JobStatusView.h" +#endif + TransferStatusItem::TransferStatusItem( TransferStatusManager* p, StreamConnection* sc ) : m_parent( p ) , m_stream( QPointer< StreamConnection >( sc ) ) @@ -104,10 +113,13 @@ TransferStatusManager::TransferStatusManager( QObject* parent ) connect( Servent::instance(), SIGNAL( streamStarted( StreamConnection* ) ), SLOT( streamRegistered( StreamConnection* ) ) ); } + void TransferStatusManager::streamRegistered( StreamConnection* sc ) { +#ifndef ENABLE_HEADLESS JobStatusView::instance()->model()->addJob( new TransferStatusItem( this, sc ) ); +#endif } diff --git a/src/libtomahawk/utils/GroovesharkParser.cpp b/src/libtomahawk/utils/GroovesharkParser.cpp index 258903e5d..65a5f19b1 100644 --- a/src/libtomahawk/utils/GroovesharkParser.cpp +++ b/src/libtomahawk/utils/GroovesharkParser.cpp @@ -136,8 +136,10 @@ GroovesharkParser::lookupGroovesharkPlaylist( const QString& linkRaw ) NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->post( QNetworkRequest( url ), data ) ); connect( reply, SIGNAL( finished() ), SLOT( groovesharkLookupFinished() ) ); +#ifndef ENABLE_HEADLESS m_browseJob = new DropJobNotifier( pixmap(), "Grooveshark", type, reply ); JobStatusView::instance()->model()->addJob( m_browseJob ); +#endif m_queries.insert( reply ); } @@ -151,8 +153,10 @@ GroovesharkParser::lookupGroovesharkTrack( const QString& track ) NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( QUrl( track ) ) ) ); connect( reply, SIGNAL( finished() ), SLOT( trackPageFetchFinished() ) ); +#ifndef ENABLE_HEADLESS m_browseJob = new DropJobNotifier( pixmap(), "Grooveshark", DropJob::Track, reply ); JobStatusView::instance()->model()->addJob( m_browseJob ); +#endif m_queries << reply; } @@ -235,7 +239,10 @@ GroovesharkParser::groovesharkLookupFinished() } else { +#ifndef ENABLE_HEADLESS JobStatusView::instance()->model()->addJob( new ErrorStatusMessage( tr( "Error fetching Grooveshark information from the network!" ) ) ); +#endif + tLog() << "Error in network request to grooveshark for track decoding:" << r->reply()->errorString(); } diff --git a/src/libtomahawk/utils/ItunesParser.cpp b/src/libtomahawk/utils/ItunesParser.cpp index c66c815d0..d08d0f9e2 100644 --- a/src/libtomahawk/utils/ItunesParser.cpp +++ b/src/libtomahawk/utils/ItunesParser.cpp @@ -109,8 +109,10 @@ ItunesParser::lookupItunesUri( const QString& link ) NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( url ) ) ); connect( reply, SIGNAL( finished() ), SLOT( itunesResponseLookupFinished() ) ); +#ifndef ENABLE_HEADLESS DropJobNotifier* j = new DropJobNotifier( pixmap(), QString( "Itunes" ), type, reply ); JobStatusView::instance()->model()->addJob( j ); +#endif m_queries.insert( reply ); } @@ -171,7 +173,9 @@ ItunesParser::itunesResponseLookupFinished() } else { +#ifndef ENABLE_HEADLESS JobStatusView::instance()->model()->addJob( new ErrorStatusMessage( tr( "Error fetching iTunes information from the network!" ) ) ); +#endif tLog() << "Error in network request to Itunes for track decoding:" << r->reply()->errorString(); } diff --git a/src/libtomahawk/utils/RdioParser.cpp b/src/libtomahawk/utils/RdioParser.cpp index 3ef5899e6..004ab0da7 100644 --- a/src/libtomahawk/utils/RdioParser.cpp +++ b/src/libtomahawk/utils/RdioParser.cpp @@ -133,8 +133,10 @@ RdioParser::fetchObjectsFromUrl( const QString& url, DropJob::DropType type ) NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->post( request, data ) ); connect( reply, SIGNAL( finished() ), SLOT( rdioReturned() ) ); +#ifndef ENABLE_HEADLESS m_browseJob = new DropJobNotifier( pixmap(), QString( "Rdio" ), type, reply ); JobStatusView::instance()->model()->addJob( m_browseJob ); +#endif m_reqQueries.insert( reply ); } @@ -198,7 +200,10 @@ RdioParser::rdioReturned() } else { +#ifndef ENABLE_HEADLESS JobStatusView::instance()->model()->addJob( new ErrorStatusMessage( tr( "Error fetching Rdio information from the network!" ) ) ); +#endif + tLog() << "Error in network request to Rdio for track decoding:" << r->reply()->errorString(); } diff --git a/src/libtomahawk/utils/ShortenedLinkParser.cpp b/src/libtomahawk/utils/ShortenedLinkParser.cpp index 47b851511..73433487c 100644 --- a/src/libtomahawk/utils/ShortenedLinkParser.cpp +++ b/src/libtomahawk/utils/ShortenedLinkParser.cpp @@ -83,8 +83,10 @@ ShortenedLinkParser::lookupUrl( const QString& url ) m_queries.insert( reply ); +#ifndef ENABLE_HEADLESS m_expandJob = new DropJobNotifier( pixmap(), "shortened", DropJob::Track, reply ); JobStatusView::instance()->model()->addJob( m_expandJob ); +#endif } @@ -94,8 +96,10 @@ ShortenedLinkParser::lookupFinished() NetworkReply* r = qobject_cast< NetworkReply* >( sender() ); Q_ASSERT( r ); +#ifndef ENABLE_HEADLESS if ( r->reply()->error() != QNetworkReply::NoError ) JobStatusView::instance()->model()->addJob( new ErrorStatusMessage( tr( "Network error parsing shortened link!" ) ) ); +#endif tLog( LOGVERBOSE ) << Q_FUNC_INFO << "Got an un-shortened url:" << r->reply()->url().toString(); m_links << r->reply()->url().toString(); diff --git a/src/libtomahawk/utils/SpotifyParser.cpp b/src/libtomahawk/utils/SpotifyParser.cpp index e3bc78a2f..ab8a85429 100644 --- a/src/libtomahawk/utils/SpotifyParser.cpp +++ b/src/libtomahawk/utils/SpotifyParser.cpp @@ -165,8 +165,10 @@ SpotifyParser::lookupSpotifyBrowse( const QString& link ) NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( url ) ) ); connect( reply, SIGNAL( finished() ), SLOT( spotifyBrowseFinished() ) ); +#ifndef ENABLE_HEADLESS m_browseJob = new DropJobNotifier( pixmap(), "Spotify", type, reply ); JobStatusView::instance()->model()->addJob( m_browseJob ); +#endif m_queries.insert( reply ); } @@ -192,8 +194,10 @@ SpotifyParser::lookupTrack( const QString& link ) NetworkReply* reply = new NetworkReply( TomahawkUtils::nam()->get( QNetworkRequest( url ) ) ); connect( reply, SIGNAL( finished() ), SLOT( spotifyTrackLookupFinished() ) ); +#ifndef ENABLE_HEADLESS DropJobNotifier* j = new DropJobNotifier( pixmap(), QString( "Spotify" ), DropJob::Track, reply ); JobStatusView::instance()->model()->addJob( j ); +#endif m_queries.insert( reply ); }