File indexing completed on 2024-05-05 16:16:34

0001 /*
0002     SPDX-FileCopyrightText: 2013 David Edmundson <D.Edmundson@lboro.ac.uk>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #ifndef DECLARATIVEPERSONDATA_H
0008 #define DECLARATIVEPERSONDATA_H
0009 
0010 #include "persondata.h"
0011 
0012 class DeclarativePersonData : public QObject
0013 {
0014     Q_OBJECT
0015 
0016     Q_PROPERTY(QString personUri READ personUri WRITE setPersonUri NOTIFY personChanged)
0017     Q_PROPERTY(KPeople::PersonData *person READ person NOTIFY personChanged)
0018     Q_PROPERTY(QString photoImageProviderUri READ photoImageProviderUri NOTIFY photoImageProviderUriChanged)
0019 
0020 public:
0021     explicit DeclarativePersonData(QObject *parent = nullptr);
0022 
0023     void setPersonUri(const QString &id);
0024     QString personUri() const;
0025 
0026     KPeople::PersonData *person() const;
0027 
0028     QString photoImageProviderUri() const;
0029 
0030 Q_SIGNALS:
0031     void personChanged();
0032     void photoImageProviderUriChanged();
0033 
0034 private:
0035     QString m_id;
0036     KPeople::PersonData *m_person = nullptr;
0037 };
0038 
0039 #endif // DECLARATIVEPERSONDATA_H