From c5125a0cdb79d13169f44fcfd03e517e7dd557d6 Mon Sep 17 00:00:00 2001 From: Arno Moeller Date: Fri, 25 Jun 2010 16:40:16 +0200 Subject: Sorting for FilesTreeModel Implemented individual sorting for FilesTreeModel: 1. Don't compare the "Movies" and "Covers" nodes, keep the initial order. 2. Compare Size and DvdNo by int/longlong instead of comparing the displayed strings. --- filestreewidget.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'filestreewidget.h') diff --git a/filestreewidget.h b/filestreewidget.h index fd06f30..55d80b5 100644 --- a/filestreewidget.h +++ b/filestreewidget.h @@ -10,9 +10,11 @@ #include #include +#include class FilesTreeView; class FilesTreeModel; +class FilesTreeSortModel; class FilesTreeWidget : public QWidget { Q_OBJECT @@ -23,6 +25,7 @@ class FilesTreeWidget : public QWidget { private: FilesTreeView *mView; FilesTreeModel *mModel; + FilesTreeSortModel *mProxy; }; class FilesTreeView : public QTreeView { @@ -31,4 +34,14 @@ class FilesTreeView : public QTreeView { explicit FilesTreeView(QWidget *parent = 0); }; +class FilesTreeSortModel : public QSortFilterProxyModel { + Q_OBJECT + public: + FilesTreeSortModel(QObject *parent = 0); + ~FilesTreeSortModel() {} + + protected: + virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const; +}; + #endif -- cgit v1.2.3-70-g09d2