summaryrefslogtreecommitdiffstats
path: root/seriestreewidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-06-18 16:49:43 +0200
committerArno <am@disconnect.de>2010-06-18 16:49:43 +0200
commit514b5f95cb5399fb36dcd0561ebb3775609c7bb7 (patch)
tree9b31ab1c036e5cd233f90831828fa23821eaad12 /seriestreewidget.cpp
parentb153f90a4c7f76a5ce5f4985bdbd687ba1602fdb (diff)
downloadSheMov-514b5f95cb5399fb36dcd0561ebb3775609c7bb7.tar.gz
SheMov-514b5f95cb5399fb36dcd0561ebb3775609c7bb7.tar.bz2
SheMov-514b5f95cb5399fb36dcd0561ebb3775609c7bb7.zip
Sort for SeriesTreeModel/View
Sort Parts regarding to their part number.
Diffstat (limited to 'seriestreewidget.cpp')
-rw-r--r--seriestreewidget.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp
index 553a534..9850138 100644
--- a/seriestreewidget.cpp
+++ b/seriestreewidget.cpp
@@ -38,7 +38,7 @@ SeriesTreeWidget::SeriesTreeWidget(QWidget *parent) : QWidget(parent){
//the view
mView = new SeriesTreeView;
- mProxy = new QSortFilterProxyModel;
+ mProxy = new SeriesTreeSortModel(this);
mModel = SmUberModelSingleton::instance()->seriesModel();
mProxy->setSourceModel(mModel);
mView->setModel(mProxy);
@@ -150,3 +150,12 @@ void SeriesTreeView::contextMenuEvent(QContextMenuEvent *e){
}
contextMenu.exec(e->globalPos());
}
+
+SeriesTreeSortModel::SeriesTreeSortModel(QObject *parent) : QSortFilterProxyModel(parent) {}
+
+bool SeriesTreeSortModel::lessThan(const QModelIndex &left, const QModelIndex &right) const{
+ if(left.data(SeriesTreeModel::TypeRole).toInt() == SeriesTreeModel::Part && right.data(SeriesTreeModel::TypeRole).toInt() == SeriesTreeModel::Part){
+ return left.data(SeriesTreeModel::SeriesPartRole).toInt() < right.data(SeriesTreeModel::SeriesPartRole).toInt();
+ }
+ return QSortFilterProxyModel::lessThan(left, right);
+}