1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-09 15:47:38 +02:00

Use QList < ViewPage* > in ViewManager to store simple view pages

This commit is contained in:
Dominik Schmidt
2013-06-16 17:22:30 +02:00
committed by Michael Zanetti
parent 4b29d34278
commit cb5916b42a
3 changed files with 19 additions and 12 deletions

View File

@@ -90,7 +90,6 @@ ViewManager::ViewManager( QObject* parent )
, m_radioView( 0 )
, m_networkActivityWidget( 0 )
, m_currentPage( 0 )
, m_stubWidget( 0 )
, m_loaded( false )
{
s_instance = this;
@@ -946,20 +945,26 @@ private:
QWidget* m_widget;
};
ViewPage* ViewManager::stubWidget() const
ViewPage*
ViewManager::dynamicPageWidget( const QString& pageName ) const
{
return m_stubWidget;
return m_dynamicPages.value( pageName );
}
ViewPage* ViewManager::showStub()
ViewPage*
ViewManager::showDynamicPage( const QString& pageName )
{
if ( !m_stubWidget )
tLog() << Q_FUNC_INFO << "pageName: " << pageName;
//HACK: this should be initialized somewhere else
if ( !dynamicPageWidget( pageName ) )
{
m_stubWidget = new StubWidget( m_widget );
m_dynamicPages.insert( pageName, new StubWidget( m_widget ) );
}
return show( m_stubWidget );
return show( dynamicPageWidget( pageName ) );
}

View File

@@ -98,7 +98,8 @@ public:
Tomahawk::ViewPage* superCollectionView() const;
Tomahawk::ViewPage* inboxWidget() const;
Tomahawk::ViewPage* networkActivityWidget() const;
Tomahawk::ViewPage* stubWidget() const;
Tomahawk::ViewPage* dynamicPageWidget( const QString& pageName ) const;
InboxModel* inboxModel();
@@ -147,7 +148,7 @@ public slots:
Tomahawk::ViewPage* showInboxPage();
Tomahawk::ViewPage* showNetworkActivityPage();
Tomahawk::ViewPage* showStub();
Tomahawk::ViewPage* showDynamicPage( const QString& pageName );
void showCurrentTrack();
@@ -205,7 +206,7 @@ private:
InboxModel* m_inboxModel;
NetworkActivityWidget* m_networkActivityWidget;
StubWidget* m_stubWidget;
QHash< QString, Tomahawk::ViewPage* > m_dynamicPages;
QList< Tomahawk::collection_ptr > m_superCollections;

View File

@@ -339,8 +339,9 @@ SourcesModel::appendGroups()
GenericPageItem* stub = new GenericPageItem( this, browse, tr( "Stub page" ), ImageRegistry::instance()->icon( RESPATH "images/new-releases.svg" ),
boost::bind( &ViewManager::showStub, ViewManager::instance() ),
boost::bind( &ViewManager::stubWidget, ViewManager::instance() ) );
boost::bind( &ViewManager::showDynamicPage, ViewManager::instance(), QString( "stub" )),
boost::bind( &ViewManager::dynamicPageWidget, ViewManager::instance(), QString( "stub" ) ) );
stub->setSortValue( 7 );