From 514b5f95cb5399fb36dcd0561ebb3775609c7bb7 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 18 Jun 2010 16:49:43 +0200 Subject: Sort for SeriesTreeModel/View Sort Parts regarding to their part number. --- seriestreewidget.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'seriestreewidget.cpp') 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); +} -- cgit v1.2.3-70-g09d2