Git commit bbb0bc62aae117b3080d63d524178762a4e56417 by Jean-Baptiste Mardel=
le.
Committed on 31/05/2016 at 21:09.
Pushed by mardelle into branch 'master'.
Use natural sort order in Bin
CCBUG: 363604
M +2 -1 src/bin/projectsortproxymodel.cpp
M +2 -0 src/bin/projectsortproxymodel.h
http://commits.kde.org/kdenlive/bbb0bc62aae117b3080d63d524178762a4e56417
diff --git a/src/bin/projectsortproxymodel.cpp b/src/bin/projectsortproxymo=
del.cpp
index 9e1eb43..15a7235 100644
--- a/src/bin/projectsortproxymodel.cpp
+++ b/src/bin/projectsortproxymodel.cpp
@@ -28,6 +28,7 @@ along with this program. If not, see .
ProjectSortProxyModel::ProjectSortProxyModel(QObject *parent)
: QSortFilterProxyModel(parent)
{
+ m_collator.setNumericMode(true);
m_selection =3D new QItemSelectionModel(this);
connect(m_selection, SIGNAL(selectionChanged(QItemSelection,QItemSelec=
tion)), this, SLOT(onCurrentRowChanged(QItemSelection,QItemSelection)));
setDynamicSortFilter(true);
@@ -95,7 +96,7 @@ bool ProjectSortProxyModel::lessThan(const QModelIndex & =
left, const QModelIndex
if (leftData.type() =3D=3D QVariant::DateTime) {
return leftData.toDateTime() < rightData.toDateTime();
}
- return QSortFilterProxyModel::lessThan(right, left);
+ return m_collator.compare(leftData.toString(), rightData.toString(=
)) < 0;
}
if (sortOrder() =3D=3D Qt::AscendingOrder) return leftType < rightType;
return leftType > rightType;
diff --git a/src/bin/projectsortproxymodel.h b/src/bin/projectsortproxymode=
l.h
index a8ae977..365c5d8 100644
--- a/src/bin/projectsortproxymodel.h
+++ b/src/bin/projectsortproxymodel.h
@@ -23,6 +23,7 @@ along with this program. If not, see .
#define PROJECTSORTPROXYMODEL_H
=
#include
+#include
=
class QItemSelectionModel;
=
@@ -61,6 +62,7 @@ protected:
private:
QItemSelectionModel*m_selection;
QString m_searchString;
+ QCollator m_collator;
=
signals:
/** @brief Emitted when the row changes, used to prepare action for se=
lected item */