Changeset View
Changeset View
Standalone View
Standalone View
src/mediaplaylist.cpp
Show First 20 Lines • Show All 762 Lines • ▼ Show 20 Line(s) | 741 | { | |||
---|---|---|---|---|---|
763 | Q_EMIT tracksCountChanged(); | 763 | Q_EMIT tracksCountChanged(); | ||
764 | Q_EMIT persistentStateChanged(); | 764 | Q_EMIT persistentStateChanged(); | ||
765 | 765 | | |||
766 | if (triggerPlay == ElisaUtils::TriggerPlay) { | 766 | if (triggerPlay == ElisaUtils::TriggerPlay) { | ||
767 | Q_EMIT ensurePlay(); | 767 | Q_EMIT ensurePlay(); | ||
768 | } | 768 | } | ||
769 | } | 769 | } | ||
770 | 770 | | |||
771 | void MediaPlayList::enqueue(const QList<QUrl> &trackUrls, | ||||
772 | ElisaUtils::PlayListEnqueueMode enqueueMode, | ||||
773 | ElisaUtils::PlayListEnqueueTriggerPlay triggerPlay) | ||||
774 | { | ||||
775 | if (trackUrls.isEmpty()) { | ||||
776 | return; | ||||
777 | } | ||||
778 | | ||||
779 | if (enqueueMode == ElisaUtils::ReplacePlayList) { | ||||
780 | clearPlayList(); | ||||
781 | } | ||||
782 | | ||||
783 | beginInsertRows(QModelIndex(), d->mData.size(), d->mData.size() + trackUrls.size() - 1); | ||||
784 | for (const auto &oneTrackUrl : trackUrls) { | ||||
785 | d->mData.push_back(MediaPlayListEntry{oneTrackUrl}); | ||||
786 | d->mTrackData.push_back({}); | ||||
787 | if (oneTrackUrl.isValid()) { | ||||
788 | qDebug() << "MediaPlayList::enqueue" << "newTrackByFileNameInList" << oneTrackUrl; | ||||
789 | if (oneTrackUrl.isLocalFile()) { | ||||
790 | QFileInfo newTrackFile(oneTrackUrl.toLocalFile()); | ||||
791 | if (newTrackFile.exists()) { | ||||
792 | d->mData.last().mIsValid = true; | ||||
793 | } | ||||
794 | Q_EMIT newTrackByFileNameInList(oneTrackUrl); | ||||
795 | } | ||||
796 | } | ||||
797 | } | ||||
798 | endInsertRows(); | ||||
799 | | ||||
800 | restorePlayListPosition(); | ||||
801 | if (!d->mCurrentTrack.isValid()) { | ||||
802 | resetCurrentTrack(); | ||||
803 | } | ||||
804 | | ||||
805 | Q_EMIT tracksCountChanged(); | ||||
806 | Q_EMIT persistentStateChanged(); | ||||
807 | | ||||
808 | Q_EMIT dataChanged(index(rowCount() - 1, 0), index(rowCount() - 1, 0), {MediaPlayList::HasAlbumHeader}); | ||||
809 | | ||||
810 | if (triggerPlay == ElisaUtils::TriggerPlay) { | ||||
811 | Q_EMIT ensurePlay(); | ||||
812 | } | ||||
813 | } | ||||
814 | | ||||
771 | void MediaPlayList::replaceAndPlay(qulonglong newTrackId) | 815 | void MediaPlayList::replaceAndPlay(qulonglong newTrackId) | ||
772 | { | 816 | { | ||
773 | clearPlayList(); | 817 | clearPlayList(); | ||
774 | enqueue(MediaPlayListEntry(newTrackId)); | 818 | enqueue(MediaPlayListEntry(newTrackId)); | ||
775 | Q_EMIT ensurePlay(); | 819 | Q_EMIT ensurePlay(); | ||
776 | } | 820 | } | ||
777 | 821 | | |||
778 | void MediaPlayList::replaceAndPlay(const MusicAudioTrack &newTrack) | 822 | void MediaPlayList::replaceAndPlay(const MusicAudioTrack &newTrack) | ||
▲ Show 20 Lines • Show All 568 Lines • Show Last 20 Lines |