From 61345c3d52ab2e5d8243596e9368753477180968 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 14 Feb 2015 15:15:29 +0100 Subject: Implement play several times Add context menu entry for playing movies in a loop or 2..5 times. --- shemov.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'shemov.cpp') diff --git a/shemov.cpp b/shemov.cpp index 6e3943c..c56ed58 100644 --- a/shemov.cpp +++ b/shemov.cpp @@ -391,6 +391,22 @@ void SheMov::createActions(){ //File menu mPlaySelectedFSA = new QAction(tr("Play selected movies..."), this); connect(mPlaySelectedFSA, SIGNAL(triggered()), mFSWidget, SLOT(playSelected())); + mOpenTimesFSAG = new QActionGroup(this); + mOpenTimesFSMapper = new QSignalMapper(this); + for(int i = 2; i < 6; ++i){ + QString actString = QString("Play %1 times...").arg(i); + QAction *playTimesA = new QAction(actString, this); + mOpenTimesFSMapper->setMapping(playTimesA, i); + connect(playTimesA, SIGNAL(triggered()), mOpenTimesFSMapper, SLOT(map())); + mOpenTimesFSAG->addAction(playTimesA); + } + connect(mOpenTimesFSMapper, SIGNAL(mapped(int)), mFSWidget, SLOT(playSelectedRepeat(int))); + mOpenTimesFSAG->addAction(createSeparator()); + QString infiniteTimes = QString(tr("Play %1 times")).arg(QChar(0x221E)); // infinite + mPlaySelectedInfTimesA = new QAction(infiniteTimes, this); + connect(mPlaySelectedInfTimesA, SIGNAL(triggered()), mFSWidget, SLOT(playSelectedInfinite())); + mOpenTimesFSAG->addAction(mPlaySelectedInfTimesA); + mPlaySelectedFSTimesA = new QAction(tr("Play repeat..."), this); mNewMovieWizardA = new QAction(tr("Archive movie..."), this); connect(mNewMovieWizardA, SIGNAL(triggered()), this, SLOT(newMovieWizard())); mArchiveSelectedMovsA = new QAction(QIcon(":/butt_plug.png"), tr("Archive selected movies..."), this); @@ -841,6 +857,13 @@ void SheMov::createMenus(){ mOpenWithMenuFSA = new QAction(tr("Open with"), this); mOpenWithMenuFSA->setMenu(mOpenWithMenuFS); mFSWidget->fileView()->addAction(mOpenWithMenuFSA); + + mPlaySelectedTimesMenuFS = new QMenu(tr("Play repeat..."), this); + mPlaySelectedTimesMenuFS->addActions(mOpenTimesFSAG->actions()); + mPlaySelectedTimesMenuFSA = new QAction(tr("Play repeat..."), this); + mPlaySelectedTimesMenuFSA->setMenu(mPlaySelectedTimesMenuFS); + mFSWidget->fileView()->addAction(mPlaySelectedTimesMenuFSA); + mFSWidget->fileView()->addAction(createSeparator()); mFSWidget->fileView()->addAction(mCdupA); -- cgit v1.2.3-70-g09d2