summaryrefslogtreecommitdiffstats
path: root/moviewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'moviewidget.cpp')
-rw-r--r--moviewidget.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/moviewidget.cpp b/moviewidget.cpp
index b689809..c07da0f 100644
--- a/moviewidget.cpp
+++ b/moviewidget.cpp
@@ -13,6 +13,7 @@
#include <QSettings>
#include <QFileInfo>
#include <QProcess>
+#include <QClipboard>
#include <QApplication>
#include "moviewidget.h"
@@ -93,10 +94,16 @@ void MovieWidget::setupWidget(){
mBottomProxy->setSourceModel(mBottomModel);
mBottomView->setModel(mBottomProxy);
connect(mBottomView, &SmView::doubleClicked, this, &MovieWidget::bottomDoubleClicked);
- QAction *playSelectedA = new QAction(QIcon(":/spreadingpants.png"), tr("Play selected"), this);
+ QAction *playSelectedA = new QAction(QIcon(":/spreadingpants.png"), tr("Play selected..."), this);
connect(playSelectedA, &QAction::triggered, this, &MovieWidget::playSelected);
+ QAction *filenameToClipA = new QAction(tr("Filename to clip"), this);
+ connect(filenameToClipA, &QAction::triggered, [=] { copyToClipboard(FilenameRole); });
+ QAction *fullpathToClipA = new QAction(tr("Full path to clip"), this);
+ connect(fullpathToClipA, &QAction::triggered, [=] { copyToClipboard(FullPathRole); });
+ QAction *md5ToClipA = new QAction(tr("MD5 to clip"), this);
+ connect(md5ToClipA, &QAction::triggered, [=] { copyToClipboard(MD5SumRole); });
- mBottomView->addActions(QList<QAction*>() << playSelectedA);
+ mBottomView->addActions(QList<QAction*>() << playSelectedA << Helper::createSeparator(this) << filenameToClipA << fullpathToClipA << md5ToClipA);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addLayout(topWL);
@@ -353,6 +360,8 @@ void MovieWidget::topSelectionChanged(){
item->setForeground(currentBrush);
item->setEditable(false);
item->setData(fullPath, FullPathRole);
+ item->setData(md5, MD5SumRole);
+ item->setData(fileName, FilenameRole);
items << item;
}
items[0]->setText(selectFilesQ.value(0).toString());
@@ -409,3 +418,12 @@ void MovieWidget::playSelected(){
args << files;
QProcess::startDetached(playerData.first, args);
}
+
+void MovieWidget::copyToClipboard(int role){
+ QModelIndexList selected = mBottomView->selectionModel()->selectedRows();
+ if(selected.isEmpty()){
+ return;
+ }
+ QClipboard *clip = qApp->clipboard();
+ clip->setText(selected.first().data(role).toString());
+}