diff options
author | Arno <arno@disconnect.de> | 2018-04-04 09:41:40 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2018-04-04 09:41:40 +0200 |
commit | a86cab595e880541b3fe717a1c382e4f39fc01d5 (patch) | |
tree | 4448d1795e2049644331b7c02f0df0fa4def08b0 /moviewidget.cpp | |
parent | 92cfde8d5fd705a291726d8c76d0c9968574eb94 (diff) | |
download | SheMov-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.cpp | 22 |
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()); +} |