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:
@@ -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" );
|
||||||
|
@@ -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:
|
||||||
|
Reference in New Issue
Block a user