From b91500859bcc2e2aeef098cded9d552c9c15a4b0 Mon Sep 17 00:00:00 2001 From: Arno Date: Sun, 26 Aug 2018 20:52:01 +0200 Subject: Fix next and previous in VideoViewer The QMediaPlayList implementations return -1 after the last valid index. Fix it by implementing a homebrewed version... --- videoviewer.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/videoviewer.cpp b/videoviewer.cpp index 5430e9f..0c90e97 100644 --- a/videoviewer.cpp +++ b/videoviewer.cpp @@ -38,9 +38,19 @@ void VideoViewer::keyPressEvent(QKeyEvent *e){ qint64 pos = mPlayer->position(); mPlayer->setPosition(pos - 60000 < 0 ? 0 : pos - 60000); }else if(keyNum == Qt::Key_N){ - mPlayer->playlist()->next(); + int mediaCount = mPlayer->playlist()->mediaCount(); + int nextIndex = mPlayer->playlist()->currentIndex() + 1; + if(nextIndex >= mediaCount){ + nextIndex = 0; + } + mPlayer->playlist()->setCurrentIndex(nextIndex); }else if(keyNum == Qt::Key_P){ - mPlayer->playlist()->previous(); + int mediaCount = mPlayer->playlist()->mediaCount(); + int prevIndex = mPlayer->playlist()->currentIndex() - 1; + if(prevIndex < 0){ + prevIndex = mediaCount - 1; + } + mPlayer->playlist()->setCurrentIndex(prevIndex); }else if(keyNum == Qt::Key_M){ mPlayer->setMuted(mPlayer->isMuted() ? false : true); } -- cgit v1.2.3-70-g09d2