File indexing completed on 2024-04-21 15:02:47
0001 /* 0002 SPDX-FileCopyrightText: 2012 Aleix Pol Gonzalez <aleixpol@blue-systems.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-or-later 0005 */ 0006 0007 #ifndef DUPLICATESFINDER_H 0008 #define DUPLICATESFINDER_H 0009 0010 #include "match_p.h" 0011 #include <KJob> 0012 #include <kpeople/kpeople_export.h> 0013 0014 namespace KContacts 0015 { 0016 class Addressee; 0017 } 0018 0019 namespace KPeople 0020 { 0021 class PersonsModel; 0022 class KPEOPLE_EXPORT DuplicatesFinder : public KJob 0023 { 0024 Q_OBJECT 0025 public: 0026 explicit DuplicatesFinder(PersonsModel *model, QObject *parent = nullptr); 0027 0028 /** Specifies a @p personUri id to look contacts for, in contrast to the whole contact list. */ 0029 void setSpecificPerson(const QString &personUri); 0030 0031 /** Returns the match results. */ 0032 QList<Match> results() const; 0033 0034 public Q_SLOTS: 0035 void start() override; 0036 0037 private Q_SLOTS: 0038 void doSearch(); 0039 void doSpecificSearch(); 0040 0041 private: 0042 PersonsModel *const m_model; 0043 QList<Match> m_matches; 0044 QString m_personUri; 0045 }; 0046 } 0047 0048 #endif // DUPLICATESFINDER_H