From 48da7de1b6bcd87c57b4c7f60133f3f13fc4bff2 Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Thu, 29 Dec 2016 20:23:58 +0100 Subject: A typesafe action context --- framework/domain/composercontroller.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'framework/domain/composercontroller.h') diff --git a/framework/domain/composercontroller.h b/framework/domain/composercontroller.h index b7ff0757..11da517e 100644 --- a/framework/domain/composercontroller.h +++ b/framework/domain/composercontroller.h @@ -33,10 +33,20 @@ namespace KMime { class Message; } +class ComposerContext : public Kube::Context { + Q_OBJECT + KUBE_CONTEXT_PROPERTY(QString, To, to) + KUBE_CONTEXT_PROPERTY(QString, Cc, cc) + KUBE_CONTEXT_PROPERTY(QString, Bcc, bcc) + KUBE_CONTEXT_PROPERTY(QString, From, from) + KUBE_CONTEXT_PROPERTY(QString, Subject, subject) + KUBE_CONTEXT_PROPERTY(QString, Body, body) +}; + class ComposerController : public QObject { Q_OBJECT - Q_PROPERTY (Kube::Context* mailContext READ mailContext WRITE setMailContext) + Q_PROPERTY (Kube::Context* mailContext READ mailContext CONSTANT) Q_PROPERTY (int currentIdentityIndex READ currentIdentityIndex WRITE setCurrentIdentityIndex) Q_PROPERTY (QString recepientSearchString READ recepientSearchString WRITE setRecepientSearchString) @@ -49,8 +59,7 @@ class ComposerController : public QObject public: explicit ComposerController(QObject *parent = Q_NULLPTR); - Kube::Context* mailContext() const; - void setMailContext(Kube::Context *context); + Kube::Context* mailContext(); QString recepientSearchString() const; void setRecepientSearchString(const QString &body); @@ -78,5 +87,5 @@ private: void setMessage(const QSharedPointer &msg); int m_currentAccountIndex = -1; - Kube::Context *mContext; + ComposerContext mContext; }; -- cgit v1.2.3