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); }