diff options
author | Arno <arno@disconnect.de> | 2016-11-27 20:25:49 +0100 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-11-27 20:25:49 +0100 |
commit | c7e3315b663566f71f83dcc9d2259aac262081c1 (patch) | |
tree | d228aa2a385f6097efe319160a01f1d890d78b5b /filewidget.cpp | |
parent | f5b9109987cd19bbc69e7a20f7a73ac3d86be96a (diff) | |
download | ShemovCleaner-c7e3315b663566f71f83dcc9d2259aac262081c1.tar.gz ShemovCleaner-c7e3315b663566f71f83dcc9d2259aac262081c1.tar.bz2 ShemovCleaner-c7e3315b663566f71f83dcc9d2259aac262081c1.zip |
Add preview for videos
Grab 4 frames from a video and display them in the Viewer. First frame
is @00:01:00, last at length - 1 minute, and the other two are in
between: length / 4 * 2 and 3 (hardcoded).
Diffstat (limited to 'filewidget.cpp')
-rw-r--r-- | filewidget.cpp | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/filewidget.cpp b/filewidget.cpp index f56b4ce..ef918f1 100644 --- a/filewidget.cpp +++ b/filewidget.cpp @@ -145,6 +145,8 @@ void FileWidget::createActions(){ mPropertiesA = new QAction(QIcon(":/diaper.png"), tr("Properties..."), this); mPropertiesA->setShortcut(Qt::CTRL + Qt::Key_Return); connect(mPropertiesA, SIGNAL(triggered()), this, SLOT(properties())); + mPreviewA = new QAction(QIcon(":/snapshot.png"), tr("Preview..."), this); + connect(mPreviewA, SIGNAL(triggered()), this, SLOT(preview())); mAddAsOriginA = new QAction(QIcon(":/butt_plug.png"), tr("Add as Origin..."), this); connect(mAddAsOriginA, SIGNAL(triggered()), this, SLOT(addAsOrigin())); @@ -164,6 +166,7 @@ void FileWidget::createActions(){ editMenu->addAction(mDeleteA); editMenu->addSeparator(); editMenu->addAction(mPropertiesA); + editMenu->addAction(mPreviewA); editMenu->addAction(mAddAsOriginA); editMenu->addSeparator(); editMenu->addAction(Globals::instance()->action(Globals::ConfigAction)); @@ -183,11 +186,13 @@ void FileWidget::createActions(){ mToolBar->addAction(mDeleteA); mToolBar->addAction(createSeparator()); mToolBar->addAction(mPropertiesA); + mToolBar->addAction(mPreviewA); + mToolBar->addAction(createSeparator()); mToolBar->addAction(mAddAsOriginA); mToolBar->addAction(createSeparator()); mToolBar->addAction(Globals::instance()->action(Globals::ConfigAction)); - addActions(QList<QAction*>() << mDirBackA << mDirUpA << createSeparator() << mRefreshA << mSelDirA << createSeparator() << mCopyA << mCutA << mPasteA << mDeleteA << createSeparator() << mAddAsOriginA << mPropertiesA); + addActions(QList<QAction*>() << mDirBackA << mDirUpA << createSeparator() << mRefreshA << mSelDirA << createSeparator() << mCopyA << mCutA << mPasteA << mDeleteA << createSeparator() << mAddAsOriginA << createSeparator() << mPreviewA << createSeparator() << mPropertiesA); } void FileWidget::fileData(const QString &fullPath, const QString &md5){ @@ -513,6 +518,24 @@ void FileWidget::properties(const QModelIndex &idx){ } } +void FileWidget::preview(){ + QModelIndex idx = mFileView->selectionModel()->currentIndex(); + if(!idx.isValid()){ + return; + } + QString mime = idx.sibling(idx.row(), MimeColumn).data().toString(); + QString file = idx.data(FullPathRole).toString(); + qApp->setOverrideCursor(Qt::WaitCursor); + Viewer *v = Globals::instance()->viewer(); + if(mime.startsWith("video")){ + v->preview(file); + }else if(mime.startsWith("image")){ + v->setFile(file, false); + } + qApp->restoreOverrideCursor(); + v->show(); +} + void FileWidget::cd(const QString &to){ QString ld = mDir->text(); QDir cur(mDir->text()); |