#ifndef MULTISORTFILTERPROXY_H #define MULTISORTFILTERPROXY_H #include class MultiSortFilterProxy : public QSortFilterProxyModel { public: MultiSortFilterProxy(QObject* parent = nullptr); void AddSortSpec(int role, Qt::SortOrder order = Qt::AscendingOrder); protected: bool lessThan(const QModelIndex& left, const QModelIndex& right) const; private: int Compare(const QVariant& left, const QVariant& right) const; typedef QPair SortSpec; QList sorting_; }; #endif // MULTISORTFILTERPROXY_H