summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--videoviewer.cpp14
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);
}