Baloo
9 #include "metadatamover.h"
11 #include "termgenerator.h"
12 #include "transaction.h"
13 #include "baloodebug.h"
17 using namespace Baloo;
19 MetadataMover::MetadataMover(Database* db,
QObject* parent)
25 MetadataMover::~MetadataMover()
29 void MetadataMover::moveFileMetadata(
const QString& from,
const QString& to)
35 Transaction tr(m_db, Transaction::ReadWrite);
39 removeMetadata(&tr, to);
42 updateMetadata(&tr, from, to);
47 void MetadataMover::removeFileMetadata(
const QString& file)
51 Transaction tr(m_db, Transaction::ReadWrite);
52 removeMetadata(&tr, file);
56 void MetadataMover::removeMetadata(Transaction* tr,
const QString& url)
62 Q_EMIT fileRemoved(url);
68 tr->removeDocument(
id);
70 tr->removeRecursively(
id);
73 Q_EMIT fileRemoved(url);
76 void MetadataMover::updateMetadata(Transaction* tr,
const QString& from,
const QString& to)
78 qCDebug(BALOO) << from <<
"->" << to;
79 Q_ASSERT(!from.
isEmpty() && !to.isEmpty());
84 quint64
id = tr->documentId(fromPath);
86 qCDebug(BALOO) <<
"Document not (yet) known, signaling newFile" << to;
87 Q_EMIT movedWithoutData(to);
95 quint64 parentId = tr->documentId(parentPath);
97 qCDebug(BALOO) <<
"Parent directory not (yet) known, signaling newFile" << to;
105 TermGenerator tg(doc);
109 doc.setParentId(parentId);
111 tr->replaceDocument(doc, DocumentUrl | FileNameTerms);
118 #include "moc_metadatamover.cpp"
bool endsWith(const QString &s, Qt::CaseSensitivity cs) const const
QByteArray encodeName(const QString &fileName)
int lastIndexOf(char ch, int from) const const
Implements storage for docIds without any associated data Instantiated for:
QByteArray mid(int pos, int len) const const
bool isEmpty() const const
QByteArray left(int len) const const
A document represents an indexed file to be stored in the Baloo engine.
QString decodeName(const QByteArray &localFileName)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Nov 29 2023 03:56:26 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.