]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Always periodically dispatch pending items
authorKai Uwe Broulik <kde@privat.broulik.de>
Tue, 27 Aug 2019 11:26:26 +0000 (13:26 +0200)
committerKai Uwe Broulik <kde@privat.broulik.de>
Tue, 27 Aug 2019 11:26:26 +0000 (13:26 +0200)
"Local" URLs can also be slow.
This might jeopardize loading large local directories where a resorting could take place but imho it's better than leaving the user
wondering when files will finally show up. However, it takes some time for KDirLister to initially signal items having been added,
and only then our 2 second timer starts.
Also, stop the timer when loading has completed.

Differential Revision: https://phabricator.kde.org/D23460

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

index de974e7e9726e9795615fa29e171c85892f52bca..49c96ec37fdb13fb3817fd9971e5f1c91d0e16ee 100644 (file)
@@ -917,6 +917,7 @@ void KFileItemModel::resortAllItems()
 
 void KFileItemModel::slotCompleted()
 {
+    m_maximumUpdateIntervalTimer->stop();
     dispatchPendingItemsToInsert();
 
     if (!m_urlsToExpand.isEmpty()) {
@@ -1007,7 +1008,7 @@ void KFileItemModel::slotItemsAdded(const QUrl &directoryUrl, const KFileItemLis
         }
     }
 
-    if (useMaximumUpdateInterval() && !m_maximumUpdateIntervalTimer->isActive()) {
+    if (!m_maximumUpdateIntervalTimer->isActive()) {
         // Assure that items get dispatched if no completed() or canceled() signal is
         // emitted during the maximum update interval.
         m_maximumUpdateIntervalTimer->start();
@@ -1875,11 +1876,6 @@ int KFileItemModel::stringCompare(const QString& a, const QString& b, const QCol
     return QString::compare(a, b, Qt::CaseSensitive);
 }
 
-bool KFileItemModel::useMaximumUpdateInterval() const
-{
-    return !m_dirLister->url().isLocalFile();
-}
-
 QList<QPair<int, QVariant> > KFileItemModel::nameRoleGroups() const
 {
     Q_ASSERT(!m_itemData.isEmpty());
index 0f7926aae1b432f5238999a03cc7247b0015d996..c2dfd01670a96680beb9c0730b860682b1d2dedc 100644 (file)
@@ -382,8 +382,6 @@ private:
 
     int stringCompare(const QString& a, const QString& b, const QCollator& collator) const;
 
-    bool useMaximumUpdateInterval() const;
-
     QList<QPair<int, QVariant> > nameRoleGroups() const;
     QList<QPair<int, QVariant> > sizeRoleGroups() const;
     QList<QPair<int, QVariant> > timeRoleGroups(const std::function<QDateTime(const ItemData *)> &fileTimeCb) const;