summaryrefslogtreecommitdiffstats
path: root/filesystemfileproxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'filesystemfileproxy.cpp')
-rw-r--r--filesystemfileproxy.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/filesystemfileproxy.cpp b/filesystemfileproxy.cpp
index 31059ec..06ad939 100644
--- a/filesystemfileproxy.cpp
+++ b/filesystemfileproxy.cpp
@@ -9,11 +9,39 @@
#include <QVariant>
#include <QFileSystemModel>
#include <QFileInfo>
+#include <QDateTime>
+
+#include <QDebug>
#include "filesystemfileproxy.h"
+#include "helper.h"
FilesystemFileProxy::FilesystemFileProxy(QObject *parent) : QSortFilterProxyModel(parent) {}
+QVariant FilesystemFileProxy::data(const QModelIndex &index, int role) const{
+ if(!index.isValid()){
+ return QVariant();
+ }
+
+ if(role == Qt::DisplayRole){
+ if(index.column() == 2){
+ QString filePath = index.data(QFileSystemModel::FilePathRole).toString();
+ QString mimeType = Helper::mimeType(filePath);
+ if(mimeType.contains('/')){
+ mimeType = mimeType.split('/').at(1);
+ mimeType = mimeType.remove(QRegExp("^x-"));
+ return mimeType;
+ }
+ }
+ if(index.column() == 3){
+ QString filePath = index.data(QFileSystemModel::FilePathRole).toString();
+ QFileInfo fi(filePath);
+ return fi.lastModified().toString("MM-dd-yyyy hh:mm");
+ }
+ }
+ return QSortFilterProxyModel::data(index, role);
+}
+
bool FilesystemFileProxy::lessThan(const QModelIndex &left, const QModelIndex &right) const {
if(left.model()->headerData(left.column(), Qt::Horizontal).toString() == tr("Name")){
QFileSystemModel *source = static_cast<QFileSystemModel*>(sourceModel());