diff --git a/data/qml/QmlGridView.qml b/data/qml/QmlGridView.qml index f1b7bce1a..d528c5665 100644 --- a/data/qml/QmlGridView.qml +++ b/data/qml/QmlGridView.qml @@ -20,6 +20,8 @@ Rectangle { cellHeight: cellWidth cellWidth: calculateCoverSize(gridView.width - 3) + cacheBuffer: cellHeight * 5 + function calculateCoverSize(rectWidth) { var itemWidth = fontMetrics.width; var itemsPerRow = Math.max( 1, Math.floor( rectWidth / itemWidth ) ); diff --git a/src/libtomahawk/playlist/FlexibleView.cpp b/src/libtomahawk/playlist/FlexibleView.cpp index 7fc2596e1..cec8f499d 100644 --- a/src/libtomahawk/playlist/FlexibleView.cpp +++ b/src/libtomahawk/playlist/FlexibleView.cpp @@ -26,7 +26,7 @@ #include "playlist/PlayableModel.h" #include "playlist/PlaylistModel.h" #include "playlist/TrackView.h" -#include "playlist/GridView.h" +#include "playlist/QmlGridView.h" #include "playlist/PlaylistLargeItemDelegate.h" #include "PlayableProxyModelPlaylistInterface.h" #include "utils/TomahawkUtilsGui.h" @@ -40,7 +40,7 @@ FlexibleView::FlexibleView( QWidget* parent ) , m_header( new DeclarativeHeader( this ) ) , m_trackView( new TrackView() ) , m_detailedView( new TrackView() ) - , m_gridView( new GridView() ) + , m_gridView( new QmlGridView() ) , m_model( 0 ) { qRegisterMetaType< TomahawkUtils::ViewMode >( "TomahawkUtils::ViewMode" ); @@ -125,7 +125,7 @@ FlexibleView::setDetailedView( TrackView* view ) void -FlexibleView::setGridView( GridView* view ) +FlexibleView::setGridView( QmlGridView *view ) { if ( m_gridView ) { @@ -271,7 +271,7 @@ FlexibleView::setEmptyTip( const QString& tip ) { m_trackView->setEmptyTip( tip ); m_detailedView->setEmptyTip( tip ); - m_gridView->setEmptyTip( tip ); +// m_gridView->setEmptyTip( tip ); } diff --git a/src/libtomahawk/playlist/FlexibleView.h b/src/libtomahawk/playlist/FlexibleView.h index add01ca31..ba9d61683 100644 --- a/src/libtomahawk/playlist/FlexibleView.h +++ b/src/libtomahawk/playlist/FlexibleView.h @@ -25,7 +25,7 @@ class QStackedWidget; -class GridView; +class QmlGridView; class TrackView; class PlayableModel; class PlaylistModel; @@ -57,13 +57,13 @@ public: TrackView* trackView() const { return m_trackView; } TrackView* detailedView() const { return m_detailedView; } - GridView* gridView() const { return m_gridView; } + QmlGridView* gridView() const { return m_gridView; } void setGuid( const QString& guid ); void setTrackView( TrackView* view ); void setDetailedView( TrackView* view ); - void setGridView( GridView* view ); + void setGridView( QmlGridView* view ); void setPlayableModel( PlayableModel* model ); void setPlaylistModel( PlaylistModel* model ); @@ -89,7 +89,7 @@ private: TrackView* m_trackView; TrackView* m_detailedView; - GridView* m_gridView; + QmlGridView* m_gridView; PlayableModel* m_model; QStackedWidget* m_stack; diff --git a/src/libtomahawk/playlist/QmlGridView.cpp b/src/libtomahawk/playlist/QmlGridView.cpp index dfca5b190..854b576c7 100644 --- a/src/libtomahawk/playlist/QmlGridView.cpp +++ b/src/libtomahawk/playlist/QmlGridView.cpp @@ -87,6 +87,12 @@ void QmlGridView::setPlayableModel(PlayableModel *model) } +void QmlGridView::setPlaylistInterface(playlistinterface_ptr playlistInterface) +{ + proxyModel()->setPlaylistInterface( playlistInterface ); +} + + void QmlGridView::onItemClicked( int index ) { diff --git a/src/libtomahawk/playlist/QmlGridView.h b/src/libtomahawk/playlist/QmlGridView.h index 93bc29ab9..2f42a06a0 100644 --- a/src/libtomahawk/playlist/QmlGridView.h +++ b/src/libtomahawk/playlist/QmlGridView.h @@ -52,6 +52,7 @@ public: QWidget *widget() { return this; } + virtual void setPlaylistInterface(Tomahawk::playlistinterface_ptr playlistInterface); virtual Tomahawk::playlistinterface_ptr playlistInterface() const { return m_playlistInterface; } virtual QString title() const { return m_model->title(); } virtual QString description() const { return m_model->description(); }