File indexing completed on 2024-06-23 05:06:08

0001 /*
0002  * This file is part of the KDE Akonadi Search Project
0003  * SPDX-FileCopyrightText: 2013 Vishesh Handa <me@vhanda.in>
0004  *
0005  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0006  *
0007  */
0008 
0009 #include "../resultiterator.h"
0010 #include "contactquery.h"
0011 
0012 #include <QApplication>
0013 #include <QDebug>
0014 #include <QTimer>
0015 
0016 #include <Akonadi/ContactSearchJob>
0017 
0018 using namespace Akonadi::Search::PIM;
0019 
0020 class App : public QApplication
0021 {
0022     Q_OBJECT
0023 public:
0024     App(int &argc, char **argv, int flags = ApplicationFlags);
0025 
0026 private Q_SLOTS:
0027     void main();
0028     void slotItemsReceived(const Akonadi::Item::List &list);
0029 
0030 private:
0031 };
0032 
0033 int main(int argc, char **argv)
0034 {
0035     App app(argc, argv);
0036     return app.exec();
0037 }
0038 
0039 App::App(int &argc, char **argv, int flags)
0040     : QApplication(argc, argv, flags)
0041 {
0042     QTimer::singleShot(0, this, SLOT(main()));
0043 }
0044 
0045 void App::main()
0046 {
0047 #if 0
0048     Akonadi::ContactSearchJob *job = new Akonadi::ContactSearchJob();
0049     job->setQuery(Akonadi::ContactSearchJob::NameOrEmail, "to", Akonadi::ContactSearchJob::StartsWithMatch);
0050 
0051     connect(job, SIGNAL(itemsReceived(Akonadi::Item::List)),
0052             this, SLOT(slotItemsReceived(Akonadi::Item::List)));
0053     connect(job, SIGNAL(finished(KJob*)),
0054             this, SLOT(quit()));
0055     job->start();
0056     qDebug() << "Query started";
0057 #endif
0058 
0059     ContactQuery q;
0060     q.matchEmail(QLatin1StringView("t"));
0061     q.setMatchCriteria(ContactQuery::StartsWithMatch);
0062 
0063     ResultIterator iter = q.exec();
0064     while (iter.next()) {
0065         qDebug() << iter.id();
0066     }
0067 }
0068 
0069 void App::slotItemsReceived(const Akonadi::Item::List &list)
0070 {
0071     qDebug() << list.size();
0072     for (const Akonadi::Item &item : list) {
0073         qDebug() << item.id() << item.mimeType();
0074     }
0075 }
0076 
0077 #include "contactsearchtest.moc"