From 252b809fe4731336d063f5e72c3665182e1ab79d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sat, 8 Jun 2013 12:08:01 +0200 Subject: [PATCH] * Expose track stats in Track(-Data). --- src/libtomahawk/Track.cpp | 14 ++++++++++++++ src/libtomahawk/Track.h | 3 +++ src/libtomahawk/TrackData.cpp | 27 +++++++++++++++++++++++++++ src/libtomahawk/TrackData.h | 7 +++++++ 4 files changed, 51 insertions(+) diff --git a/src/libtomahawk/Track.cpp b/src/libtomahawk/Track.cpp index 68dedd118..cc04f335e 100644 --- a/src/libtomahawk/Track.cpp +++ b/src/libtomahawk/Track.cpp @@ -320,6 +320,20 @@ Track::playbackCount( const source_ptr& source ) } +unsigned int +Track::chartPosition() const +{ + return m_trackData->chartPosition(); +} + + +unsigned int +Track::chartCount() const +{ + return m_trackData->chartCount(); +} + + void Track::loadAttributes() { diff --git a/src/libtomahawk/Track.h b/src/libtomahawk/Track.h index 324f2714a..2bb82557e 100644 --- a/src/libtomahawk/Track.h +++ b/src/libtomahawk/Track.h @@ -100,6 +100,9 @@ public: QList< Tomahawk::PlaybackLog > playbackHistory( const Tomahawk::source_ptr& source = Tomahawk::source_ptr() ) const; unsigned int playbackCount( const Tomahawk::source_ptr& source = Tomahawk::source_ptr() ); + unsigned int chartPosition() const; + unsigned int chartCount() const; + void loadSocialActions(); QList< Tomahawk::SocialAction > allSocialActions() const; QString socialActionDescription( const QString& action, DescriptionMode mode ) const; diff --git a/src/libtomahawk/TrackData.cpp b/src/libtomahawk/TrackData.cpp index 7d79ff9c9..3a02d7a02 100644 --- a/src/libtomahawk/TrackData.cpp +++ b/src/libtomahawk/TrackData.cpp @@ -105,6 +105,8 @@ TrackData::TrackData( unsigned int id, const QString& artist, const QString& tra , m_attributesLoaded( false ) , m_socialActionsLoaded( false ) , m_playbackHistoryLoaded( false ) + , m_chartPosition( 0 ) + , m_chartCount( 0 ) , m_simTracksLoaded( false ) , m_lyricsLoaded( false ) , m_infoJobs( 0 ) @@ -339,6 +341,7 @@ TrackData::loadStats() m_playbackHistoryLoaded = true; DatabaseCommand_TrackStats* cmd = new DatabaseCommand_TrackStats( m_ownRef.toStrongRef() ); + connect( cmd, SIGNAL( trackStats( unsigned int, unsigned int ) ), SLOT( onTrackStatsLoaded( unsigned int, unsigned int ) ) ); Database::instance()->enqueue( QSharedPointer(cmd) ); } @@ -388,6 +391,30 @@ TrackData::playbackCount( const source_ptr& source ) } +void +TrackData::onTrackStatsLoaded( unsigned int chartPos, unsigned int chartCount ) +{ + m_chartPosition = chartPos; + m_chartCount = chartCount; + + emit statsLoaded(); +} + + +unsigned int +TrackData::chartPosition() const +{ + return m_chartPosition; +} + + +unsigned int +TrackData::chartCount() const +{ + return m_chartCount; +} + + QList TrackData::similarTracks() const { diff --git a/src/libtomahawk/TrackData.h b/src/libtomahawk/TrackData.h index 17729808c..807628f8d 100644 --- a/src/libtomahawk/TrackData.h +++ b/src/libtomahawk/TrackData.h @@ -100,6 +100,9 @@ public: void setPlaybackHistory( const QList< Tomahawk::PlaybackLog >& playbackData ); unsigned int playbackCount( const Tomahawk::source_ptr& source = Tomahawk::source_ptr() ); + unsigned int chartPosition() const; + unsigned int chartCount() const; + QList similarTracks() const; QStringList lyrics() const; @@ -114,6 +117,8 @@ signals: void lyricsLoaded(); private slots: + void onTrackStatsLoaded( unsigned int chartPos, unsigned int chartCount ); + void infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestData, QVariant output ); void infoSystemFinished( QString target ); @@ -142,6 +147,8 @@ private: bool m_playbackHistoryLoaded; QList< PlaybackLog > m_playbackHistory; + unsigned int m_chartPosition; + unsigned int m_chartCount; bool m_simTracksLoaded; QList m_similarTracks;