summaryrefslogtreecommitdiffstats
path: root/moviewidget.cpp
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2018-04-04 09:41:40 +0200
committerArno <arno@disconnect.de>2018-04-04 09:41:40 +0200
commita86cab595e880541b3fe717a1c382e4f39fc01d5 (patch)
tree4448d1795e2049644331b7c02f0df0fa4def08b0 /moviewidget.cpp
parent92cfde8d5fd705a291726d8c76d0c9968574eb94 (diff)
downloadSheMov-a86cab595e880541b3fe717a1c382e4f39fc01d5.tar.gz
SheMov-a86cab595e880541b3fe717a1c382e4f39fc01d5.tar.bz2
SheMov-a86cab595e880541b3fe717a1c382e4f39fc01d5.zip
MovieWidget: copy assorted columns to clipboard
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());
+}