From 4e8ed355583a0a91bfd96676a3b8de7bbce37fe1 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 2 Dec 2012 18:57:58 +0100 Subject: [PATCH] * Added example for retrieving top 15 artists in DynamicQmlWidget. --- .../dynamic/widgets/DynamicQmlWidget.cpp | 24 +++++++++++++++---- .../dynamic/widgets/DynamicQmlWidget.h | 3 +++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.cpp index 90ef05123..474d584e1 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.cpp @@ -2,14 +2,17 @@ #include "playlist/dynamic/DynamicModel.h" #include "playlist/PlayableProxyModel.h" -#include "utils/TomahawkUtilsGui.h" #include "playlist/dynamic/DynamicModel.h" #include "playlist/dynamic/echonest/EchonestControl.h" #include "playlist/dynamic/GeneratorInterface.h" #include "playlist/PlayableItem.h" #include "Source.h" -#include "widgets/DeclarativeCoverArtProvider.h" +#include "SourceList.h" #include "audio/AudioEngine.h" +#include "database/Database.h" +#include "database/DatabaseCommand_PlaybackCharts.h" +#include "widgets/DeclarativeCoverArtProvider.h" +#include "utils/TomahawkUtilsGui.h" #include #include @@ -26,9 +29,6 @@ DynamicQmlWidget::DynamicQmlWidget( const dynplaylist_ptr& playlist, QWidget* pa , m_runningOnDemand( false ) , m_activePlaylist( false ) { - - - setResizeMode( QDeclarativeView::SizeRootObjectToView ); m_model = new DynamicModel( this ); @@ -70,6 +70,10 @@ DynamicQmlWidget::DynamicQmlWidget( const dynplaylist_ptr& playlist, QWidget* pa // m_playlist->generator()->generate( 20 ); + DatabaseCommand_PlaybackCharts* cmd = new DatabaseCommand_PlaybackCharts( SourceList::instance()->getLocal(), this ); + cmd->setLimit( 15 ); + connect( cmd, SIGNAL( artists( QList ) ), SLOT( onArtistChart( QList< Tomahawk::artist_ptr > ) ) ); + Database::instance()->enqueue( QSharedPointer( cmd ) ); } @@ -233,4 +237,14 @@ DynamicQmlWidget::startStation() } +void +DynamicQmlWidget::onArtistChart( const QList< Tomahawk::artist_ptr >& artists ) +{ + int i = 0; + foreach ( const artist_ptr& artist, artists ) + { + tDebug() << "Found artist in chart:" << artist->name() << QString::number( ++i ); + } +} + } diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.h b/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.h index e252269f7..b138f5e33 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.h +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.h @@ -83,6 +83,9 @@ private slots: void trackStarted(); void startStation(); void stopStation( bool stopPlaying ); + + void onArtistChart( const QList< Tomahawk::artist_ptr >& artists ); + private: DynamicModel* m_model; PlayableProxyModel* m_proxyModel;