예제 #1
0
static void startPlayback(void)
{
    if (!checkStorageGroup() || !checkMusicAvailable())
        return;

    gMusicData->loadMusic();

    MythScreenStack *mainStack = GetMythMainWindow()->GetMainStack();

    PlaylistView *view = new PlaylistView(mainStack, NULL);

    if (view->Create())
        mainStack->AddScreen(view);
    else
        delete view;
}
예제 #2
0
FlexibleView*
ViewManager::createPageForPlaylist( const playlist_ptr& playlist )
{
    FlexibleView* view = new FlexibleView();
    PlaylistModel* model = new PlaylistModel();

    PlaylistView* pv = new PlaylistView();
    pv->setPlaylistModel( model );
    view->setDetailedView( pv );
    view->setPixmap( pv->pixmap() );

    model->loadPlaylist( playlist );
    view->setPlayableModel( model );
    playlist->resolve();

    return view;
}
예제 #3
0
FlexibleView*
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 );

    model->loadPlaylist( playlist );
    playlist->resolve();

    return view;
}
예제 #4
0
FlexibleView*
ViewManager::createPageForList( const QString& title, const QList< query_ptr >& queries )
{
    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 );

    model->setTitle( title );
    model->appendQueries( queries );

    return view;
}
예제 #5
0
Tomahawk::ViewPage*
ViewManager::showRecentPlaysPage()
{
    if ( !m_recentPlaysWidget )
    {
        PlaylistView* pv = new PlaylistView( m_widget );
        pv->setFrameShape( QFrame::NoFrame );
        pv->setAttribute( Qt::WA_MacShowFocusRect, 0 );

        RecentlyPlayedModel* raModel = new RecentlyPlayedModel( source_ptr(), pv );
        raModel->setStyle( TrackModel::Large );

        pv->setItemDelegate( new PlaylistLargeItemDelegate( PlaylistLargeItemDelegate::RecentlyPlayed, pv, pv->proxyModel() ) );
        pv->setPlaylistModel( raModel );

        m_recentPlaysWidget = pv;
    }

    return show( m_recentPlaysWidget );
}
예제 #6
0
Tomahawk::ViewPage*
ViewManager::showRecentPlaysPage()
{
    if ( !m_recentPlaysWidget )
    {
        PlaylistView* pv = new PlaylistView( m_widget );

        RecentlyPlayedModel* raModel = new RecentlyPlayedModel( source_ptr(), pv );
        raModel->setTitle( tr( "Recently Played Tracks" ) );
        raModel->setDescription( tr( "Recently played tracks from all your friends" ) );
        raModel->setStyle( PlayableModel::Large );

        PlaylistLargeItemDelegate* del = new PlaylistLargeItemDelegate( PlaylistLargeItemDelegate::RecentlyPlayed, pv, pv->proxyModel() );
        connect( del, SIGNAL( updateIndex( QModelIndex ) ), pv, SLOT( update( QModelIndex ) ) );
        pv->setItemDelegate( del );

        pv->setPlaylistModel( raModel );

        m_recentPlaysWidget = pv;
    }

    return show( m_recentPlaysWidget );
}