Use default sort until a more generic sort that uses numeric order can be implemented.

loadfix
cc9cii 10 years ago
parent e1197e75bc
commit 4fd7537155

@ -51,21 +51,5 @@ void CSMWorld::IdTableProxyModel::setFilter (const boost::shared_ptr<CSMFilter::
bool CSMWorld::IdTableProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const
{
if(headerData(left.column(), Qt::Horizontal).toString() != "ID")
return QSortFilterProxyModel::lessThan(left, right);
QRegExp cellPattern = QRegExp("^#(\\D?\\d+) +(\\D?\\d+)");
int leftResult = cellPattern.indexIn(sourceModel()->data(left).toString());
int leftX = cellPattern.cap(1).toInt();
int leftY = cellPattern.cap(2).toInt();
int rightResult = cellPattern.indexIn(sourceModel()->data(right).toString());
int rightX = cellPattern.cap(1).toInt();
int rightY = cellPattern.cap(2).toInt();
if(leftResult != -1 && rightResult != -1)
return(leftX < rightX) || (leftX == rightX && leftY <= rightY);
else
return QSortFilterProxyModel::lessThan(left, right);
return QSortFilterProxyModel::lessThan(left, right);
}

Loading…
Cancel
Save