diff --git a/src/libtomahawk-widgets/SocialPlaylistWidget.cpp b/src/libtomahawk-widgets/SocialPlaylistWidget.cpp
index 37930f2ab..7ddd28bbf 100644
--- a/src/libtomahawk-widgets/SocialPlaylistWidget.cpp
+++ b/src/libtomahawk-widgets/SocialPlaylistWidget.cpp
@@ -24,6 +24,7 @@
#include "database/Database.h"
#include "SourceList.h"
#include "playlist/PlayableModel.h"
+#include "playlist/PlaylistModel.h"
#include "playlist/dynamic/GeneratorInterface.h"
#include "playlist/dynamic/database/DatabaseGenerator.h"
#include "utils/Logger.h"
@@ -71,7 +72,7 @@ SocialPlaylistWidget::SocialPlaylistWidget ( QWidget* parent )
// connect( model, SIGNAL( emptinessChanged( bool) ), this, SLOT( updatePlaylists() ) );
m_topForeignTracksModel = new PlaylistModel( ui->newTracksView );
- ui->newTracksView->setPlaylistModel( m_topForeignTracksModel );
+ ui->newTracksView->setPlayableModel( m_topForeignTracksModel );
ui->newTracksView->proxyModel()->setStyle( PlayableProxyModel::Fancy );
ui->newTracksView->overlay()->setEnabled( false );
diff --git a/src/libtomahawk-widgets/SocialPlaylistWidget.ui b/src/libtomahawk-widgets/SocialPlaylistWidget.ui
index 556aa160d..c3d79415a 100644
--- a/src/libtomahawk-widgets/SocialPlaylistWidget.ui
+++ b/src/libtomahawk-widgets/SocialPlaylistWidget.ui
@@ -65,7 +65,7 @@
-
-
+
320
@@ -82,9 +82,9 @@
- PlaylistView
+ TrackView
QTreeView
-
+
HeaderLabel
diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt
index 3746009c5..043c4243d 100644
--- a/src/libtomahawk/CMakeLists.txt
+++ b/src/libtomahawk/CMakeLists.txt
@@ -49,7 +49,6 @@ set( libGuiSources
playlist/ColumnItemDelegate.cpp
playlist/ColumnViewPreviewWidget.cpp
playlist/PlaylistModel.cpp
- playlist/PlaylistView.cpp
playlist/PlaylistItemDelegate.cpp
playlist/QueueProxyModel.cpp
playlist/QueueView.cpp
diff --git a/src/libtomahawk/ContextMenu.cpp b/src/libtomahawk/ContextMenu.cpp
index 81867dc39..a3fe3313f 100644
--- a/src/libtomahawk/ContextMenu.cpp
+++ b/src/libtomahawk/ContextMenu.cpp
@@ -1,6 +1,6 @@
/* === This file is part of Tomahawk Player - ===
*
- * Copyright 2010-2011, Christian Muehlhaeuser
+ * Copyright 2010-2014, Christian Muehlhaeuser
* Copyright 2013, Teo Mrnjavac
*
* Tomahawk is free software: you can redistribute it and/or modify
@@ -20,7 +20,9 @@
#include "ContextMenu.h"
#include "audio/AudioEngine.h"
-#include "playlist/PlaylistView.h"
+#include "playlist/ContextView.h"
+#include "playlist/TrackView.h"
+#include "playlist/PlayableModel.h"
#include "filemetadata/MetadataEditor.h"
#include "GlobalActionManager.h"
#include "ViewManager.h"
diff --git a/src/libtomahawk/GlobalActionManager.cpp b/src/libtomahawk/GlobalActionManager.cpp
index 83cc794cf..a3fd14d87 100644
--- a/src/libtomahawk/GlobalActionManager.cpp
+++ b/src/libtomahawk/GlobalActionManager.cpp
@@ -2,7 +2,7 @@
*
* Copyright (C) 2011 Leo Franchi
* Copyright (C) 2011, Jeff Mitchell
- * Copyright (C) 2011-2012, Christian Muehlhaeuser
+ * Copyright (C) 2011-2014, Christian Muehlhaeuser
* Copyright (C) 2013, Uwe L. Korn
* Copyright (C) 2013, Teo Mrnjavac
*
@@ -33,7 +33,9 @@
#include "jobview/JobStatusView.h"
#include "playlist/dynamic/GeneratorInterface.h"
#include "playlist/PlaylistTemplate.h"
-#include "playlist/PlaylistView.h"
+#include "playlist/ContextView.h"
+#include "playlist/TrackView.h"
+#include "playlist/PlayableModel.h"
#include "resolvers/ExternalResolver.h"
#include "resolvers/ScriptCommand_LookupUrl.h"
#include "utils/JspfLoader.h"
diff --git a/src/libtomahawk/Playlist.cpp b/src/libtomahawk/Playlist.cpp
index 3d7bd42b9..1683fddd6 100644
--- a/src/libtomahawk/Playlist.cpp
+++ b/src/libtomahawk/Playlist.cpp
@@ -28,6 +28,7 @@
#include "database/DatabaseCommand_DeletePlaylist.h"
#include "database/DatabaseCommand_RenamePlaylist.h"
#include "playlist/PlaylistUpdaterInterface.h"
+#include "playlist/PlaylistModel.h"
#include "utils/Logger.h"
#include "utils/Closure.h"
diff --git a/src/libtomahawk/ViewManager.cpp b/src/libtomahawk/ViewManager.cpp
index 58e0ca160..0835d3afd 100644
--- a/src/libtomahawk/ViewManager.cpp
+++ b/src/libtomahawk/ViewManager.cpp
@@ -25,10 +25,11 @@
#include "infobar/InfoBar.h"
#include "playlist/FlexibleView.h"
+#include "playlist/ContextView.h"
#include "playlist/FlexibleTreeView.h"
#include "playlist/TreeModel.h"
#include "playlist/PlaylistModel.h"
-#include "playlist/PlaylistView.h"
+#include "playlist/TrackView.h"
#include "playlist/PlayableProxyModel.h"
#include "playlist/PlayableModel.h"
#include "playlist/ColumnView.h"
@@ -133,13 +134,8 @@ ViewManager::createPageForPlaylist( const playlist_ptr& playlist )
FlexibleView* view = new FlexibleView();
PlaylistModel* model = new PlaylistModel();
- PlaylistView* pv = new PlaylistView();
- view->setDetailedView( pv );
- view->setPixmap( pv->pixmap() );
-
// We need to set the model on the view before loading the playlist, so spinners & co are connected
- view->setPlaylistModel( model );
- pv->setPlaylistModel( model );
+ view->view()->trackView()->setPlayableModel( model );
model->loadPlaylist( playlist );
playlist->resolve();
@@ -154,14 +150,10 @@ ViewManager::createPageForList( const QString& title, const QList< query_ptr >&
FlexibleView* view = new FlexibleView();
PlaylistModel* model = new PlaylistModel();
- PlaylistView* pv = new PlaylistView();
- view->setDetailedView( pv );
- view->setPixmap( pv->pixmap() );
view->setTemporaryPage( true );
// We need to set the model on the view before loading the playlist, so spinners & co are connected
- view->setPlaylistModel( model );
- pv->setPlaylistModel( model );
+ view->view()->trackView()->setPlayableModel( model );
model->setTitle( title );
model->appendQueries( queries );
@@ -174,10 +166,15 @@ playlist_ptr
ViewManager::playlistForPage( ViewPage* page ) const
{
playlist_ptr p;
- if ( dynamic_cast< PlaylistView* >( page ) && dynamic_cast< PlaylistView* >( page )->playlistModel() &&
- !dynamic_cast< PlaylistView* >( page )->playlistModel()->playlist().isNull() )
+
+ FlexibleView* fv = dynamic_cast< FlexibleView* >( page );
+ if ( fv && fv->view()->trackView()->model() )
{
- p = dynamic_cast< PlaylistView* >( page )->playlistModel()->playlist();
+ PlaylistModel* m = dynamic_cast< PlaylistModel* >( fv->view()->trackView()->model() );
+ if ( m && m->playlist() )
+ {
+ p = m->playlist();
+ }
}
else if ( dynamic_cast< DynamicWidget* >( page ) )
p = dynamic_cast< DynamicWidget* >( page )->playlist();
diff --git a/src/libtomahawk/ViewManager.h b/src/libtomahawk/ViewManager.h
index 7b332f1f0..684a83509 100644
--- a/src/libtomahawk/ViewManager.h
+++ b/src/libtomahawk/ViewManager.h
@@ -46,7 +46,6 @@ class CollectionModel;
class FlexibleView;
class FlexibleTreeView;
class PlaylistModel;
-class PlaylistView;
class TrackProxyModel;
class TrackModel;
class TreeProxyModel;
@@ -101,7 +100,7 @@ public:
Tomahawk::ViewPage* pageForPlaylist( const Tomahawk::playlist_ptr& pl ) const;
Tomahawk::ViewPage* pageForDynPlaylist( const Tomahawk::dynplaylist_ptr& pl ) const;
- /// Get a playlist (or dynamic playlist ) from a ViewPage* if the page is PlaylistView or DynamicWidget.
+ /// Get a playlist (or dynamic playlist ) from a ViewPage* if the page is FlexibleView or DynamicWidget.
/// Lives here but used by SourcesModel
Tomahawk::playlist_ptr playlistForPage( Tomahawk::ViewPage* ) const;
diff --git a/src/libtomahawk/playlist/ContextView.h b/src/libtomahawk/playlist/ContextView.h
index 1cc9b7290..33a0848d0 100644
--- a/src/libtomahawk/playlist/ContextView.h
+++ b/src/libtomahawk/playlist/ContextView.h
@@ -23,14 +23,11 @@
#include "PlaylistInterface.h"
#include "DllMacro.h"
-class QStackedWidget;
-
class CaptionLabel;
class GridView;
class TrackView;
class PlayableModel;
class PlaylistModel;
-class FilterHeader;
class DLLEXPORT ContextView : public QWidget, public Tomahawk::ViewPage
{
diff --git a/src/libtomahawk/playlist/PlaylistView.cpp b/src/libtomahawk/playlist/PlaylistView.cpp
deleted file mode 100644
index 5f6cd818f..000000000
--- a/src/libtomahawk/playlist/PlaylistView.cpp
+++ /dev/null
@@ -1,141 +0,0 @@
-/* === This file is part of Tomahawk Player - ===
- *
- * Copyright 2010-2011, Christian Muehlhaeuser
- * Copyright 2010-2011, Jeff Mitchell
- *
- * Tomahawk is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Tomahawk is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Tomahawk. If not, see .
- */
-
-#include "PlaylistView.h"
-
-#include
-
-#include "ViewManager.h"
-#include "PlaylistUpdaterInterface.h"
-#include "Source.h"
-#include "utils/TomahawkUtilsGui.h"
-#include "utils/Logger.h"
-#include "utils/DpiScaler.h"
-
-using namespace Tomahawk;
-
-
-PlaylistView::PlaylistView( QWidget* parent )
- : TrackView( parent )
- , m_model( 0 )
-{
-}
-
-
-PlaylistView::~PlaylistView()
-{
- qDebug() << Q_FUNC_INFO;
-}
-
-
-void
-PlaylistView::setModel( QAbstractItemModel* model )
-{
- Q_UNUSED( model );
- qDebug() << "Explicitly use setPlaylistModel instead";
- Q_ASSERT( false );
-}
-
-
-void
-PlaylistView::setPlaylistModel( PlaylistModel* model )
-{
- m_model = model;
-
- TrackView::setPlayableModel( m_model );
- setColumnHidden( PlayableModel::Age, true ); // Hide age column per default
- setColumnHidden( PlayableModel::Filesize, true ); // Hide filesize column per default
- setColumnHidden( PlayableModel::Composer, true ); // Hide composer column per default
-
- connect( m_model, SIGNAL( playlistDeleted() ), SLOT( onDeleted() ) );
- connect( m_model, SIGNAL( playlistChanged() ), SLOT( onChanged() ) );
-
- emit modelChanged();
-}
-
-
-void
-PlaylistView::keyPressEvent( QKeyEvent* event )
-{
- TrackView::keyPressEvent( event );
-}
-
-
-QList
-PlaylistView::updaters() const
-{
- if ( !m_model->playlist().isNull() )
- return m_model->playlist()->updaters();
-
- return QList();
-}
-
-
-void
-PlaylistView::onDeleted()
-{
- emit destroyed( widget() );
-}
-
-
-void
-PlaylistView::onChanged()
-{
- if ( m_model )
- {
- if ( m_model->isReadOnly() )
- setEmptyTip( tr( "This playlist is currently empty." ) );
- else
- setEmptyTip( tr( "This playlist is currently empty. Add some tracks to it and enjoy the music!" ) );
-
- setGuid( proxyModel()->guid() );
-
- if ( !m_model->playlist().isNull() && ViewManager::instance()->currentPage() == this )
- emit nameChanged( m_model->playlist()->title() );
- }
-}
-
-
-bool
-PlaylistView::isTemporaryPage() const
-{
- return ( m_model && m_model->isTemporary() );
-}
-
-
-void
-PlaylistView::onMenuTriggered( int action )
-{
- TrackView::onMenuTriggered( action );
-
- switch ( action )
- {
- default:
- break;
- }
-}
-
-
-QPixmap
-PlaylistView::pixmap() const
-{
- return TomahawkUtils::defaultPixmap( TomahawkUtils::Playlist,
- TomahawkUtils::Original,
- TomahawkUtils::DpiScaler::scaled( this, 80, 80 ) );
-}
diff --git a/src/libtomahawk/playlist/PlaylistView.h b/src/libtomahawk/playlist/PlaylistView.h
deleted file mode 100644
index b929dc782..000000000
--- a/src/libtomahawk/playlist/PlaylistView.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* === This file is part of Tomahawk Player - ===
- *
- * Copyright 2010-2011, Christian Muehlhaeuser
- * Copyright 2010-2012, Jeff Mitchell
- *
- * Tomahawk is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Tomahawk is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Tomahawk. If not, see .
- */
-
-#ifndef PLAYLISTVIEW_H
-#define PLAYLISTVIEW_H
-
-#include "playlist/PlayableProxyModel.h"
-#include "playlist/PlaylistModel.h"
-#include "TrackView.h"
-#include "ViewPage.h"
-#include "DllMacro.h"
-
-class DLLEXPORT PlaylistView : public TrackView
-{
-Q_OBJECT
-
-public:
- explicit PlaylistView( QWidget* parent = 0 );
- virtual ~PlaylistView();
-
- PlaylistModel* playlistModel() const { return m_model; }
- virtual void setPlaylistModel( PlaylistModel* model );
- virtual void setModel( QAbstractItemModel* model );
-
- virtual QList updaters() const;
-
- virtual QPixmap pixmap() const;
- virtual bool isTemporaryPage() const;
-
-signals:
- void nameChanged( const QString& title );
- void destroyed( QWidget* widget );
- void modelChanged();
-
-protected:
- void keyPressEvent( QKeyEvent* event );
-
-private slots:
- void onMenuTriggered( int action );
-
- void onDeleted();
- void onChanged();
-
-private:
- PlaylistModel* m_model;
- QString m_customTitle;
- QString m_customDescripton;
-};
-
-#endif // PLAYLISTVIEW_H
diff --git a/src/libtomahawk/playlist/QueueView.cpp b/src/libtomahawk/playlist/QueueView.cpp
index 8954469d5..e3486820d 100644
--- a/src/libtomahawk/playlist/QueueView.cpp
+++ b/src/libtomahawk/playlist/QueueView.cpp
@@ -19,6 +19,7 @@
#include "QueueView.h"
#include "playlist/TrackView.h"
+#include "playlist/ContextView.h"
#include "playlist/PlaylistModel.h"
#include "playlist/QueueProxyModel.h"
#include "playlist/TrackItemDelegate.h"
diff --git a/src/libtomahawk/playlist/QueueView.ui b/src/libtomahawk/playlist/QueueView.ui
index faae65081..5883063d1 100644
--- a/src/libtomahawk/playlist/QueueView.ui
+++ b/src/libtomahawk/playlist/QueueView.ui
@@ -48,7 +48,7 @@
-
-
-
+
-
@@ -74,9 +74,9 @@
- PlaylistView
+ TrackView
QTreeView
-
+
diff --git a/src/libtomahawk/playlist/TrackItemDelegate.cpp b/src/libtomahawk/playlist/TrackItemDelegate.cpp
index e431aa078..7401ebdd8 100644
--- a/src/libtomahawk/playlist/TrackItemDelegate.cpp
+++ b/src/libtomahawk/playlist/TrackItemDelegate.cpp
@@ -28,7 +28,7 @@
#include "Source.h"
#include "SourceList.h"
-#include "PlaylistView.h"
+#include "TrackView.h"
#include "PlayableModel.h"
#include "PlayableItem.h"
#include "PlayableProxyModel.h"
diff --git a/src/libtomahawk/playlist/dynamic/DynamicView.cpp b/src/libtomahawk/playlist/dynamic/DynamicView.cpp
index 588955e67..3e31d0010 100644
--- a/src/libtomahawk/playlist/dynamic/DynamicView.cpp
+++ b/src/libtomahawk/playlist/dynamic/DynamicView.cpp
@@ -43,7 +43,7 @@ using namespace Tomahawk;
DynamicView::DynamicView( QWidget* parent )
- : PlaylistView( parent )
+ : TrackView( parent )
, m_onDemand( false )
, m_checkOnCollapse( false )
, m_working( false )
@@ -77,7 +77,7 @@ void
DynamicView::setDynamicModel( DynamicModel* model )
{
m_model = model;
- PlaylistView::setPlaylistModel( m_model );
+ TrackView::setPlayableModel( m_model );
setAcceptDrops( false );
connect( m_model, SIGNAL( itemCountChanged( unsigned int ) ), SLOT( onTrackCountChanged( unsigned int ) ) );
diff --git a/src/libtomahawk/playlist/dynamic/DynamicView.h b/src/libtomahawk/playlist/dynamic/DynamicView.h
index d8236f311..2405ac0c7 100644
--- a/src/libtomahawk/playlist/dynamic/DynamicView.h
+++ b/src/libtomahawk/playlist/dynamic/DynamicView.h
@@ -20,7 +20,7 @@
#ifndef DYNAMIC_VIEW_H
#define DYNAMIC_VIEW_H
-#include "playlist/PlaylistView.h"
+#include "playlist/TrackView.h"
#include
#include
#include
@@ -34,7 +34,7 @@ namespace Tomahawk
class DynamicModel;
-class DynamicView : public PlaylistView
+class DynamicView : public TrackView
{
Q_OBJECT
public:
diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h
index 7773f2269..e97e3b35c 100644
--- a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h
+++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h
@@ -35,7 +35,6 @@ class QHBoxLayout;
class QPushButton;
class QComboBox;
class PlaylistModel;
-class PlaylistView;
class AnimatedSplitter;
class QLabel;
class ReadOrWriteWidget;
diff --git a/src/libtomahawk/widgets/HistoryWidget.cpp b/src/libtomahawk/widgets/HistoryWidget.cpp
index f81d09cf5..8ea275e0d 100644
--- a/src/libtomahawk/widgets/HistoryWidget.cpp
+++ b/src/libtomahawk/widgets/HistoryWidget.cpp
@@ -24,6 +24,7 @@
#include "MetaPlaylistInterface.h"
#include "playlist/RecentlyPlayedModel.h"
+#include "playlist/ContextView.h"
#include "playlist/TrackView.h"
#include "utils/TomahawkStyle.h"
#include "utils/TomahawkUtilsGui.h"
diff --git a/src/libtomahawk/widgets/NewPlaylistWidget.cpp b/src/libtomahawk/widgets/NewPlaylistWidget.cpp
index 285c871fc..255f587f6 100644
--- a/src/libtomahawk/widgets/NewPlaylistWidget.cpp
+++ b/src/libtomahawk/widgets/NewPlaylistWidget.cpp
@@ -52,7 +52,7 @@ NewPlaylistWidget::NewPlaylistWidget( QWidget* parent )
connect( ui->buttonBox, SIGNAL( rejected() ), SLOT( cancel() ) );
m_suggestionsModel = new PlaylistModel( ui->suggestionsView );
- ui->suggestionsView->setPlaylistModel( m_suggestionsModel );
+ ui->suggestionsView->setPlayableModel( m_suggestionsModel );
ui->suggestionsView->overlay()->setEnabled( false );
connect( &m_filterTimer, SIGNAL( timeout() ), SLOT( updateSuggestions() ) );
@@ -123,7 +123,7 @@ NewPlaylistWidget::suggestionsFound()
delete m_suggestionsModel;
m_suggestionsModel = new PlaylistModel( ui->suggestionsView );
- ui->suggestionsView->setPlaylistModel( m_suggestionsModel );
+ ui->suggestionsView->setPlayableModel( m_suggestionsModel );
m_suggestionsModel->appendQueries( m_queries );
diff --git a/src/libtomahawk/widgets/NewPlaylistWidget.ui b/src/libtomahawk/widgets/NewPlaylistWidget.ui
index a5560f0ca..b440d4006 100644
--- a/src/libtomahawk/widgets/NewPlaylistWidget.ui
+++ b/src/libtomahawk/widgets/NewPlaylistWidget.ui
@@ -62,7 +62,7 @@
-
-
+
-
@@ -75,9 +75,9 @@
- PlaylistView
+ TrackView
QTreeView
-
+
diff --git a/src/libtomahawk/widgets/SearchWidget.cpp b/src/libtomahawk/widgets/SearchWidget.cpp
index d7b27c23f..84e646803 100644
--- a/src/libtomahawk/widgets/SearchWidget.cpp
+++ b/src/libtomahawk/widgets/SearchWidget.cpp
@@ -25,6 +25,7 @@
#include "ViewManager.h"
#include "audio/AudioEngine.h"
#include "playlist/ContextView.h"
+#include "playlist/TrackView.h"
#include "playlist/PlayableModel.h"
#include "playlist/PlaylistModel.h"
#include "utils/AnimatedSpinner.h"
@@ -141,7 +142,7 @@ SearchWidget::SearchWidget( const QString& search, QWidget* parent )
ContextView* topHitsFullView = new ContextView( m_stackedWidget );
topHitsFullView->setCaption( tr( "Songs" ) );
topHitsFullView->setShowCloseButton( true );
- topHitsFullView->setPlayableModel( m_resultsModel );
+ topHitsFullView->trackView()->setPlayableModel( m_resultsModel );
m_stackedWidget->addWidget( topHitsFullView );
connect( topHitsFullView, SIGNAL( closeClicked() ), SLOT( onTopHitsMoreClosed() ) );
diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp
index 33740d5af..011529e17 100644
--- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp
+++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp
@@ -58,7 +58,7 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par
m_tracksModel->setMode( Mixed );
// We need to set the model on the view before loading the playlist, so spinners & co are connected
- ui->albumView->setPlayableModel( m_tracksModel );
+ ui->albumView->trackView()->setPlayableModel( m_tracksModel );
ui->albumView->setCaption( tr( "Album Details" ) );
ui->topHits->setStyleSheet( QString( "QListView { background-color: #f9f9f9; }" ) );
diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp
index 9701285e0..645ec4071 100644
--- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp
+++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp
@@ -34,6 +34,7 @@
#include "playlist/PlaylistModel.h"
#include "playlist/TreeProxyModel.h"
#include "playlist/ContextView.h"
+#include "playlist/TrackView.h"
#include "database/DatabaseCommand_AllTracks.h"
#include "database/DatabaseCommand_AllAlbums.h"
#include "Source.h"
@@ -181,7 +182,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget*
ContextView* topHitsFullView = new ContextView( m_stackedWidget );
topHitsFullView->setCaption( tr( "Songs" ) );
topHitsFullView->setShowCloseButton( true );
- topHitsFullView->setPlayableModel( m_topHitsModel );
+ topHitsFullView->trackView()->setPlayableModel( m_topHitsModel );
m_stackedWidget->addWidget( topHitsFullView );
connect( topHitsFullView, SIGNAL( closeClicked() ), SLOT( onPageClosed() ) );
diff --git a/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.ui
index de7638fff..eaa38d023 100644
--- a/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.ui
+++ b/src/libtomahawk/widgets/infowidgets/SourceInfoWidget.ui
@@ -90,7 +90,7 @@
-
-
+
@@ -112,9 +112,9 @@
- PlaylistView
+ TrackView
QTreeView
-
+
TrackView
diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp
index ffe3adc3f..b41b3c970 100644
--- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp
+++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp
@@ -26,6 +26,7 @@
#include "ViewManager.h"
#include "SourceList.h"
+#include "playlist/TrackView.h"
#include "playlist/PlayableModel.h"
#include "audio/AudioEngine.h"
#include "widgets/BasicHeader.h"
@@ -47,7 +48,7 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par
m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultTrackImage, TomahawkUtils::Original, QSize( 48, 48 ) );
m_relatedTracksModel = new PlayableModel( ui->trackView );
- ui->trackView->setPlayableModel( m_relatedTracksModel );
+ ui->trackView->trackView()->setPlayableModel( m_relatedTracksModel );
ui->trackView->setCaption( tr( "Similar Tracks" ) );
ui->trackView->setEmptyTip( tr( "Sorry, but we could not find similar tracks for this song!" ) );
diff --git a/src/tomahawk/AudioControls.cpp b/src/tomahawk/AudioControls.cpp
index f323d5643..5d2771734 100644
--- a/src/tomahawk/AudioControls.cpp
+++ b/src/tomahawk/AudioControls.cpp
@@ -29,7 +29,9 @@
#include "audio/AudioEngine.h"
#include "database/Database.h"
-#include "playlist/PlaylistView.h"
+#include "playlist/ContextView.h"
+#include "playlist/TrackView.h"
+#include "playlist/PlayableModel.h"
#include "utils/TomahawkUtilsGui.h"
#include "utils/ImageRegistry.h"
#include "utils/Logger.h"
diff --git a/src/tomahawk/TomahawkWindow.cpp b/src/tomahawk/TomahawkWindow.cpp
index 1d2475eed..a2b65f6db 100644
--- a/src/tomahawk/TomahawkWindow.cpp
+++ b/src/tomahawk/TomahawkWindow.cpp
@@ -55,7 +55,9 @@
#include "thirdparty/Qocoa/qsearchfield.h"
#include "playlist/dynamic/GeneratorInterface.h"
#include "playlist/PlaylistModel.h"
-#include "playlist/PlaylistView.h"
+#include "playlist/PlayableProxyModel.h"
+#include "playlist/ContextView.h"
+#include "playlist/TrackView.h"
#include "playlist/QueueView.h"
#include "jobview/JobStatusView.h"
#include "jobview/JobStatusModel.h"
diff --git a/src/tomahawk/sourcetree/SourcesModel.cpp b/src/tomahawk/sourcetree/SourcesModel.cpp
index 569ab01f1..6a6542c83 100644
--- a/src/tomahawk/sourcetree/SourcesModel.cpp
+++ b/src/tomahawk/sourcetree/SourcesModel.cpp
@@ -38,7 +38,6 @@
#include "DropJob.h"
#include "items/PlaylistItems.h"
#include "playlist/TreeView.h"
-#include "playlist/PlaylistView.h"
#include "playlist/dynamic/widgets/DynamicWidget.h"
#include "utils/Closure.h"
#include "utils/ImageRegistry.h"
diff --git a/src/tomahawk/sourcetree/items/LovedTracksItem.cpp b/src/tomahawk/sourcetree/items/LovedTracksItem.cpp
index a9ab80914..3b9a971e0 100644
--- a/src/tomahawk/sourcetree/items/LovedTracksItem.cpp
+++ b/src/tomahawk/sourcetree/items/LovedTracksItem.cpp
@@ -25,6 +25,7 @@
#include "ViewManager.h"
#include "playlist/FlexibleView.h"
+#include "playlist/ContextView.h"
#include "playlist/TrackView.h"
#include "playlist/TopLovedTracksModel.h"
#include "playlist/TrackItemDelegate.h"
diff --git a/src/tomahawk/sourcetree/items/PlaylistItems.cpp b/src/tomahawk/sourcetree/items/PlaylistItems.cpp
index c584bb515..f3bf2e18c 100644
--- a/src/tomahawk/sourcetree/items/PlaylistItems.cpp
+++ b/src/tomahawk/sourcetree/items/PlaylistItems.cpp
@@ -1,7 +1,7 @@
/* === This file is part of Tomahawk Player - ===
*
* Copyright 2010-2012, Leo Franchi
- * Copyright 2010-2013, Christian Muehlhaeuser
+ * Copyright 2010-2014, Christian Muehlhaeuser
*
* Tomahawk is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -27,7 +27,8 @@
#include "Source.h"
#include "audio/AudioEngine.h"
#include "playlist/dynamic/GeneratorInterface.h"
-#include "playlist/PlaylistView.h"
+#include "playlist/ContextView.h"
+#include "playlist/TrackView.h"
#include "utils/TomahawkUtilsGui.h"
#include "utils/Logger.h"
diff --git a/src/tomahawk/sourcetree/items/QueueItem.cpp b/src/tomahawk/sourcetree/items/QueueItem.cpp
index 0ff642605..0be9e4f00 100644
--- a/src/tomahawk/sourcetree/items/QueueItem.cpp
+++ b/src/tomahawk/sourcetree/items/QueueItem.cpp
@@ -21,6 +21,7 @@
#include "utils/ImageRegistry.h"
#include "utils/Logger.h"
+#include "playlist/ContextView.h"
#include "playlist/TrackView.h"
#include "playlist/PlayableProxyModel.h"
#include "ViewManager.h"
diff --git a/src/tomahawk/sourcetree/items/SourceItem.cpp b/src/tomahawk/sourcetree/items/SourceItem.cpp
index ea0842c48..64d8eaef8 100644
--- a/src/tomahawk/sourcetree/items/SourceItem.cpp
+++ b/src/tomahawk/sourcetree/items/SourceItem.cpp
@@ -34,8 +34,9 @@
#include "LovedTracksItem.h"
#include "Source.h"
#include "SourceList.h"
+#include "playlist/ContextView.h"
#include "playlist/FlexibleView.h"
-#include "playlist/PlaylistView.h"
+#include "playlist/TrackView.h"
#include "playlist/RecentlyAddedModel.h"
#include "playlist/RecentlyPlayedModel.h"
#include "sip/PeerInfo.h"
diff --git a/src/viewpages/charts/ChartsWidget.ui b/src/viewpages/charts/ChartsWidget.ui
index 10fdb274e..ab21c69f9 100644
--- a/src/viewpages/charts/ChartsWidget.ui
+++ b/src/viewpages/charts/ChartsWidget.ui
@@ -48,7 +48,7 @@
GridView
QListView
-
+
TreeView
@@ -56,9 +56,9 @@
- PlaylistView
+ TrackView
QTreeView
-
+
Tomahawk::Breadcrumb
diff --git a/src/viewpages/dashboard/Dashboard.cpp b/src/viewpages/dashboard/Dashboard.cpp
index 111933de7..602f38af6 100644
--- a/src/viewpages/dashboard/Dashboard.cpp
+++ b/src/viewpages/dashboard/Dashboard.cpp
@@ -74,7 +74,7 @@ DashboardWidget::DashboardWidget( QWidget* parent )
{
m_tracksModel = new RecentlyPlayedModel( ui->trackView->trackView(), HISTORY_TRACK_ITEMS );
- ui->trackView->setPlayableModel( m_tracksModel );
+ ui->trackView->trackView()->setPlayableModel( m_tracksModel );
ui->trackView->setCaption( tr( "Recently Played Tracks" ) );
ui->trackView->trackView()->setUniformRowHeights( false );
ui->trackView->trackView()->setIndentation( 0 );
diff --git a/src/viewpages/networkactivity/NetworkActivityWidget.ui b/src/viewpages/networkactivity/NetworkActivityWidget.ui
index ed009eb5c..c571bd149 100644
--- a/src/viewpages/networkactivity/NetworkActivityWidget.ui
+++ b/src/viewpages/networkactivity/NetworkActivityWidget.ui
@@ -41,7 +41,7 @@
-
-
+
0
@@ -152,7 +152,7 @@
-
-
+
0
@@ -189,9 +189,9 @@
- PlaylistView
+ TrackView
QTreeView
-
+
GridView