forked from QRouland/UTPass
75 lines
1.6 KiB
C++
75 lines
1.6 KiB
C++
#ifndef PASSKEYMODEL_H
|
|
#define PASSKEYMODEL_H
|
|
|
|
#include <QObject>
|
|
#include <gpgme++/key.h>
|
|
|
|
using namespace GpgME;
|
|
|
|
class PassKeyModel : public QObject
|
|
{
|
|
Q_OBJECT
|
|
Q_PROPERTY(QString uid READ uid WRITE setUid NOTIFY uidChanged MEMBER m_uid)
|
|
Q_PROPERTY(bool secret READ secret WRITE setSecret NOTIFY secretChanged MEMBER m_secret)
|
|
Q_PROPERTY(bool expired READ expired WRITE setExpired NOTIFY expiredChanged MEMBER m_expired)
|
|
|
|
QString m_uid;
|
|
bool m_secret;
|
|
bool m_expired;
|
|
|
|
public:
|
|
PassKeyModel(QString uid, bool secret, bool expired):
|
|
m_uid(uid),
|
|
m_secret(secret),
|
|
m_expired(expired)
|
|
{};
|
|
|
|
PassKeyModel(Key key):
|
|
PassKeyModel(QString::fromUtf8(key.keyID()), key.hasSecret(), key.isExpired())
|
|
{};
|
|
|
|
static QList<QObject *> keysToPassKeyQObjectList(std::vector<Key> keys)
|
|
{
|
|
QList<QObject *> r;
|
|
std::for_each(keys.begin(), keys.end(), [&r](Key k) {
|
|
r.append(new PassKeyModel(k));
|
|
});
|
|
return r;
|
|
};
|
|
|
|
QString uid() const
|
|
{
|
|
return m_uid;
|
|
};
|
|
bool secret() const
|
|
{
|
|
return m_secret;
|
|
};
|
|
bool expired() const
|
|
{
|
|
return m_expired;
|
|
};
|
|
|
|
void setUid(QString uid)
|
|
{
|
|
m_uid = uid;
|
|
emit uidChanged(uid);
|
|
}
|
|
void setSecret(bool secret)
|
|
{
|
|
m_secret = secret;
|
|
emit secretChanged(secret);
|
|
}
|
|
void setExpired(bool expired)
|
|
{
|
|
m_expired = expired;
|
|
emit expiredChanged(expired);
|
|
}
|
|
|
|
signals:
|
|
void uidChanged(QString);
|
|
void secretChanged(bool);
|
|
void expiredChanged(bool);
|
|
};
|
|
#endif
|