|
a/dirbrowser/dirbrowser.cpp |
|
b/dirbrowser/dirbrowser.cpp |
|
... |
|
... |
450 |
void DirBrowser::onRandTracksToPlaylist(const MetaDataList& mdl)
|
450 |
void DirBrowser::onRandTracksToPlaylist(const MetaDataList& mdl)
|
451 |
{
|
451 |
{
|
452 |
if (!m_pl)
|
452 |
if (!m_pl)
|
453 |
return;
|
453 |
return;
|
454 |
|
454 |
|
|
|
455 |
// We'll get a playlist_done when the old list is replaced, don't
|
|
|
456 |
// want this to trigger a new slice... We should distinguish a
|
|
|
457 |
// playlist clear from the ui (which we want to trigger a new
|
|
|
458 |
// slice) from this one, but temporarily disconnecting is just
|
|
|
459 |
// simpler.
|
|
|
460 |
disconnect(m_pl, SIGNAL(sig_playlist_done()),
|
|
|
461 |
m_randplayer, SLOT(playNextSlice()));
|
|
|
462 |
|
455 |
Playlist_Mode mode = m_pl->mode();
|
463 |
Playlist_Mode mode = m_pl->mode();
|
456 |
bool replace_saved = mode.replace;
|
464 |
bool replace_saved = mode.replace;
|
457 |
mode.replace = true;
|
465 |
mode.replace = true;
|
458 |
m_pl->psl_change_mode(mode);
|
466 |
m_pl->psl_change_mode(mode);
|
459 |
|
467 |
|
460 |
m_pl->psl_add_tracks(mdl);
|
468 |
m_pl->psl_add_tracks(mdl);
|
461 |
|
469 |
|
462 |
mode.replace = replace_saved;
|
470 |
mode.replace = replace_saved;
|
463 |
m_pl->psl_change_mode(mode);
|
471 |
m_pl->psl_change_mode(mode);
|
464 |
m_pl->psl_play();
|
472 |
m_pl->psl_play();
|
|
|
473 |
|
|
|
474 |
connect(m_pl, SIGNAL(sig_playlist_done()),
|
|
|
475 |
m_randplayer, SLOT(playNextSlice()));
|
465 |
}
|
476 |
}
|
466 |
|
477 |
|
467 |
void DirBrowser::onRandDone()
|
478 |
void DirBrowser::onRandDone()
|
468 |
{
|
479 |
{
|
469 |
// Is it a good idea to delete randplay from here as we're
|
480 |
// Is it a good idea to delete randplay from here as we're
|