From 60d44d0701a742b178c3f2e89983460a5806bff0 Mon Sep 17 00:00:00 2001 From: Arno Date: Thu, 5 Apr 2018 20:12:33 +0200 Subject: MovieWidget: make the forward and back buttons do something Advance to the next Selection or go back to the previous one. --- moviewidget.cpp | 17 +++++++++++++++-- moviewidget.h | 1 + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/moviewidget.cpp b/moviewidget.cpp index 3978c98..786cad3 100644 --- a/moviewidget.cpp +++ b/moviewidget.cpp @@ -40,9 +40,11 @@ void MovieWidget::setupWidget(){ QIcon buttplugRight(buttplug.transformed(rotatematrix)); rotatematrix.rotate(-180); QIcon buttplugLeft(buttplug.transformed(rotatematrix)); - QAction *backA = new QAction(buttplugLeft, tr("Prev. filter"), this); + QAction *backA = new QAction(buttplugLeft, tr("Prev. archive selection"), this); + connect(backA, &QAction::triggered, [=] { forwardSelection(-1) ;}); toolbar->addAction(backA); - QAction *forwardA = new QAction(buttplugRight, tr("Next filter"), this); + QAction *forwardA = new QAction(buttplugRight, tr("Next archive selection"), this); + connect(forwardA, &QAction::triggered, [=] { forwardSelection(1); }); toolbar->addAction(forwardA); QLabel *filterL = new QLabel(tr("Filter")); @@ -441,3 +443,14 @@ void MovieWidget::copyToClipboard(int role){ QClipboard *clip = qApp->clipboard(); clip->setText(selected.first().data(role).toString()); } + +void MovieWidget::forwardSelection(int by){ + int cur = mSelectionCB->currentIndex(); + if(cur + by >= mSelectionCB->count()){ + mSelectionCB->setCurrentIndex(0); + }else if(cur + by < 0){ + mSelectionCB->setCurrentIndex(mSelectionCB->count() - 1); + }else{ + mSelectionCB->setCurrentIndex(cur + by); + } +} diff --git a/moviewidget.h b/moviewidget.h index f3ee593..7c23c3b 100644 --- a/moviewidget.h +++ b/moviewidget.h @@ -33,6 +33,7 @@ class MovieWidget : public QWidget { void topDoubleClicked(const QModelIndex &idx); void playSelected(); void copyToClipboard(int role); + void forwardSelection(int by); private: void setupWidget(); -- cgit v1.2.3-70-g09d2