diff options
author | Arno <arno@disconnect.de> | 2021-05-28 07:57:05 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2021-05-28 07:57:05 +0200 |
commit | 62d3ca1482b202d2883eeb5e17e72300e8612477 (patch) | |
tree | 56df6cb9936f3621cd279427e95fb7e15065df57 /fswidget.cpp | |
parent | 058ba694d3796673fdf044d6e4e0642ff8866dbc (diff) | |
download | SheMov-62d3ca1482b202d2883eeb5e17e72300e8612477.tar.gz SheMov-62d3ca1482b202d2883eeb5e17e72300e8612477.tar.bz2 SheMov-62d3ca1482b202d2883eeb5e17e72300e8612477.zip |
Make Origin MD5sums searchable
First, add a QAction to copy the MD5sum from FSWidget to Clipboard. Then
enhance the SearchDialog to support MD5sums from files_origin *only*.
Diffstat (limited to 'fswidget.cpp')
-rw-r--r-- | fswidget.cpp | 17 |
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; |