~ubuntu-branches/ubuntu/quantal/amarok/quantal

« back to all changes in this revision

Viewing changes to src/playlistmanager/PlaylistManager.cpp

  • Committer: Package Import Robot
  • Author(s): Harald Sitter
  • Date: 2012-06-05 15:43:51 UTC
  • mfrom: (2.1.13 experimental)
  • Revision ID: package-import@ubuntu.com-20120605154351-nbkdf9q1chu7uvh1
Tags: 2:2.6~beta1-1ubuntu1
* Merge from Debian experimental, remaining changes: (LP: 1008645)
  - Don't build-depend on libavformat-dev and libofa0-dev as libavcodec*
    is not allowed on cd images.
  - Don't build-dep on libqt4-opengl-dev on armel and armhf and install
    file manually in debian/rules
  - build-dep on libmygpo
  - Add epoch "2:" to the version number.
  - More complete not-installed
  - Keep build-dep libmysqld-pic at 5.1.36-2 (new version not yet  in archive)
  - Do not manually compress with xz, we handle this in pkg-kde and explicitly
    doing it prevents global control
* Do not suggest libxine1-ffmpeg as this should have been in the Phonon
  backend to begin with and phonon-xine is no longer used anyway.
* amarok-common breaks amarok (<< 2.6~beta1-1ubuntu1~) due to wrongly
  packaged desktop files in a previous release
* Drop patches applied upstream:
  - kubuntu_Make-OpenGl-a-soft-dependency.diff
  - kubuntu_CMake-Move-occurence-of-OPENGL_INCLUDE_DIR-var.diff
  - kubuntu_kdelibs4.8_context_view.diff
* Refreshed patch kubuntu_mysql_pic_library_path.diff
* amarok-doc to Break and Replace all previous amarok-help-* packages
  having one big package and keep the diff small was deemed more reasonable
  on IRC

Show diffs side-by-side

added added

removed removed

Lines of Context:
340
340
 
341
341
bool
342
342
PlaylistManager::save( Meta::TrackList tracks, const QString &name,
343
 
                       Playlists::UserPlaylistProvider *toProvider )
 
343
                       Playlists::PlaylistProvider *toProvider, bool editName )
344
344
{
345
345
    //if toProvider is 0 use the default Playlists::UserPlaylistProvider (SQL)
346
 
    Playlists::UserPlaylistProvider *prov = toProvider ? toProvider : m_defaultUserPlaylistProvider;
 
346
    Playlists::UserPlaylistProvider *prov = toProvider
 
347
        ? qobject_cast<Playlists::UserPlaylistProvider *>( toProvider )
 
348
        : m_defaultUserPlaylistProvider;
 
349
    if( !prov || !prov->isWritable() )
 
350
        return false;
 
351
 
347
352
    Playlists::PlaylistPtr playlist = prov->save( tracks, name );
348
353
    if( playlist.isNull() )
349
354
        return false;
350
355
 
351
 
    AmarokUrl("amarok://navigate/playlists/user playlists").run();
352
 
    emit renamePlaylist( playlist );
353
 
 
 
356
    if( editName )
 
357
        rename( playlist );
354
358
    return true;
355
359
}
356
360
 
374
378
    if( playlist.isNull() )
375
379
        return;
376
380
 
377
 
    Playlists::UserPlaylistProvider *provider
378
 
            = qobject_cast<Playlists::UserPlaylistProvider *>( getProvidersForPlaylist( playlist ).first() );
379
 
 
380
 
    if( !provider )
381
 
        return;
382
 
 
383
 
    bool ok;
384
 
    const QString newName = KInputDialog::getText( i18n("Change playlist"),
385
 
                i18n("Enter new name for playlist:"), playlist->name(),
386
 
                                                   &ok );
387
 
    if( ok )
388
 
    {
389
 
        debug() << "Changing name from " << playlist->name() << " to " << newName.trimmed();
390
 
        provider->rename( playlist, newName.trimmed() );
391
 
    }
 
381
    AmarokUrl("amarok://navigate/playlists/user playlists").run();
 
382
    emit renamePlaylist( playlist ); // connected to PlaylistBrowserModel
 
383
}
 
384
 
 
385
bool
 
386
PlaylistManager::rename( PlaylistPtr playlist, const QString &newName )
 
387
{
 
388
    Playlists::UserPlaylistProvider *provider =
 
389
        qobject_cast<Playlists::UserPlaylistProvider *>( playlist->provider() );
 
390
    if( !provider || !provider->isWritable() )
 
391
        return false;
 
392
 
 
393
    provider->rename( playlist, newName );
 
394
    return true;
392
395
}
393
396
 
394
397
bool