From 02335902fb63e7bc1ebd5931dae93b754dc469ea Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 6 Apr 2013 05:39:29 +0200 Subject: Show pic size in SmDirModel If file is an image, grab the size and add it to the model. Also, remove some leftover debug statements from SmTreeView. --- smdirmodel.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'smdirmodel.cpp') 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(); + 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 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; } -- cgit v1.2.3-70-g09d2