1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-05 13:47:26 +02:00

Debounce updates to loved tracks model

This commit is contained in:
Leo Franchi
2012-07-31 21:33:04 -04:00
parent ddfef98e20
commit a463c02273
2 changed files with 9 additions and 5 deletions

View File

@@ -29,6 +29,8 @@
#include "utils/TomahawkUtils.h" #include "utils/TomahawkUtils.h"
#include "utils/Logger.h" #include "utils/Logger.h"
#include <QTimer>
#define LOVED_TRACK_ITEMS 25 #define LOVED_TRACK_ITEMS 25
using namespace Tomahawk; using namespace Tomahawk;
@@ -36,8 +38,13 @@ using namespace Tomahawk;
LovedTracksModel::LovedTracksModel( QObject* parent ) LovedTracksModel::LovedTracksModel( QObject* parent )
: PlaylistModel( parent ) : PlaylistModel( parent )
, m_smoothingTimer( new QTimer )
, m_limit( LOVED_TRACK_ITEMS ) , m_limit( LOVED_TRACK_ITEMS )
{ {
m_smoothingTimer->setInterval( 150 );
m_smoothingTimer->setSingleShot( false );
connect( m_smoothingTimer, SIGNAL( timeout() ), this, SLOT( loadTracks() ) );
} }
@@ -49,10 +56,6 @@ LovedTracksModel::~LovedTracksModel()
void void
LovedTracksModel::loadTracks() LovedTracksModel::loadTracks()
{ {
if ( rowCount( QModelIndex() ) )
{
clear();
}
startLoading(); startLoading();
QString sql; QString sql;
@@ -122,7 +125,7 @@ LovedTracksModel::onSourceAdded( const Tomahawk::source_ptr& source )
void void
LovedTracksModel::onTrackLoved() LovedTracksModel::onTrackLoved()
{ {
loadTracks(); m_smoothingTimer->start();
} }

View File

@@ -53,6 +53,7 @@ private slots:
void tracksLoaded( QList<Tomahawk::query_ptr> ); void tracksLoaded( QList<Tomahawk::query_ptr> );
private: private:
Tomahawk::source_ptr m_source; Tomahawk::source_ptr m_source;
QTimer* m_smoothingTimer;
unsigned int m_limit; unsigned int m_limit;
}; };