diff options
-rw-r--r-- | videoviewer.cpp | 14 |
1 files 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); } |