mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-25 02:09:48 +01:00
* Read chart position when loading TrackStats.
This commit is contained in:
parent
9ef6ebf07c
commit
c85665fc8a
@ -50,6 +50,33 @@ DatabaseCommand_TrackStats::exec( DatabaseImpl* dbi )
|
||||
if ( m_track->trackId() == 0 )
|
||||
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 * "
|
||||
"FROM playback_log "
|
||||
"WHERE track = ? ORDER BY playtime ASC" );
|
||||
|
@ -39,6 +39,7 @@ public:
|
||||
virtual QString commandname() const { return "trackstats"; }
|
||||
|
||||
signals:
|
||||
void trackStats( unsigned int totalPlays, unsigned int chartPosition );
|
||||
void done( const QList< Tomahawk::PlaybackLog >& playbackData );
|
||||
|
||||
private:
|
||||
|
Loading…
x
Reference in New Issue
Block a user