diff options
Diffstat (limited to 'src/kitemviews')
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.cpp | 25 | ||||
| -rw-r--r-- | src/kitemviews/kfileitemmodelrolesupdater.h | 1 | ||||
| -rw-r--r-- | src/kitemviews/private/kbaloorolesprovider.cpp | 8 |
3 files changed, 12 insertions, 22 deletions
diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index b8c56bd53..256527c9e 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -45,7 +45,6 @@ #ifdef HAVE_BALOO #include "private/kbaloorolesprovider.h" #include <Baloo/File> - #include <Baloo/FileFetchJob> #include <Baloo/FileMonitor> #endif @@ -705,21 +704,8 @@ void KFileItemModelRolesUpdater::applyChangedBalooRoles(const QString& itemUrl) return; } - Baloo::FileFetchJob* job = new Baloo::FileFetchJob(item.localPath()); - connect(job, &Baloo::FileFetchJob::finished, this, &KFileItemModelRolesUpdater::applyChangedBalooRolesJobFinished); - job->setProperty("item", QVariant::fromValue(item)); - job->start(); -#else -#ifndef Q_CC_MSVC - Q_UNUSED(itemUrl); -#endif -#endif -} - -void KFileItemModelRolesUpdater::applyChangedBalooRolesJobFinished(KJob* kjob) -{ -#ifdef HAVE_BALOO - const KFileItem item = kjob->property("item").value<KFileItem>(); + Baloo::File file(item.localPath()); + file.load(); const KBalooRolesProvider& rolesProvider = KBalooRolesProvider::instance(); QHash<QByteArray, QVariant> data; @@ -731,8 +717,7 @@ void KFileItemModelRolesUpdater::applyChangedBalooRolesJobFinished(KJob* kjob) data.insert(role, QVariant()); } - Baloo::FileFetchJob* job = static_cast<Baloo::FileFetchJob*>(kjob); - QHashIterator<QByteArray, QVariant> it(rolesProvider.roleValues(job->file(), m_roles)); + QHashIterator<QByteArray, QVariant> it(rolesProvider.roleValues(file, m_roles)); while (it.hasNext()) { it.next(); data.insert(it.key(), it.value()); @@ -744,6 +729,10 @@ void KFileItemModelRolesUpdater::applyChangedBalooRolesJobFinished(KJob* kjob) m_model->setData(index, data); connect(m_model, &KFileItemModel::itemsChanged, this, &KFileItemModelRolesUpdater::slotItemsChanged); +#else +#ifndef Q_CC_MSVC + Q_UNUSED(itemUrl); +#endif #endif } diff --git a/src/kitemviews/kfileitemmodelrolesupdater.h b/src/kitemviews/kfileitemmodelrolesupdater.h index e9652e3b5..4a96b1f49 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.h +++ b/src/kitemviews/kfileitemmodelrolesupdater.h @@ -205,7 +205,6 @@ private slots: void resolveRecentlyChangedItems(); void applyChangedBalooRoles(const QString& file); - void applyChangedBalooRolesJobFinished(KJob* job); void slotDirectoryContentsCountReceived(const QString& path, int count); diff --git a/src/kitemviews/private/kbaloorolesprovider.cpp b/src/kitemviews/private/kbaloorolesprovider.cpp index 5096ef096..74f789e23 100644 --- a/src/kitemviews/private/kbaloorolesprovider.cpp +++ b/src/kitemviews/private/kbaloorolesprovider.cpp @@ -26,6 +26,7 @@ #include <Baloo/File> #include <KFileMetaData/PropertyInfo> +#include <KFileMetaData/UserMetaData> #include <QTime> #include <QMap> @@ -99,14 +100,15 @@ QHash<QByteArray, QVariant> KBalooRolesProvider::roleValues(const Baloo::File& f } } + KFileMetaData::UserMetaData md(file.path()); if (roles.contains("tags")) { - values.insert("tags", tagsFromValues(file.tags())); + values.insert("tags", tagsFromValues(md.tags())); } if (roles.contains("rating")) { - values.insert("rating", QString::number(file.rating())); + values.insert("rating", QString::number(md.rating())); } if (roles.contains("comment")) { - values.insert("comment", file.userComment()); + values.insert("comment", md.userComment()); } return values; |
