summaryrefslogtreecommitdiffstats
path: root/filewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filewidget.cpp')
-rw-r--r--filewidget.cpp22
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();
}
}
}