1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-07-31 11:20:22 +02:00

* Read chart position when loading TrackStats.

This commit is contained in:
Christian Muehlhaeuser
2013-06-08 12:07:32 +02:00
parent 9ef6ebf07c
commit c85665fc8a
2 changed files with 28 additions and 0 deletions

View File

@@ -50,6 +50,33 @@ DatabaseCommand_TrackStats::exec( DatabaseImpl* dbi )
if ( m_track->trackId() == 0 ) if ( m_track->trackId() == 0 )
return; return;
query.prepare( "SELECT COUNT(*) AS counter, track.id "
"FROM playback_log, track "
"WHERE playback_log.source IS NULL AND track.id = playback_log.track "
"GROUP BY track.id "
"ORDER BY counter DESC" );
query.exec();
unsigned int chartPos = 0;
unsigned int chartCount = 0;
const unsigned int trackId = m_track->trackId();
QHash< QString, unsigned int > charts;
while ( query.next() )
{
chartCount++;
if ( chartPos == 0 && query.value( 1 ).toUInt() == trackId )
{
chartPos = chartCount;
}
}
if ( chartPos == 0 )
chartPos = chartCount;
emit trackStats( chartPos, chartCount );
query.prepare( "SELECT * " query.prepare( "SELECT * "
"FROM playback_log " "FROM playback_log "
"WHERE track = ? ORDER BY playtime ASC" ); "WHERE track = ? ORDER BY playtime ASC" );

View File

@@ -39,6 +39,7 @@ public:
virtual QString commandname() const { return "trackstats"; } virtual QString commandname() const { return "trackstats"; }
signals: signals:
void trackStats( unsigned int totalPlays, unsigned int chartPosition );
void done( const QList< Tomahawk::PlaybackLog >& playbackData ); void done( const QList< Tomahawk::PlaybackLog >& playbackData );
private: private: