From 9091abcf9aa10d0d585e605d68e03d4d2fd260e8 Mon Sep 17 00:00:00 2001 From: Leo Franchi Date: Wed, 9 Feb 2011 19:09:18 -0500 Subject: [PATCH] Show different text for read-only playlists --- .../playlist/dynamic/DynamicView.cpp | 23 +++++++++++++++---- .../playlist/dynamic/DynamicView.h | 7 +++++- .../dynamic/widgets/DynamicWidget.cpp | 1 + 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/playlist/dynamic/DynamicView.cpp b/src/libtomahawk/playlist/dynamic/DynamicView.cpp index b3f34b12f..ce49d1643 100644 --- a/src/libtomahawk/playlist/dynamic/DynamicView.cpp +++ b/src/libtomahawk/playlist/dynamic/DynamicView.cpp @@ -25,6 +25,7 @@ #include #include #include +#include "DynamicModel.h" using namespace Tomahawk; @@ -58,7 +59,7 @@ DynamicView::~DynamicView() } void -DynamicView::setModel( PlaylistModel* model) +DynamicView::setModel( DynamicModel* model) { PlaylistView::setModel( model ); @@ -71,6 +72,12 @@ DynamicView::setOnDemand( bool onDemand ) m_onDemand = onDemand; } +void +DynamicView::setReadOnly( bool readOnly ) +{ + m_readOnly = readOnly; +} + void DynamicView::showMessageTimeout( const QString& title, const QString& body ) { @@ -94,10 +101,16 @@ DynamicView::onTrackCountChanged( unsigned int tracks ) { if ( tracks == 0 ) { - if( m_onDemand ) - overlay()->setText( tr( "Add some filters above, and press Start to begin listening to this custom station!" ) ); - else - overlay()->setText( tr( "Add some filters above, and press Generate to get started!" ) ); + if( m_onDemand ) { + if( m_readOnly ) + overlay()->setText( tr( "Press Start to begin listening to this custom station!" ) ); + else + overlay()->setText( tr( "Add some filters above, and press Start to begin listening to this custom station!" ) ); + } else + if( m_readOnly ) + overlay()->setText( tr( "Press Generate to get started!" ) ); + else + overlay()->setText( tr( "Add some filters above, and press Generate to get started!" ) ); if( !overlay()->shown() ) overlay()->show(); } diff --git a/src/libtomahawk/playlist/dynamic/DynamicView.h b/src/libtomahawk/playlist/dynamic/DynamicView.h index 3d1593508..147675b44 100644 --- a/src/libtomahawk/playlist/dynamic/DynamicView.h +++ b/src/libtomahawk/playlist/dynamic/DynamicView.h @@ -26,6 +26,9 @@ class PlaylistModel; class TrackModel; namespace Tomahawk { + +class DynamicModel; + class DynamicView : public PlaylistView { @@ -34,9 +37,10 @@ public: explicit DynamicView( QWidget* parent = 0 ); virtual ~DynamicView(); - virtual void setModel( PlaylistModel* model ); + virtual void setModel( DynamicModel* model ); void setOnDemand( bool onDemand ); + void setReadOnly( bool readOnly ); virtual void paintEvent(QPaintEvent* event); @@ -57,6 +61,7 @@ private: QString m_body; bool m_onDemand; + bool m_readOnly; // for collapsing animation QPoint m_fadingPointAnchor; diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp index 0fb9ac79a..c437c6b78 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp @@ -148,6 +148,7 @@ DynamicWidget::loadDynamicPlaylist( const Tomahawk::dynplaylist_ptr& playlist ) m_playlist = playlist; m_view->setOnDemand( m_playlist->mode() == OnDemand ); + m_view->setReadOnly( !m_playlist->author()->isLocal() ); m_model->loadPlaylist( m_playlist ); m_controlsChanged = false;