[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdenlive] src/bin: Use natural sort order in Bin
From: Jean-Baptiste Mardelle <jb () kdenlive ! org>
Date: 2016-05-31 21:10:01
Message-ID: E1b7qvJ-0006QW-Kt () scm ! kde ! org
[Download RAW message or body]
Git commit bbb0bc62aae117b3080d63d524178762a4e56417 by Jean-Baptiste Mardelle.
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/projectsortproxymodel.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 <http://www.gnu.org/licenses/>.
ProjectSortProxyModel::ProjectSortProxyModel(QObject *parent)
: QSortFilterProxyModel(parent)
{
+ m_collator.setNumericMode(true);
m_selection = new QItemSelectionModel(this);
connect(m_selection, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, \
SLOT(onCurrentRowChanged(QItemSelection,QItemSelection))); setDynamicSortFilter(true);
@@ -95,7 +96,7 @@ bool ProjectSortProxyModel::lessThan(const QModelIndex & left, const \
QModelIndex if (leftData.type() == QVariant::DateTime) {
return leftData.toDateTime() < rightData.toDateTime();
}
- return QSortFilterProxyModel::lessThan(right, left);
+ return m_collator.compare(leftData.toString(), rightData.toString()) < 0;
}
if (sortOrder() == Qt::AscendingOrder) return leftType < rightType;
return leftType > rightType;
diff --git a/src/bin/projectsortproxymodel.h b/src/bin/projectsortproxymodel.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 <http://www.gnu.org/licenses/>.
#define PROJECTSORTPROXYMODEL_H
#include <QSortFilterProxyModel>
+#include <QCollator>
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 selected item */
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic