File indexing completed on 2024-05-12 04:45:59
0001 /* 0002 * Copyright 2019 Linus Jahn <lnj@kaidan.im> 0003 * 0004 * This program is free software; you can redistribute it and/or 0005 * modify it under the terms of the GNU General Public License as 0006 * published by the Free Software Foundation; either version 2 of 0007 * the License or (at your option) version 3 or any later version 0008 * accepted by the membership of KDE e.V. (or its successor approved 0009 * by the membership of KDE e.V.), which shall act as a proxy 0010 * defined in Section 14 of version 3 of the license. 0011 * 0012 * This program is distributed in the hope that it will be useful, 0013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0015 * GNU General Public License for more details. 0016 * 0017 * You should have received a copy of the GNU General Public License 0018 * along with this program. If not, see <http://www.gnu.org/licenses/>. 0019 */ 0020 0021 #ifndef LINUXINTERFACE_H 0022 #define LINUXINTERFACE_H 0023 0024 #include "abstractinterface.h" 0025 #include <QObject> 0026 #include <QStandardPaths> 0027 0028 class LinuxInterface : public AbstractInterface 0029 { 0030 Q_OBJECT 0031 0032 private: 0033 FMH::MODEL_LIST m_contacts; 0034 0035 public: 0036 explicit LinuxInterface(QObject *parent = nullptr); 0037 0038 FMH::MODEL getContact(const QString &id) override final; 0039 void getContacts() override final; 0040 bool insertContact(const FMH::MODEL &contact) override final; 0041 bool updateContact(const QString &id, const FMH::MODEL &contact) override final; 0042 bool removeContact(const QString &id) override final; 0043 0044 /** 0045 * @brief contactPhoto is a static function to be used with the contactImage provider, 0046 * it takes the id of the contact and then looks for the photo url in the vcard 0047 * @param id of the vcard, it is the vcard filename for now 0048 * @return returns a QImage to be used with the contactImage provider 0049 */ 0050 static QImage contactPhoto(const QString &id); 0051 0052 private: 0053 const QString path = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + ("/kpeoplevcard"); 0054 }; 0055 0056 #endif // LINUXINTERFACE_H