diff options
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()); +} |