[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