Exemplo n.º 1
0
	void FooPlaylistManager::removePlaylist(QString name, QUuid uuid)
	{
		int i = playlistIndex(name, uuid);

		if (i >= 0)
		{
			FooPlaylist* const p = playlists->at(i);

			if (currentPlayingPlaylist == p)
			{
				currentPlayingPlaylist = NULL;
			}

			delete p;

			playlists->removeAt(i);

			emit playlistRemoved(name, uuid);

			if (playlists->size() == 0)
			{
				createPlaylist();
			}
		}
	}
Exemplo n.º 2
0
bool
IpodPlaylistProvider::deletePlaylists( Playlists::PlaylistList playlistlist )
{
    if( !isWritable() )
        return false;

    foreach( Playlists::PlaylistPtr playlist, playlistlist )
    {
        if( !m_playlists.contains( playlist ) )
            continue;
        if( KSharedPtr<IpodPlaylist>::staticCast( playlist )->type() != IpodPlaylist::Normal )
            continue;  // special playlists cannot be removed using this method
        m_playlists.removeOne( playlist );

        unsubscribeFrom( playlist );
        IpodPlaylist *ipodPlaylist = static_cast<IpodPlaylist *>( playlist.data() );
        itdb_playlist_unlink( ipodPlaylist->itdbPlaylist() );

        emit playlistRemoved( playlist );
        emit startWriteDatabaseTimer();
    }
    return true;
}