summaryrefslogtreecommitdiffstats
path: root/fswidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fswidget.cpp')
-rw-r--r--fswidget.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/fswidget.cpp b/fswidget.cpp
index 5bb4142..7bae773 100644
--- a/fswidget.cpp
+++ b/fswidget.cpp
@@ -22,6 +22,7 @@
#include <QMediaPlayer>
#include <QMediaPlaylist>
#include <QStringList>
+#include <QClipboard>
#include "fswidget.h"
#include "helper.h"
@@ -93,6 +94,9 @@ void FSWidget::setupWidget(){
connect(archivePicsA, &QAction::triggered, this, &FSWidget::archivePics);
connect(mNewPicsDlg, &NewPicsDialog::accepted, this, &FSWidget::refresh);
toolbar->addAction(archivePicsA);
+ QAction *copyMd5A = new QAction(QIcon(":/bizarre_amputee.png"), tr("Copy MD5"), this);
+ connect(copyMd5A, &QAction::triggered, this, &FSWidget::copyMD5);
+ toolbar->addAction(copyMd5A);
toolbar->addSeparator();
QAction *unpackA = new QAction(QIcon(":/dog_hood_light.png"), tr("Unpack"), this);
connect(unpackA, &QAction::triggered, this, &FSWidget::unpack);
@@ -204,7 +208,7 @@ void FSWidget::setupWidget(){
mFileView->sortByColumn(0, Qt::AscendingOrder);
connect(mFileView->selectionModel(), &QItemSelectionModel::selectionChanged, this, &FSWidget::calculateSelectionChanged);
- mFileView->addActions(QList<QAction*>() << playSelectedA << playRepeatMA << mPlayWithA << Helper::createSeparator(this) << backA << forwardA << Helper::createSeparator(this) << refreshA << deleteFilesA << Helper::createSeparator(this) << archiveMovieA << archivePicsA << Helper::createSeparator(this) << unpackA << previewA << compareA << selectFilterA << unselectAllA);
+ mFileView->addActions(QList<QAction*>() << playSelectedA << playRepeatMA << mPlayWithA << Helper::createSeparator(this) << backA << forwardA << Helper::createSeparator(this) << refreshA << deleteFilesA << Helper::createSeparator(this) << archiveMovieA << archivePicsA << copyMd5A << Helper::createSeparator(this) << unpackA << previewA << compareA << selectFilterA << unselectAllA);
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addLayout(topWL);
@@ -452,6 +456,7 @@ void FSWidget::gatherData(const QString &curDir){
item->setData(seconds, DurationRole);
item->setData(mimeType.name(), MimeRole);
item->setData(dups, DupDataRole);
+ item->setData(md5, MD5SumRole);
items << item;
}
items[0]->setText(fi.fileName());
@@ -556,6 +561,16 @@ void FSWidget::archivePics(){
qApp->setActiveWindow(mNewPicsDlg);
}
+void FSWidget::copyMD5(){
+ QModelIndexList selected = mFileView->selectionModel()->selectedRows();
+ if(selected.isEmpty()){
+ return;
+ }
+ QString md5 = selected.first().data(MD5SumRole).toString();
+ QClipboard *clip = QGuiApplication::clipboard();
+ clip->setText(md5);
+}
+
void FSWidget::advanceDir(int by){
int dirCount = mDirCB->count();
int nextIdx = mDirCB->currentIndex() + by;