1 /* 2 SPDX-FileCopyrightText: 2011, 2012 Dan Vratil <dan@progdan.cz> 3 SPDX-FileCopyrightText: 2020 Igor Pobiko <igor.poboiko@gmail.com> 4 5 SPDX-License-Identifier: GPL-3.0-or-later 6 */ 7 8 #pragma once 9 10 #include "generichandler.h" 11 #include <KGAPI/Types> 12 13 class ContactHandler : public GenericHandler 14 { 15 Q_OBJECT 16 public: 17 using GenericHandler::GenericHandler; 18 19 QString mimeType() override; 20 bool canPerformTask(const Akonadi::Item &item) override; 21 bool canPerformTask(const Akonadi::Item::List &items) override; 22 23 void retrieveCollections(const Akonadi::Collection &rootCollection) override; 24 void retrieveItems(const Akonadi::Collection &collection) override; 25 26 void itemAdded(const Akonadi::Item &item, const Akonadi::Collection &collection) override; 27 void itemChanged(const Akonadi::Item &item, const QSet<QByteArray> &partIdentifiers) override; 28 void itemsRemoved(const Akonadi::Item::List &items) override; 29 void itemsMoved(const Akonadi::Item::List &items, const Akonadi::Collection &collectionSource, const Akonadi::Collection &collectionDestination) override; 30 void itemsLinked(const Akonadi::Item::List &items, const Akonadi::Collection &collection) override; 31 void itemsUnlinked(const Akonadi::Item::List &items, const Akonadi::Collection &collection) override; 32 33 void collectionAdded(const Akonadi::Collection &collection, const Akonadi::Collection &parent) override; 34 void collectionChanged(const Akonadi::Collection &collection) override; 35 void collectionRemoved(const Akonadi::Collection &collection) override; 36 private Q_SLOTS: 37 void slotItemsRetrieved(KGAPI2::Job *job); 38 void slotUpdatePhotosItemsRetrieved(KJob *job); 39 void retrieveContactsPhotos(const QVariant &arguments); 40 41 private: 42 QString myContactsRemoteId() const; 43 void setupCollection(Akonadi::Collection &collection, const KGAPI2::ContactsGroupPtr &group); 44 QMap<QString, Akonadi::Collection> m_collections; 45 }; 46 47