summaryrefslogtreecommitdiffstats
path: root/smdirmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'smdirmodel.cpp')
-rw-r--r--smdirmodel.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/smdirmodel.cpp b/smdirmodel.cpp
index 00857ab..82527a0 100644
--- a/smdirmodel.cpp
+++ b/smdirmodel.cpp
@@ -16,7 +16,7 @@
#include "helper.h"
SmDirModel::SmDirModel(const QStringList &headers, QObject *parent) : SmTreeModel(headers, parent), mHeaders(headers){
- mWatch = new SmDirWatcher(this);
+ mWatch = new SmDirWatcher(NumFields, this);
connect(mWatch, SIGNAL(needRefresh()), this, SLOT(refresh()));
mRunTimer = new QTimer(this);
mRunTimer->setInterval(2000);
@@ -57,6 +57,8 @@ QVariant SmDirModel::data(const QModelIndex &index, int role) const{
return i->data(Bitrate);
case FullPathRole:
return i->data(FullPath);
+ case PicSizeRole:
+ return i->data(PicSize);
case Qt::DecorationRole: {
if(index.column() == 0){
QStringList mime = i->data(Type).toString().split('/');
@@ -77,6 +79,14 @@ QVariant SmDirModel::data(const QModelIndex &index, int role) const{
}
return d.toString();
}
+ if(index.column() == PicSize){
+ QSize size = i->data(PicSize).value<QSize>();
+ if(!size.isValid()){
+ return QVariant();
+ }
+ QString retval = QString(tr("%1x%2 px").arg(QString::number(size.width())).arg(QString::number(size.height())));
+ return retval;
+ }
}
default:
@@ -215,5 +225,10 @@ const QList<QVariant> SmDirModel::fileData(const QFileInfo &fi) const{
}
data << Helper::md5Sum(fi.absoluteFilePath());
data << si << fi.absoluteFilePath();
+ if(mime.startsWith("image")){
+ data << QImage(fi.absoluteFilePath()).size();;
+ }else{
+ data << QVariant();
+ }
return data;
}