]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Remove workaround to start/stop the resource watcher
authorPeter Penz <peter.penz19@gmail.com>
Sun, 6 May 2012 20:07:08 +0000 (22:07 +0200)
committerPeter Penz <peter.penz19@gmail.com>
Sun, 6 May 2012 20:08:02 +0000 (22:08 +0200)
Using the latest resource-watcher from kde-runtime does not make
this workaround necessary anymore.

src/kitemviews/kfileitemmodelrolesupdater.cpp

index a1773840d383385fa1642664cd8e98fb8df096e4..bbb01247d1082d4841cd419818b82969ab6e6f46 100644 (file)
@@ -323,6 +323,7 @@ void KFileItemModelRolesUpdater::slotItemsRemoved(const KItemRangeList& itemRang
         // Don't let the ResourceWatcher watch for removed items
         if (m_model->count() == 0) {
             m_nepomukResourceWatcher->setResources(QList<Nepomuk::Resource>());
+            m_nepomukResourceWatcher->stop();
             m_nepomukUriItems.clear();
         } else {
             QList<Nepomuk::Resource> newResources;
@@ -337,6 +338,10 @@ void KFileItemModelRolesUpdater::slotItemsRemoved(const KItemRangeList& itemRang
                 }
             }
             m_nepomukResourceWatcher->setResources(newResources);
+            if (newResources.isEmpty()) {
+                Q_ASSERT(m_nepomukUriItems.isEmpty());
+                m_nepomukResourceWatcher->stop();
+            }
         }
     }
 #endif
@@ -992,11 +997,11 @@ QHash<QByteArray, QVariant> KFileItemModelRolesUpdater::rolesData(const KFileIte
             uri = resource.resourceUri();
         }
         if (!uri.isEmpty() && !m_nepomukUriItems.contains(uri)) {
-            // TODO: Calling stop()/start() is a workaround until
-            // ResourceWatcher has been fixed.
-            m_nepomukResourceWatcher->stop();
             m_nepomukResourceWatcher->addResource(resource);
-            m_nepomukResourceWatcher->start();
+
+            if (m_nepomukUriItems.isEmpty()) {
+                m_nepomukResourceWatcher->start();
+            }
 
             m_nepomukUriItems.insert(uri, item.url());
         }