diff options
author | Arno <arno@disconnect.de> | 2016-09-03 11:06:48 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-09-03 11:06:48 +0200 |
commit | bbf802b7d415bb3dd44020e9ff0c657f44da28ea (patch) | |
tree | 8f5d4f28b3284252b64c7dceed10a8f8604d0434 /filewidget.cpp | |
parent | 9ccd31690b5d982588bcb9be1988c682233aabb8 (diff) | |
download | ShemovCleaner-bbf802b7d415bb3dd44020e9ff0c657f44da28ea.tar.gz ShemovCleaner-bbf802b7d415bb3dd44020e9ff0c657f44da28ea.tar.bz2 ShemovCleaner-bbf802b7d415bb3dd44020e9ff0c657f44da28ea.zip |
Add FileDisplay
When doubleclicking on a file already present in DB show a dialog with
the series name, actors and genres.
Diffstat (limited to 'filewidget.cpp')
-rw-r--r-- | filewidget.cpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/filewidget.cpp b/filewidget.cpp index 0e3c9f1..aab6fe1 100644 --- a/filewidget.cpp +++ b/filewidget.cpp @@ -22,6 +22,7 @@ #include "filewidget.h" #include "filesorter.h" +#include "filedisplay.h" #include "helper.h" FileWidget::FileWidget(QWidget *parent) : QWidget(parent) { @@ -83,6 +84,8 @@ void FileWidget::setupGui(){ mQFiles = QSqlQuery(mDb); mQFiles.prepare("SELECT COUNT(*) FROM files WHERE cmd5sum = :md5"); + mFileDisplay = new FileDisplay(this); + QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(topL); mainLayout->addWidget(mFileView); @@ -120,8 +123,9 @@ void FileWidget::gatherData(){ fData << item; } fData[NameColumn]->setText(fi.fileName()); + QString md5(tr("n/a")); if(mime.name().startsWith("video")){ - QString md5 = Helper::md5Sum(fi.absoluteFilePath()); + md5 = Helper::md5Sum(fi.absoluteFilePath()); fData[Md5Column]->setText(md5); int haveFile = md5Count(md5); if(haveFile){ @@ -141,18 +145,19 @@ void FileWidget::gatherData(){ fData[IconColumn]->setIcon(QIcon(":/folder.png")); attr = Directory; } - fData[Md5Column]->setText(tr("n/a")); }else{ fData[IconColumn]->setIcon(QIcon(":/gaping_ass.png")); - fData[Md5Column]->setText(tr("n/a")); attr = NoVideo; } + fData[Md5Column]->setText(md5); fData[MimeColumn]->setText(mime.name()); if(mime.name() == "inode/directory"){ fData[MimeColumn]->setText("directory"); } for(int i = 0; i < ColumnCount; ++i){ - fData[i]->setData(attr); + fData[i]->setData(attr, AttrsRole); + fData[i]->setData(fi.absoluteFilePath(), FullPathRole); + fData[i]->setData(md5, MD5SumRole); } root->appendRow(fData); } @@ -224,13 +229,20 @@ void FileWidget::searchFile(){ void FileWidget::itemDoubleClicked(const QModelIndex &idx){ if(idx.column() == NameColumn){ - int attr = idx.data(Qt::UserRole + 1).toInt(); + int attr = idx.data(AttrsRole).toInt(); if(attr == ParentDir || attr == Directory){ QDir d(mDir->text()); d.cd(idx.data().toString()); QString newDir = d.absolutePath(); mDir->setText(QDir::toNativeSeparators(newDir)); gatherData(); + return; + } + if(attr == Present){ + QString fp = idx.data(FullPathRole).toString(); + QString md5 = idx.data(MD5SumRole).toString(); + mFileDisplay->setFileData(fp, md5); + mFileDisplay->show(); } } } |