Baloo
7 #include "queryresultsmodel.h"
10 #include <QMimeDatabase>
25 if (m_searchString == searchString) {
29 m_searchString = searchString;
30 Q_EMIT searchStringChanged();
33 QString Query::searchString()
const
35 return m_searchString;
40 if (m_limit == limit) {
45 Q_EMIT limitChanged();
48 int Query::limit()
const
53 QueryResultsModel::QueryResultsModel(
QObject *parent)
55 m_query(new Query(this))
57 connect(m_query, &Query::searchStringChanged,
this, &QueryResultsModel::populateModel);
58 connect(m_query, &Query::limitChanged,
this, &QueryResultsModel::populateModel);
61 QueryResultsModel::~QueryResultsModel()
68 roleNames[UrlRole] =
"url";
89 return m_balooEntryList.at(index.
row());
95 int QueryResultsModel::rowCount(
const QModelIndex &parent)
const
101 return m_balooEntryList.count();
104 void QueryResultsModel::setQuery(Query *query)
106 if (m_query == query) {
112 m_query->setParent(
this);
113 Q_EMIT queryChanged();
116 Query* QueryResultsModel::query()
const
121 void QueryResultsModel::populateModel()
124 query.setSearchString(m_query->searchString());
125 query.setLimit(m_query->limit());
126 Baloo::ResultIterator it =
query.exec();
129 m_balooEntryList.clear();
131 m_balooEntryList << it.filePath();
136 #include "moc_queryresultsmodel.cpp"
std::optional< QSqlQuery > query(const QString &queryStatement)
void setSearchString(const QString &str)
Set some text which should be used to search for Items.
virtual QHash< int, QByteArray > roleNames() const const
QUrl fromLocalFile(const QString &localFile)
QString fileName(QUrl::ComponentFormattingOptions options) const const
bool isValid() const const
const QChar at(int position) const const
QMimeType mimeTypeForFile(const QString &fileName, QMimeDatabase::MatchMode mode) const const
void setLimit(uint limit)
Only a maximum of limit results will be returned.
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.