]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fix regression: Respect "natural sorting" setting
authorPeter Penz <peter.penz19@gmail.com>
Sat, 28 Jan 2012 20:17:01 +0000 (21:17 +0100)
committerPeter Penz <peter.penz19@gmail.com>
Sat, 28 Jan 2012 21:11:51 +0000 (22:11 +0100)
BUG: 292270
FIXED-IN: 4.8.1

src/kitemviews/kfileitemmodel.cpp
src/kitemviews/kfileitemmodel.h

index fb089077b3df31f794bb774cb99c61c72bc35914..163db8270f588e5bf93a01c60861b5b4e2e825ce 100644 (file)
@@ -21,6 +21,7 @@
 
 #include <KDirLister>
 #include <KDirModel>
 
 #include <KDirLister>
 #include <KDirModel>
+#include <KGlobalSettings>
 #include <KLocale>
 #include <KStringHandler>
 #include <KDebug>
 #include <KLocale>
 #include <KStringHandler>
 #include <KDebug>
@@ -33,7 +34,7 @@
 KFileItemModel::KFileItemModel(KDirLister* dirLister, QObject* parent) :
     KItemModelBase("name", parent),
     m_dirLister(dirLister),
 KFileItemModel::KFileItemModel(KDirLister* dirLister, QObject* parent) :
     KItemModelBase("name", parent),
     m_dirLister(dirLister),
-    m_naturalSorting(true),
+    m_naturalSorting(KGlobalSettings::naturalSorting()),
     m_sortFoldersFirst(true),
     m_sortRole(NameRole),
     m_roles(),
     m_sortFoldersFirst(true),
     m_sortRole(NameRole),
     m_roles(),
@@ -95,6 +96,8 @@ KFileItemModel::KFileItemModel(KDirLister* dirLister, QObject* parent) :
     connect(m_resortAllItemsTimer, SIGNAL(timeout()), this, SLOT(resortAllItems()));
 
     Q_ASSERT(m_minimumUpdateIntervalTimer->interval() <= m_maximumUpdateIntervalTimer->interval());
     connect(m_resortAllItemsTimer, SIGNAL(timeout()), this, SLOT(resortAllItems()));
 
     Q_ASSERT(m_minimumUpdateIntervalTimer->interval() <= m_maximumUpdateIntervalTimer->interval());
+    
+    connect(KGlobalSettings::self(), SIGNAL(naturalSortingChanged()), this, SLOT(slotNaturalSortingChanged()));
 }
 
 KFileItemModel::~KFileItemModel()
 }
 
 KFileItemModel::~KFileItemModel()
@@ -862,6 +865,12 @@ void KFileItemModel::slotClear(const KUrl& url)
     Q_UNUSED(url);
 }
 
     Q_UNUSED(url);
 }
 
+void KFileItemModel::slotNaturalSortingChanged()
+{
+    m_naturalSorting = KGlobalSettings::naturalSorting();
+    resortAllItems();
+}
+
 void KFileItemModel::dispatchPendingItemsToInsert()
 {
     if (!m_pendingItemsToInsert.isEmpty()) {
 void KFileItemModel::dispatchPendingItemsToInsert()
 {
     if (!m_pendingItemsToInsert.isEmpty()) {
index acb3eb153280d3ba51d97d23ce50f69151eaceb9..6276dc229e6565333cba4661d7a905485737afdf 100644 (file)
@@ -186,6 +186,7 @@ private slots:
     void slotRefreshItems(const QList<QPair<KFileItem, KFileItem> >& items);
     void slotClear();
     void slotClear(const KUrl& url);
     void slotRefreshItems(const QList<QPair<KFileItem, KFileItem> >& items);
     void slotClear();
     void slotClear(const KUrl& url);
+    void slotNaturalSortingChanged();
 
     void dispatchPendingItemsToInsert();
 
 
     void dispatchPendingItemsToInsert();