summaryrefslogtreecommitdiffstats
path: root/filewidget.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2016-11-27 20:25:49 +0100
committerArno <arno@disconnect.de>2016-11-27 20:25:49 +0100
commitc7e3315b663566f71f83dcc9d2259aac262081c1 (patch)
treed228aa2a385f6097efe319160a01f1d890d78b5b /filewidget.cpp
parentf5b9109987cd19bbc69e7a20f7a73ac3d86be96a (diff)
downloadShemovCleaner-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.cpp25
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());