summaryrefslogtreecommitdiffstats
path: root/filestreewidget.h
diff options
context:
space:
mode:
authorArno Moeller <am@mindwerk.de>2010-06-25 16:40:16 +0200
committerArno Moeller <am@mindwerk.de>2010-06-25 16:40:16 +0200
commitc5125a0cdb79d13169f44fcfd03e517e7dd557d6 (patch)
tree35f88efce0e7aba2e17a22a22d5ae8f12ceb741f /filestreewidget.h
parent7ad391f932c9ec33cccf49eff8996ccaf2d303d5 (diff)
downloadSheMov-c5125a0cdb79d13169f44fcfd03e517e7dd557d6.tar.gz
SheMov-c5125a0cdb79d13169f44fcfd03e517e7dd557d6.tar.bz2
SheMov-c5125a0cdb79d13169f44fcfd03e517e7dd557d6.zip
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.
Diffstat (limited to 'filestreewidget.h')
-rw-r--r--filestreewidget.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/filestreewidget.h b/filestreewidget.h
index fd06f30..55d80b5 100644
--- a/filestreewidget.h
+++ b/filestreewidget.h
@@ -10,9 +10,11 @@
#include <QWidget>
#include <QTreeView>
+#include <QSortFilterProxyModel>
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