summaryrefslogtreecommitdiffstats
path: root/fsproxy.cpp
blob: 26a70d8e8591c381fe1a782dd7d31b53436a38d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "fsproxy.h"
#include "fswidget.h"

FSProxy::FSProxy(QObject *parent) : QSortFilterProxyModel(parent) {}

bool FSProxy::lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const {
    //sort by size
    if(source_left.column() == 2){
        QVariant leftData = source_left.data(FSWidget::SizeRole);
        QVariant rightData = source_right.data(FSWidget::SizeRole);
        return leftData.toLongLong() < rightData.toLongLong();
    }
    //sort by duration
    if(source_left.column() == 3){
        QVariant leftData = source_left.data(FSWidget::DurationRole);
        QVariant rightData = source_right.data(FSWidget::DurationRole);
        return leftData.toLongLong() < rightData.toLongLong();
    }
    return QSortFilterProxyModel::lessThan(source_left, source_right);
}