Example #1
0
void PlistsGroup::setRepeat(int mode)
{
    m_repeatMode = mode;

    if(m_repeatMode == 3)
        Q_EMIT repeatChanged(true);
    else
        Q_EMIT repeatChanged(false);

    if(!sender())
        Q_EMIT repeatModeChanged(mode);

    // Save value
    m_Settings->setValue("player/repeat", mode);
}
void Playlist::setRepeatMode(bool repeat)
{
    bool wasRepeat = m_repeat;
    m_repeat = repeat;

    //If switching from repeat to not-repeat make sure queue is only built to end of playlist.
    //NOTE: In shuffle mode repeat the end of the playlist is ambiguous so no need to alter queue.
    if (wasRepeat && !repeat &&
        !m_shuffle &&
        m_queue->rowCount() > 0) {
        buildQueueFrom(m_queue->mediaItemAt(0).playlistIndex);
    }

    if (!m_shuffle) {
        orderByPlaylist();
    } else {
        shuffle();
    }
    emit repeatModeChanged(m_repeat);
}