]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kfileitemmodel.cpp
port Konqueror from KUrl to QUrl
[dolphin.git] / src / kitemviews / kfileitemmodel.cpp
index 33b29c9fcb5cd6dd4576b915dd04e15c6a8c1027..524b4f59a97ff6597e854b144870ecda77d80657 100644 (file)
@@ -22,7 +22,7 @@
 #include "kfileitemmodel.h"
 
 #include <KGlobalSettings>
-#include <KLocale>
+#include <KLocalizedString>
 #include <KStringHandler>
 #include <KDebug>
 #include <kstringhandler_deprecated.h> //TODO: port to QCollator
@@ -30,7 +30,6 @@
 #include "private/kfileitemmodelsortalgorithm.h"
 #include "private/kfileitemmodeldirlister.h"
 
-#include <QApplication>
 #include <QMimeData>
 #include <QTimer>
 #include <QWidget>
@@ -117,15 +116,15 @@ KFileItemModel::~KFileItemModel()
     qDeleteAll(m_pendingItemsToInsert);
 }
 
-void KFileItemModel::loadDirectory(const KUrl& url)
+void KFileItemModel::loadDirectory(const QUrl &url)
 {
     m_dirLister->openUrl(url);
 }
 
-void KFileItemModel::refreshDirectory(const KUrl& url)
+void KFileItemModel::refreshDirectory(const QUrl &url)
 {
     // Refresh all expanded directories first (Bug 295300)
-    QHashIterator<KUrl, KUrl> expandedDirs(m_expandedDirs);
+    QHashIterator<QUrl, QUrl> expandedDirs(m_expandedDirs);
     while (expandedDirs.hasNext()) {
         expandedDirs.next();
         m_dirLister->openUrl(expandedDirs.value(), KDirLister::Reload);
@@ -134,7 +133,7 @@ void KFileItemModel::refreshDirectory(const KUrl& url)
     m_dirLister->openUrl(url, KDirLister::Reload);
 }
 
-KUrl KFileItemModel::directory() const
+QUrl KFileItemModel::directory() const
 {
     return m_dirLister->url();
 }
@@ -354,7 +353,7 @@ KFileItem KFileItemModel::fileItem(int index) const
     return KFileItem();
 }
 
-KFileItem KFileItemModel::fileItem(const KUrl& url) const
+KFileItem KFileItemModel::fileItem(const QUrl &url) const
 {
     const int indexForUrl = index(url);
     if (indexForUrl >= 0) {
@@ -365,10 +364,10 @@ KFileItem KFileItemModel::fileItem(const KUrl& url) const
 
 int KFileItemModel::index(const KFileItem& item) const
 {
-    return index(KUrl(item.url()));
+    return index(item.url());
 }
 
-int KFileItemModel::index(const KUrl& url) const
+int KFileItemModel::index(const QUrl& url) const
 {
     KUrl urlToFind = url;
     urlToFind.adjustPath(KUrl::RemoveTrailingSlash);
@@ -451,6 +450,8 @@ void KFileItemModel::setRoles(const QSet<QByteArray>& roles)
     if (m_roles == roles) {
         return;
     }
+
+    const QSet<QByteArray> changedRoles = (roles - m_roles) + (m_roles - roles);
     m_roles = roles;
 
     if (count() > 0) {
@@ -479,8 +480,7 @@ void KFileItemModel::setRoles(const QSet<QByteArray>& roles)
             m_itemData[i]->values = retrieveData(m_itemData.at(i)->item, m_itemData.at(i)->parent);
         }
 
-        kWarning() << "TODO: Emitting itemsChanged() with no information what has changed!";
-        emit itemsChanged(KItemRangeList() << KItemRange(0, count()), QSet<QByteArray>());
+        emit itemsChanged(KItemRangeList() << KItemRange(0, count()), changedRoles);
     }
 
     // Clear the 'values' of all filtered items. They will be re-populated with the
@@ -592,17 +592,17 @@ int KFileItemModel::expandedParentsCount(int index) const
     return 0;
 }
 
-QSet<KUrl> KFileItemModel::expandedDirectories() const
+QSet<QUrl> KFileItemModel::expandedDirectories() const
 {
     return m_expandedDirs.values().toSet();
 }
 
-void KFileItemModel::restoreExpandedDirectories(const QSet<KUrl>& urls)
+void KFileItemModel::restoreExpandedDirectories(const QSet<QUrl> &urls)
 {
     m_urlsToExpand = urls;
 }
 
-void KFileItemModel::expandParentDirectories(const KUrl& url)
+void KFileItemModel::expandParentDirectories(const QUrl &url)
 {
     const int pos = m_dirLister->url().path().length();
 
@@ -620,7 +620,7 @@ void KFileItemModel::expandParentDirectories(const KUrl& url)
     // KDirLister::open() must called at least once to trigger an initial
     // loading. The pending URLs that must be restored are handled
     // in slotCompleted().
-    QSetIterator<KUrl> it2(m_urlsToExpand);
+    QSetIterator<QUrl> it2(m_urlsToExpand);
     while (it2.hasNext()) {
         const int idx = index(it2.next());
         if (idx >= 0 && !isExpanded(idx)) {
@@ -898,7 +898,7 @@ void KFileItemModel::slotCanceled()
     emit directoryLoadingCanceled();
 }
 
-void KFileItemModel::slotItemsAdded(const KUrl& directoryUrl, const KFileItemList& items)
+void KFileItemModel::slotItemsAdded(const QUrl &directoryUrl, const KFileItemList& items)
 {
     Q_ASSERT(!items.isEmpty());
 
@@ -2246,4 +2246,3 @@ bool KFileItemModel::isConsistent() const
     return true;
 }
 
-#include "kfileitemmodel.moc"