From 473503d786bbe8c51c8339e10bb53542491b6fde Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 28 Nov 2012 08:00:46 +0100 Subject: [PATCH] * Implemented new PlaylistInterface in various ProxyModelInterfaces. --- src/libtomahawk/AlbumPlaylistInterface.cpp | 23 +++++++++++++------ src/libtomahawk/AlbumPlaylistInterface.h | 4 ++-- src/libtomahawk/ArtistPlaylistInterface.cpp | 18 ++++++++++----- src/libtomahawk/ArtistPlaylistInterface.h | 4 ++-- src/libtomahawk/PlaylistPlaylistInterface.cpp | 2 +- src/libtomahawk/PlaylistPlaylistInterface.h | 4 ++-- src/libtomahawk/SourcePlaylistInterface.cpp | 5 ++-- src/libtomahawk/SourcePlaylistInterface.h | 6 ++--- .../playlist/SingleTrackPlaylistInterface.h | 4 ++-- src/libtomahawk/widgets/WelcomeWidget.cpp | 4 ++-- src/libtomahawk/widgets/WhatsHotWidget_p.h | 4 ++-- .../widgets/infowidgets/AlbumInfoWidget_p.h | 4 ++-- .../widgets/infowidgets/ArtistInfoWidget_p.h | 4 ++-- 13 files changed, 51 insertions(+), 35 deletions(-) diff --git a/src/libtomahawk/AlbumPlaylistInterface.cpp b/src/libtomahawk/AlbumPlaylistInterface.cpp index 2ef8ba169..89d1aff9d 100644 --- a/src/libtomahawk/AlbumPlaylistInterface.cpp +++ b/src/libtomahawk/AlbumPlaylistInterface.cpp @@ -55,14 +55,18 @@ AlbumPlaylistInterface::~AlbumPlaylistInterface() void AlbumPlaylistInterface::setCurrentIndex( qint64 index ) { - m_currentTrack = index; - m_currentItem = m_queries.at( index )->results().first(); + Q_ASSERT( false ); +/* m_currentTrack = index; + m_currentItem = m_queries.at( index )->results().first();*/ } qint64 -AlbumPlaylistInterface::siblingIndex( int itemsAway ) const +AlbumPlaylistInterface::siblingIndex( int itemsAway, qint64 rootIndex ) const { + Q_ASSERT( false ); + + /* qint64 p = m_currentTrack; p += itemsAway; @@ -72,7 +76,9 @@ AlbumPlaylistInterface::siblingIndex( int itemsAway ) const if ( p >= m_queries.count() ) return -1; - return p; + return p;*/ + + return -1; } @@ -86,18 +92,21 @@ AlbumPlaylistInterface::currentItem() const bool AlbumPlaylistInterface::setCurrentTrack( unsigned int albumpos ) { - albumpos--; + Q_ASSERT( false ); + return false; + +/* albumpos--; if ( ( int ) albumpos >= m_queries.count() ) return false; m_currentTrack = albumpos; m_currentItem = m_queries.at( albumpos )->results().first(); - return true; + return true;*/ } QList< Tomahawk::query_ptr > -AlbumPlaylistInterface::tracks() +AlbumPlaylistInterface::tracks() const { if ( m_queries.isEmpty() && m_album ) { diff --git a/src/libtomahawk/AlbumPlaylistInterface.h b/src/libtomahawk/AlbumPlaylistInterface.h index 9ff02b640..cd8107774 100644 --- a/src/libtomahawk/AlbumPlaylistInterface.h +++ b/src/libtomahawk/AlbumPlaylistInterface.h @@ -40,12 +40,12 @@ public: AlbumPlaylistInterface( Tomahawk::Album* album, Tomahawk::ModelMode mode, const Tomahawk::collection_ptr& collection ); virtual ~AlbumPlaylistInterface(); - QList tracks(); + QList tracks() const; virtual int trackCount() const { return m_queries.count(); } virtual void setCurrentIndex( qint64 index ); - virtual qint64 siblingIndex( int itemsAway ) const; + virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const; virtual Tomahawk::result_ptr resultAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::result_ptr(); } virtual Tomahawk::query_ptr queryAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::query_ptr(); } diff --git a/src/libtomahawk/ArtistPlaylistInterface.cpp b/src/libtomahawk/ArtistPlaylistInterface.cpp index 0e55fbce3..274459adb 100644 --- a/src/libtomahawk/ArtistPlaylistInterface.cpp +++ b/src/libtomahawk/ArtistPlaylistInterface.cpp @@ -54,15 +54,19 @@ ArtistPlaylistInterface::~ArtistPlaylistInterface() void ArtistPlaylistInterface::setCurrentIndex( qint64 index ) { - m_currentTrack = index; - m_currentItem = m_queries.at( index )->results().first(); + Q_ASSERT( false ); + +/* m_currentTrack = index; + m_currentItem = m_queries.at( index )->results().first();*/ } qint64 -ArtistPlaylistInterface::siblingIndex( int itemsAway ) const +ArtistPlaylistInterface::siblingIndex( int itemsAway, qint64 rootIndex ) const { - qint64 p = m_currentTrack; + Q_ASSERT( false ); + +/* qint64 p = m_currentTrack; p += itemsAway; if ( p < 0 ) @@ -71,7 +75,9 @@ ArtistPlaylistInterface::siblingIndex( int itemsAway ) const if ( p >= m_queries.count() ) return -1; - return p; + return p;*/ + + return -1; } @@ -83,7 +89,7 @@ ArtistPlaylistInterface::currentItem() const QList -ArtistPlaylistInterface::tracks() +ArtistPlaylistInterface::tracks() const { if ( m_queries.isEmpty() && m_artist ) { diff --git a/src/libtomahawk/ArtistPlaylistInterface.h b/src/libtomahawk/ArtistPlaylistInterface.h index a923d3bce..369ca9f30 100644 --- a/src/libtomahawk/ArtistPlaylistInterface.h +++ b/src/libtomahawk/ArtistPlaylistInterface.h @@ -39,12 +39,12 @@ public: ArtistPlaylistInterface( Tomahawk::Artist* artist, Tomahawk::ModelMode mode, const Tomahawk::collection_ptr& collection ); virtual ~ArtistPlaylistInterface(); - virtual QList tracks(); + virtual QList tracks() const; virtual int trackCount() const { return m_queries.count(); } virtual void setCurrentIndex( qint64 index ); - virtual qint64 siblingIndex( int itemsAway ) const; + virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const; virtual Tomahawk::result_ptr resultAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::result_ptr(); } virtual Tomahawk::query_ptr queryAt( qint64 index ) const { Q_UNUSED( index ); Q_ASSERT( false ); return Tomahawk::query_ptr(); } virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } diff --git a/src/libtomahawk/PlaylistPlaylistInterface.cpp b/src/libtomahawk/PlaylistPlaylistInterface.cpp index 99ec12de9..7809d6915 100644 --- a/src/libtomahawk/PlaylistPlaylistInterface.cpp +++ b/src/libtomahawk/PlaylistPlaylistInterface.cpp @@ -48,7 +48,7 @@ PlaylistPlaylistInterface::trackCount() const QList< Tomahawk::query_ptr > -PlaylistPlaylistInterface::tracks() +PlaylistPlaylistInterface::tracks() const { QList queries; foreach( const plentry_ptr& p, ( m_playlist.isNull() ? QList< Tomahawk::plentry_ptr >() : m_playlist.data()->entries() ) ) diff --git a/src/libtomahawk/PlaylistPlaylistInterface.h b/src/libtomahawk/PlaylistPlaylistInterface.h index 70a92f37a..ff0387ae3 100644 --- a/src/libtomahawk/PlaylistPlaylistInterface.h +++ b/src/libtomahawk/PlaylistPlaylistInterface.h @@ -42,7 +42,7 @@ public: PlaylistPlaylistInterface( Tomahawk::Playlist* playlist ); virtual ~PlaylistPlaylistInterface(); - virtual QList tracks(); + virtual QList tracks() const; virtual int trackCount() const; @@ -53,7 +53,7 @@ public: virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } virtual Tomahawk::result_ptr currentItem() const { return m_currentItem; } - virtual qint64 siblingIndex( int /*itemsAway*/ ) const { return -1; } + virtual qint64 siblingIndex( int /*itemsAway*/, qint64 rootIndex = -1 ) const { Q_UNUSED( rootIndex ); return -1; } virtual PlaylistModes::RepeatMode repeatMode() const { return PlaylistModes::NoRepeat; } virtual bool shuffled() const { return false; } diff --git a/src/libtomahawk/SourcePlaylistInterface.cpp b/src/libtomahawk/SourcePlaylistInterface.cpp index f5ff7741e..0e62bfb03 100644 --- a/src/libtomahawk/SourcePlaylistInterface.cpp +++ b/src/libtomahawk/SourcePlaylistInterface.cpp @@ -58,9 +58,10 @@ SourcePlaylistInterface::setCurrentIndex( qint64 index ) qint64 -SourcePlaylistInterface::siblingIndex( int itemsAway ) const +SourcePlaylistInterface::siblingIndex( int itemsAway, qint64 rootIndex ) const { Q_UNUSED( itemsAway ); + Q_UNUSED( rootIndex ); if ( nextResult() ) return 0; @@ -125,7 +126,7 @@ SourcePlaylistInterface::hasNextResult() const QList -SourcePlaylistInterface::tracks() +SourcePlaylistInterface::tracks() const { QList tracks; return tracks; // FIXME (with what?) diff --git a/src/libtomahawk/SourcePlaylistInterface.h b/src/libtomahawk/SourcePlaylistInterface.h index bbd74856e..71debd955 100644 --- a/src/libtomahawk/SourcePlaylistInterface.h +++ b/src/libtomahawk/SourcePlaylistInterface.h @@ -36,10 +36,10 @@ class DLLEXPORT SourcePlaylistInterface : public Tomahawk::PlaylistInterface Q_OBJECT public: - SourcePlaylistInterface( Tomahawk::Source *source, Tomahawk::PlaylistModes::LatchMode latchMode = PlaylistModes::StayOnSong ); + SourcePlaylistInterface( Tomahawk::Source* source, Tomahawk::PlaylistModes::LatchMode latchMode = PlaylistModes::StayOnSong ); virtual ~SourcePlaylistInterface(); - QList tracks(); + QList tracks() const; virtual int trackCount() const { return 1; } @@ -49,7 +49,7 @@ public: virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } - virtual qint64 siblingIndex( int itemsAway ) const; + virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const; virtual bool sourceValid() const; virtual bool hasNextResult() const; virtual Tomahawk::result_ptr nextResult() const; diff --git a/src/libtomahawk/playlist/SingleTrackPlaylistInterface.h b/src/libtomahawk/playlist/SingleTrackPlaylistInterface.h index 5cd4dba04..f692e7457 100644 --- a/src/libtomahawk/playlist/SingleTrackPlaylistInterface.h +++ b/src/libtomahawk/playlist/SingleTrackPlaylistInterface.h @@ -55,9 +55,9 @@ public: virtual bool shuffled() const { return false; } virtual void setShuffled( bool ) {} - virtual qint64 siblingIndex( int ) const { return -1; } + virtual qint64 siblingIndex( int, qint64 rootIndex = -1 ) const { Q_UNUSED( rootIndex ); return -1; } virtual int trackCount() const { return 1; } - virtual QList< query_ptr > tracks() { return QList< query_ptr >(); } + virtual QList< query_ptr > tracks() const { return QList< query_ptr >(); } private: query_ptr m_track; diff --git a/src/libtomahawk/widgets/WelcomeWidget.cpp b/src/libtomahawk/widgets/WelcomeWidget.cpp index 6ea95f3c7..f6ab7f3fa 100644 --- a/src/libtomahawk/widgets/WelcomeWidget.cpp +++ b/src/libtomahawk/widgets/WelcomeWidget.cpp @@ -69,9 +69,9 @@ public: virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } virtual Tomahawk::result_ptr currentItem() const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->currentItem(); } - virtual qint64 siblingIndex( int itemsAway ) const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->siblingIndex( itemsAway ); } + virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->siblingIndex( itemsAway, rootIndex ); } virtual int trackCount() const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->trackCount(); } - virtual QList< Tomahawk::query_ptr > tracks() { return m_w->ui->tracksView->proxyModel()->playlistInterface()->tracks(); } + virtual QList< Tomahawk::query_ptr > tracks() const { return m_w->ui->tracksView->proxyModel()->playlistInterface()->tracks(); } virtual bool hasChildInterface( Tomahawk::playlistinterface_ptr other ) { diff --git a/src/libtomahawk/widgets/WhatsHotWidget_p.h b/src/libtomahawk/widgets/WhatsHotWidget_p.h index 901f6a89a..4ad300bc2 100644 --- a/src/libtomahawk/widgets/WhatsHotWidget_p.h +++ b/src/libtomahawk/widgets/WhatsHotWidget_p.h @@ -63,9 +63,9 @@ public: virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } virtual Tomahawk::result_ptr currentItem() const { return Tomahawk::result_ptr(); } - virtual qint64 siblingIndex( int ) const { return -1; } + virtual qint64 siblingIndex( int, qint64 rootIndex = -1 ) const { Q_UNUSED( rootIndex ); return -1; } virtual int trackCount() const { return 0; } - virtual QList< Tomahawk::query_ptr > tracks() { return QList< Tomahawk::query_ptr >(); } + virtual QList< Tomahawk::query_ptr > tracks() const { return QList< Tomahawk::query_ptr >(); } virtual bool hasChildInterface( Tomahawk::playlistinterface_ptr other ) { diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget_p.h b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget_p.h index bd7cc85ed..43f1351de 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget_p.h +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget_p.h @@ -53,9 +53,9 @@ public: virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } virtual Tomahawk::result_ptr currentItem() const { return m_w->ui->tracks->proxyModel()->playlistInterface()->currentItem(); } - virtual qint64 siblingIndex( int itemsAway ) const { return m_w->ui->tracks->proxyModel()->playlistInterface()->siblingIndex( itemsAway ); } + virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const { return m_w->ui->tracks->proxyModel()->playlistInterface()->siblingIndex( itemsAway, rootIndex ); } virtual int trackCount() const { return m_w->ui->tracks->proxyModel()->playlistInterface()->trackCount(); } - virtual QList< Tomahawk::query_ptr > tracks() { return m_w->ui->tracks->proxyModel()->playlistInterface()->tracks(); } + virtual QList< Tomahawk::query_ptr > tracks() const { return m_w->ui->tracks->proxyModel()->playlistInterface()->tracks(); } virtual bool hasChildInterface( Tomahawk::playlistinterface_ptr other ) { diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget_p.h b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget_p.h index d7ce61f60..36752c9c5 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget_p.h +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget_p.h @@ -65,9 +65,9 @@ public: virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const { Q_UNUSED( result ); Q_ASSERT( false ); return -1; } virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const { Q_UNUSED( query ); Q_ASSERT( false ); return -1; } virtual Tomahawk::result_ptr currentItem() const { return Tomahawk::result_ptr(); } - virtual qint64 siblingIndex( int ) const { return -1; } + virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const { Q_UNUSED( itemsAway ); Q_UNUSED( rootIndex ); return -1; } virtual int trackCount() const { return 0; } - virtual QList< Tomahawk::query_ptr > tracks() { return QList< Tomahawk::query_ptr >(); } + virtual QList< Tomahawk::query_ptr > tracks() const { return QList< Tomahawk::query_ptr >(); } virtual int unfilteredTrackCount() const { return 0; } virtual bool hasChildInterface( Tomahawk::playlistinterface_ptr other )