+
+ for (int i = 0; i < 10; ++i) {
+ QAction *action = new QAction(QString());
+ action->setShortcut(Qt::Key_0 + i);
+ action->setAutoRepeat(false);
+ connect(action, &QAction::triggered, this, [this, i] {
+ qint64 duration = media->duration();
+ // dur : pos = 100 : i*10
+ qint64 position = (duration * (i * 10)) / 100;
+ media->seek(position);
+ });
+ addAction(action);
+ playingVideoActions << action;
+ }
+
+ QAction *leftAction = new QAction(tr("Rewind %1 seconds").arg(10));
+ leftAction->setShortcut(Qt::Key_Left);
+ leftAction->setAutoRepeat(false);
+ connect(leftAction, &QAction::triggered, this, [this] {
+ qint64 position = media->position();
+ position -= 10000;
+ if (position < 0) position = 0;
+ media->seek(position);
+ });
+ addAction(leftAction);
+ playingVideoActions << leftAction;
+
+ QAction *rightAction = new QAction(tr("Fast forward %1 seconds").arg(10));
+ rightAction->setShortcut(Qt::Key_Right);
+ rightAction->setAutoRepeat(false);
+ connect(rightAction, &QAction::triggered, this, [this] {
+ qint64 position = media->position();
+ position += 10000;
+ qint64 duration = media->duration();
+ if (position > duration) position = duration;
+ media->seek(position);
+ });
+ addAction(rightAction);
+ playingVideoActions << rightAction;