mirror of
https://invent.kde.org/system/dolphin
synced 2024-10-28 03:21:56 +00:00
Port Dolphin to the new Baloo APIs
REVIEW: 120582
This commit is contained in:
parent
7d41ad943a
commit
93465171bc
|
@ -104,8 +104,7 @@ if(HAVE_BALOO)
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
dolphinprivate PUBLIC
|
dolphinprivate PUBLIC
|
||||||
KF5::FileMetaData
|
KF5::FileMetaData
|
||||||
KF5::BalooCore
|
KF5::Baloo
|
||||||
KF5::BalooFiles
|
|
||||||
KF5::BalooNaturalQueryParser
|
KF5::BalooNaturalQueryParser
|
||||||
KF5::BalooWidgets
|
KF5::BalooWidgets
|
||||||
)
|
)
|
||||||
|
|
|
@ -45,7 +45,6 @@
|
||||||
#ifdef HAVE_BALOO
|
#ifdef HAVE_BALOO
|
||||||
#include "private/kbaloorolesprovider.h"
|
#include "private/kbaloorolesprovider.h"
|
||||||
#include <Baloo/File>
|
#include <Baloo/File>
|
||||||
#include <Baloo/FileFetchJob>
|
|
||||||
#include <Baloo/FileMonitor>
|
#include <Baloo/FileMonitor>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -705,21 +704,8 @@ void KFileItemModelRolesUpdater::applyChangedBalooRoles(const QString& itemUrl)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Baloo::FileFetchJob* job = new Baloo::FileFetchJob(item.localPath());
|
Baloo::File file(item.localPath());
|
||||||
connect(job, &Baloo::FileFetchJob::finished, this, &KFileItemModelRolesUpdater::applyChangedBalooRolesJobFinished);
|
file.load();
|
||||||
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>();
|
|
||||||
|
|
||||||
const KBalooRolesProvider& rolesProvider = KBalooRolesProvider::instance();
|
const KBalooRolesProvider& rolesProvider = KBalooRolesProvider::instance();
|
||||||
QHash<QByteArray, QVariant> data;
|
QHash<QByteArray, QVariant> data;
|
||||||
|
@ -731,8 +717,7 @@ void KFileItemModelRolesUpdater::applyChangedBalooRolesJobFinished(KJob* kjob)
|
||||||
data.insert(role, QVariant());
|
data.insert(role, QVariant());
|
||||||
}
|
}
|
||||||
|
|
||||||
Baloo::FileFetchJob* job = static_cast<Baloo::FileFetchJob*>(kjob);
|
QHashIterator<QByteArray, QVariant> it(rolesProvider.roleValues(file, m_roles));
|
||||||
QHashIterator<QByteArray, QVariant> it(rolesProvider.roleValues(job->file(), m_roles));
|
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
it.next();
|
it.next();
|
||||||
data.insert(it.key(), it.value());
|
data.insert(it.key(), it.value());
|
||||||
|
@ -744,6 +729,10 @@ void KFileItemModelRolesUpdater::applyChangedBalooRolesJobFinished(KJob* kjob)
|
||||||
m_model->setData(index, data);
|
m_model->setData(index, data);
|
||||||
connect(m_model, &KFileItemModel::itemsChanged,
|
connect(m_model, &KFileItemModel::itemsChanged,
|
||||||
this, &KFileItemModelRolesUpdater::slotItemsChanged);
|
this, &KFileItemModelRolesUpdater::slotItemsChanged);
|
||||||
|
#else
|
||||||
|
#ifndef Q_CC_MSVC
|
||||||
|
Q_UNUSED(itemUrl);
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -205,7 +205,6 @@ private slots:
|
||||||
void resolveRecentlyChangedItems();
|
void resolveRecentlyChangedItems();
|
||||||
|
|
||||||
void applyChangedBalooRoles(const QString& file);
|
void applyChangedBalooRoles(const QString& file);
|
||||||
void applyChangedBalooRolesJobFinished(KJob* job);
|
|
||||||
|
|
||||||
void slotDirectoryContentsCountReceived(const QString& path, int count);
|
void slotDirectoryContentsCountReceived(const QString& path, int count);
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
#include <Baloo/File>
|
#include <Baloo/File>
|
||||||
#include <KFileMetaData/PropertyInfo>
|
#include <KFileMetaData/PropertyInfo>
|
||||||
|
#include <KFileMetaData/UserMetaData>
|
||||||
|
|
||||||
#include <QTime>
|
#include <QTime>
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
|
@ -99,14 +100,15 @@ QHash<QByteArray, QVariant> KBalooRolesProvider::roleValues(const Baloo::File& f
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
KFileMetaData::UserMetaData md(file.path());
|
||||||
if (roles.contains("tags")) {
|
if (roles.contains("tags")) {
|
||||||
values.insert("tags", tagsFromValues(file.tags()));
|
values.insert("tags", tagsFromValues(md.tags()));
|
||||||
}
|
}
|
||||||
if (roles.contains("rating")) {
|
if (roles.contains("rating")) {
|
||||||
values.insert("rating", QString::number(file.rating()));
|
values.insert("rating", QString::number(md.rating()));
|
||||||
}
|
}
|
||||||
if (roles.contains("comment")) {
|
if (roles.contains("comment")) {
|
||||||
values.insert("comment", file.userComment());
|
values.insert("comment", md.userComment());
|
||||||
}
|
}
|
||||||
|
|
||||||
return values;
|
return values;
|
||||||
|
|
|
@ -479,7 +479,7 @@ KUrl DolphinSearchBox::balooUrlForSearching() const
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_fromHereButton->isChecked()) {
|
if (m_fromHereButton->isChecked()) {
|
||||||
query.addCustomOption("includeFolder", m_searchPath.toLocalFile());
|
query.setIncludeFolder(m_searchPath.toLocalFile());
|
||||||
}
|
}
|
||||||
|
|
||||||
return query.toSearchUrl(i18nc("@title UDS_DISPLAY_NAME for a KIO directory listing. %1 is the query the user entered.",
|
return query.toSearchUrl(i18nc("@title UDS_DISPLAY_NAME for a KIO directory listing. %1 is the query the user entered.",
|
||||||
|
@ -499,9 +499,9 @@ void DolphinSearchBox::fromBalooSearchUrl(const KUrl& url)
|
||||||
// while we adjust the search text and the facet widget.
|
// while we adjust the search text and the facet widget.
|
||||||
blockSignals(true);
|
blockSignals(true);
|
||||||
|
|
||||||
const QVariantMap customOptions = query.customOptions();
|
const QString customDir = query.includeFolder();
|
||||||
if (customOptions.contains("includeFolder")) {
|
if (!customDir.isEmpty()) {
|
||||||
setSearchPath(customOptions.value("includeFolder").toString());
|
setSearchPath(customDir);
|
||||||
} else {
|
} else {
|
||||||
setSearchPath(QDir::homePath());
|
setSearchPath(QDir::homePath());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue