From c2955145980b6fec7332d8c626e1f3fb2c98d14c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 3 Jul 2012 16:37:47 +0200 Subject: [PATCH] * Make DynamicQmlWidget a proper ViewPage. --- src/libtomahawk/playlist/TreeView.cpp | 2 +- .../dynamic/widgets/DynamicQmlWidget.cpp | 42 +++++++++++++++++-- .../dynamic/widgets/DynamicQmlWidget.h | 20 ++++++++- 3 files changed, 59 insertions(+), 5 deletions(-) diff --git a/src/libtomahawk/playlist/TreeView.cpp b/src/libtomahawk/playlist/TreeView.cpp index a0fc559ae..eca9f13bd 100644 --- a/src/libtomahawk/playlist/TreeView.cpp +++ b/src/libtomahawk/playlist/TreeView.cpp @@ -158,7 +158,7 @@ TreeView::setTreeModel( TreeModel* model ) } emit modelChanged(); - + /* setColumnHidden( PlayableModel::Score, true ); // Hide score column per default setColumnHidden( PlayableModel::Origin, true ); // Hide origin column per default setColumnHidden( PlayableModel::Composer, true ); //Hide composer column per default diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.cpp index 6cff5c878..58299bac5 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.cpp @@ -1,4 +1,7 @@ #include "DynamicQmlWidget.h" + +#include "playlist/dynamic/DynamicModel.h" +#include "playlist/PlayableProxyModel.h" #include "utils/TomahawkUtilsGui.h" #include @@ -6,19 +9,52 @@ namespace Tomahawk { -DynamicQmlWidget::DynamicQmlWidget( const dynplaylist_ptr& playlist, QWidget* parent) +DynamicQmlWidget::DynamicQmlWidget( const dynplaylist_ptr& playlist, QWidget* parent ) : QDeclarativeView( parent ) { setResizeMode(QDeclarativeView::SizeRootObjectToView); setSource(QUrl("qrc" RESPATH "qml/ArtistInfoScene.qml")); - - } + DynamicQmlWidget::~DynamicQmlWidget() { +} + +Tomahawk::playlistinterface_ptr +DynamicQmlWidget::playlistInterface() const +{ + return m_proxyModel->playlistInterface(); +} + + +QString +DynamicQmlWidget::title() const +{ + return m_model->title(); +} + + +QString +DynamicQmlWidget::description() const +{ + return m_model->description(); +} + + +QPixmap +DynamicQmlWidget::pixmap() const +{ + return QPixmap( RESPATH "images/station.png" ); +} + + +bool +DynamicQmlWidget::jumpToCurrentTrack() +{ + return false; } } diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.h b/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.h index 662da5812..0a9a6c729 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.h +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicQmlWidget.h @@ -24,17 +24,35 @@ #include +class PlayableProxyModel; + namespace Tomahawk { +class DynamicModel; class DynamicQmlWidget : public QDeclarativeView, public Tomahawk::ViewPage { Q_OBJECT public: - explicit DynamicQmlWidget( const dynplaylist_ptr& playlist, QWidget* parent = 0); + explicit DynamicQmlWidget( const dynplaylist_ptr& playlist, QWidget* parent = 0 ); virtual ~DynamicQmlWidget(); + virtual QWidget* widget() { return this; } + virtual Tomahawk::playlistinterface_ptr playlistInterface() const; + + virtual QString title() const; + virtual QString description() const; + virtual QPixmap pixmap() const; + + virtual bool showModes() const { return true; } + virtual bool showFilter() const { return true; } + + virtual bool jumpToCurrentTrack(); + +private: + DynamicModel* m_model; + PlayableProxyModel* m_proxyModel; }; }