From 7dbe504a0f50eeed826715ec467ef52a1725237d Mon Sep 17 00:00:00 2001 From: Dominik Schmidt Date: Sun, 16 Jun 2013 22:05:23 +0200 Subject: [PATCH] Add icon() method to ViewPage api and use that and title() for sidebar items --- src/libtomahawk/ViewPage.cpp | 5 +++++ src/libtomahawk/ViewPage.h | 1 + src/tomahawk/sourcetree/SourcesModel.cpp | 16 ++++++++++------ src/tomahawk/sourcetree/SourcesModel.h | 7 ++----- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/libtomahawk/ViewPage.cpp b/src/libtomahawk/ViewPage.cpp index 9b1704471..5e989745e 100644 --- a/src/libtomahawk/ViewPage.cpp +++ b/src/libtomahawk/ViewPage.cpp @@ -28,6 +28,11 @@ ViewPage::~ViewPage() tDebug( LOGVERBOSE ) << Q_FUNC_INFO; } +QIcon ViewPage::icon() const +{ + return QIcon(); +} + bool ViewPage::setFilter( const QString& filter ) diff --git a/src/libtomahawk/ViewPage.h b/src/libtomahawk/ViewPage.h index 9608770ba..5d9530aaf 100644 --- a/src/libtomahawk/ViewPage.h +++ b/src/libtomahawk/ViewPage.h @@ -49,6 +49,7 @@ public: virtual QWidget* widget() = 0; virtual Tomahawk::playlistinterface_ptr playlistInterface() const = 0; + virtual QIcon icon() const; virtual QString title() const = 0; virtual DescriptionType descriptionType() { return TextType; } diff --git a/src/tomahawk/sourcetree/SourcesModel.cpp b/src/tomahawk/sourcetree/SourcesModel.cpp index 56b61b0ab..a00d2e594 100644 --- a/src/tomahawk/sourcetree/SourcesModel.cpp +++ b/src/tomahawk/sourcetree/SourcesModel.cpp @@ -348,13 +348,17 @@ SourcesModel::appendGroups() } void -SourcesModel::appendPageItem( const QIcon& pageIcon, const QString& pageTitle, const QString& pageName ) +SourcesModel::appendPageItem( const QString& pageName ) { QModelIndex parentIndex = indexFromItem( m_browse ); beginInsertRows( parentIndex, rowCount( parentIndex ), rowCount( parentIndex ) ); - GenericPageItem* pageItem = new GenericPageItem( this, m_browse, pageTitle, pageIcon, - boost::bind( &ViewManager::showDynamicPage, ViewManager::instance(), pageName ), - boost::bind( &ViewManager::dynamicPageWidget, ViewManager::instance(), pageName ) ); + GenericPageItem* pageItem = new GenericPageItem( this, + m_browse, + ViewManager::instance()->dynamicPageWidget( pageName )->title(), + ViewManager::instance()->dynamicPageWidget( pageName )->icon(), + boost::bind( &ViewManager::showDynamicPage, ViewManager::instance(), pageName ), + boost::bind( &ViewManager::dynamicPageWidget, ViewManager::instance(), pageName ) ); + pageItem->setSortValue( rowCount( parentIndex ) ); endInsertRows(); @@ -673,9 +677,9 @@ SourcesModel::onWidgetDestroyed( QWidget* w ) void -SourcesModel::onViewPageAdded( const QString& name ) +SourcesModel::onViewPageAdded( const QString& pageName ) { - appendPageItem( ImageRegistry::instance()->icon( RESPATH "images/new-releases.svg" ), name, name); + appendPageItem( pageName ); } diff --git a/src/tomahawk/sourcetree/SourcesModel.h b/src/tomahawk/sourcetree/SourcesModel.h index 48172e57d..4ba534f28 100644 --- a/src/tomahawk/sourcetree/SourcesModel.h +++ b/src/tomahawk/sourcetree/SourcesModel.h @@ -103,10 +103,7 @@ public: void appendGroups(); - /* - * pageIcon and pageTitle are visible in the source tree, pageName is the internal name in the ViewManager - */ - void appendPageItem( const QIcon& pageIcon, const QString& pageTitle, const QString& pageName ); + void appendPageItem( const QString& pageName ); void appendItem( const Tomahawk::source_ptr& source ); bool removeItem( const Tomahawk::source_ptr& source ); @@ -151,7 +148,7 @@ private slots: void onWidgetDestroyed( QWidget* w ); - void onViewPageAdded( const QString& name ); + void onViewPageAdded( const QString& pageName ); private: SourceTreeItem* itemFromIndex( const QModelIndex& idx ) const;