1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-16 11:04:01 +02:00

* Bring back Radio sidebar item.

This commit is contained in:
Christian Muehlhaeuser
2013-05-18 23:55:30 +02:00
committed by Michael Zanetti
parent 99ef263ba2
commit bbeeac9935
5 changed files with 42 additions and 13 deletions

View File

@@ -83,6 +83,7 @@ ViewManager::ViewManager( QObject* parent )
, m_newReleasesWidget( 0 ) , m_newReleasesWidget( 0 )
, m_recentPlaysWidget( 0 ) , m_recentPlaysWidget( 0 )
, m_inboxWidget( 0 ) , m_inboxWidget( 0 )
, m_radioView( 0 )
, m_currentPage( 0 ) , m_currentPage( 0 )
, m_loaded( false ) , m_loaded( false )
{ {
@@ -383,6 +384,22 @@ ViewManager::showSuperCollection()
} }
Tomahawk::ViewPage*
ViewManager::showRadioPage()
{
if ( !m_radioView )
{
dynplaylist_ptr playlist = DynamicPlaylist::create( SourceList::instance()->getLocal(), uuid(), QString(), "", SourceList::instance()->getLocal()->friendlyName(), OnDemand, false, QString(), false, false );
playlist->setMode( OnDemand );
m_radioView = new Tomahawk::DynamicQmlWidget( playlist, m_stack );
}
setPage( m_radioView );
return m_radioView;
}
void void
ViewManager::playlistInterfaceChanged( Tomahawk::playlistinterface_ptr interface ) ViewManager::playlistInterfaceChanged( Tomahawk::playlistinterface_ptr interface )
{ {

View File

@@ -133,6 +133,7 @@ signals:
void historyForwardAvailable( bool avail ); void historyForwardAvailable( bool avail );
public slots: public slots:
Tomahawk::ViewPage* showRadioPage();
Tomahawk::ViewPage* showSuperCollection(); Tomahawk::ViewPage* showSuperCollection();
Tomahawk::ViewPage* showWelcomePage(); Tomahawk::ViewPage* showWelcomePage();
Tomahawk::ViewPage* showWhatsHotPage(); Tomahawk::ViewPage* showWhatsHotPage();
@@ -191,6 +192,7 @@ private:
NewReleasesWidget* m_newReleasesWidget; NewReleasesWidget* m_newReleasesWidget;
Tomahawk::ViewPage* m_recentPlaysWidget; Tomahawk::ViewPage* m_recentPlaysWidget;
Tomahawk::ViewPage* m_inboxWidget; Tomahawk::ViewPage* m_inboxWidget;
Tomahawk::DynamicQmlWidget* m_radioView;
InboxModel* m_inboxModel; InboxModel* m_inboxModel;
QList< Tomahawk::collection_ptr > m_superCollections; QList< Tomahawk::collection_ptr > m_superCollections;

View File

@@ -151,17 +151,22 @@ DynamicPlaylist::create( const Tomahawk::source_ptr& author,
GeneratorMode mode, GeneratorMode mode,
bool shared, bool shared,
const QString& type, const QString& type,
bool autoLoad bool autoLoad,
bool temporary
) )
{ {
dynplaylist_ptr dynplaylist = Tomahawk::dynplaylist_ptr( new DynamicPlaylist( author, guid, title, info, creator, type, mode, shared, autoLoad ), &QObject::deleteLater ); dynplaylist_ptr dynplaylist = Tomahawk::dynplaylist_ptr( new DynamicPlaylist( author, guid, title, info, creator, type, mode, shared, autoLoad ), &QObject::deleteLater );
dynplaylist->setWeakSelf( dynplaylist.toWeakRef() ); dynplaylist->setWeakSelf( dynplaylist.toWeakRef() );
DatabaseCommand_CreateDynamicPlaylist* cmd = new DatabaseCommand_CreateDynamicPlaylist( author, dynplaylist, autoLoad ); if ( !temporary )
connect( cmd, SIGNAL(finished()), dynplaylist.data(), SIGNAL(created()) ); {
Database::instance()->enqueue( QSharedPointer<DatabaseCommand>(cmd) ); DatabaseCommand_CreateDynamicPlaylist* cmd = new DatabaseCommand_CreateDynamicPlaylist( author, dynplaylist, autoLoad );
if ( autoLoad ) connect( cmd, SIGNAL(finished()), dynplaylist.data(), SIGNAL(created()) );
dynplaylist->reportCreated( dynplaylist ); Database::instance()->enqueue( QSharedPointer<DatabaseCommand>(cmd) );
if ( autoLoad )
dynplaylist->reportCreated( dynplaylist );
}
return dynplaylist; return dynplaylist;
} }

View File

@@ -85,7 +85,8 @@ public:
GeneratorMode mode, GeneratorMode mode,
bool shared, bool shared,
const QString& type = QString(), const QString& type = QString(),
bool autoLoad = true bool autoLoad = true,
bool temporary = false
); );
static void remove( const dynplaylist_ptr& playlist ); static void remove( const dynplaylist_ptr& playlist );

View File

@@ -309,29 +309,33 @@ SourcesModel::appendGroups()
sc->setSortValue( 1 ); sc->setSortValue( 1 );
// browse section // browse section
GenericPageItem* radio = new GenericPageItem( this, browse, tr( "Radio" ), ImageRegistry::instance()->icon( RESPATH "images/station.svg" ),
boost::bind( &ViewManager::showRadioPage, ViewManager::instance() ),
boost::bind( &ViewManager::recentPlaysWidget, ViewManager::instance() ) );
radio->setSortValue( 2 );
LovedTracksItem* loved = new LovedTracksItem( this, browse ); LovedTracksItem* loved = new LovedTracksItem( this, browse );
loved->setSortValue( 2 ); loved->setSortValue( 3 );
GenericPageItem* recent = new GenericPageItem( this, browse, tr( "Recently Played" ), ImageRegistry::instance()->icon( RESPATH "images/recently-played.svg" ), GenericPageItem* recent = new GenericPageItem( this, browse, tr( "Recently Played" ), ImageRegistry::instance()->icon( RESPATH "images/recently-played.svg" ),
boost::bind( &ViewManager::showRecentPlaysPage, ViewManager::instance() ), boost::bind( &ViewManager::showRecentPlaysPage, ViewManager::instance() ),
boost::bind( &ViewManager::recentPlaysWidget, ViewManager::instance() ) ); boost::bind( &ViewManager::recentPlaysWidget, ViewManager::instance() ) );
recent->setSortValue( 3 ); recent->setSortValue( 4 );
GenericPageItem* hot = new GenericPageItem( this, browse, tr( "Charts" ), ImageRegistry::instance()->icon( RESPATH "images/charts.svg" ), GenericPageItem* hot = new GenericPageItem( this, browse, tr( "Charts" ), ImageRegistry::instance()->icon( RESPATH "images/charts.svg" ),
boost::bind( &ViewManager::showWhatsHotPage, ViewManager::instance() ), boost::bind( &ViewManager::showWhatsHotPage, ViewManager::instance() ),
boost::bind( &ViewManager::whatsHotWidget, ViewManager::instance() ) ); boost::bind( &ViewManager::whatsHotWidget, ViewManager::instance() ) );
hot->setSortValue( 4 ); hot->setSortValue( 5 );
GenericPageItem* newReleases = new GenericPageItem( this, browse, tr( "New Releases" ), ImageRegistry::instance()->icon( RESPATH "images/new-releases.svg" ), GenericPageItem* newReleases = new GenericPageItem( this, browse, tr( "New Releases" ), ImageRegistry::instance()->icon( RESPATH "images/new-releases.svg" ),
boost::bind( &ViewManager::showNewReleasesPage, ViewManager::instance() ), boost::bind( &ViewManager::showNewReleasesPage, ViewManager::instance() ),
boost::bind( &ViewManager::newReleasesWidget, ViewManager::instance() ) ); boost::bind( &ViewManager::newReleasesWidget, ViewManager::instance() ) );
newReleases->setSortValue( 5 ); newReleases->setSortValue( 6 );
InboxItem* inbox = new InboxItem( this, browse ); InboxItem* inbox = new InboxItem( this, browse );
inbox->setSortValue( 6 ); inbox->setSortValue( 7 );
m_collectionsGroup = new GroupItem( this, m_rootItem, tr( "Friends" ), 4 ); m_collectionsGroup = new GroupItem( this, m_rootItem, tr( "Friends" ), 4 );
m_cloudGroup = new GroupItem( this, m_rootItem, tr( "Cloud" ), 5 ); m_cloudGroup = new GroupItem( this, m_rootItem, tr( "Cloud" ), 5 );
endInsertRows(); endInsertRows();