summaryrefslogtreecommitdiffstats
path: root/framework/src
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src')
-rw-r--r--framework/src/domain/contactcontroller.cpp14
-rw-r--r--framework/src/domain/contactcontroller.h4
2 files changed, 15 insertions, 3 deletions
diff --git a/framework/src/domain/contactcontroller.cpp b/framework/src/domain/contactcontroller.cpp
index e27c4a3b..6bcaac62 100644
--- a/framework/src/domain/contactcontroller.cpp
+++ b/framework/src/domain/contactcontroller.cpp
@@ -103,9 +103,10 @@ void ContactController::updateSaveAction()
103 saveAction()->setEnabled(!getFirstName().isEmpty()); 103 saveAction()->setEnabled(!getFirstName().isEmpty());
104} 104}
105 105
106void ContactController::loadContact(const QVariant &contact) 106void ContactController::loadContact(const QVariant &variant)
107{ 107{
108 if (auto c = contact.value<Sink::ApplicationDomain::Contact::Ptr>()) { 108 mContact = variant;
109 if (auto c = variant.value<Sink::ApplicationDomain::Contact::Ptr>()) {
109 const auto &vcard = c->getVcard(); 110 const auto &vcard = c->getVcard();
110 KContacts::VCardConverter converter; 111 KContacts::VCardConverter converter;
111 const auto addressee = converter.parseVCard(vcard); 112 const auto addressee = converter.parseVCard(vcard);
@@ -134,7 +135,14 @@ void ContactController::loadContact(const QVariant &contact)
134 } 135 }
135} 136}
136 137
138void ContactController::remove()
139{
140 if (auto c = mContact.value<Sink::ApplicationDomain::Contact::Ptr>()) {
141 run(Sink::Store::remove(*c));
142 }
143}
144
137QVariant ContactController::contact() const 145QVariant ContactController::contact() const
138{ 146{
139 return QVariant{}; 147 return mContact;
140} 148}
diff --git a/framework/src/domain/contactcontroller.h b/framework/src/domain/contactcontroller.h
index 852a003f..61e37de8 100644
--- a/framework/src/domain/contactcontroller.h
+++ b/framework/src/domain/contactcontroller.h
@@ -54,9 +54,13 @@ public:
54 explicit ContactController(); 54 explicit ContactController();
55 55
56 Q_INVOKABLE void loadContact(const QVariant &contact); 56 Q_INVOKABLE void loadContact(const QVariant &contact);
57 Q_INVOKABLE void remove();
57 58
58 QVariant contact() const; 59 QVariant contact() const;
59 60
60private slots: 61private slots:
61 void updateSaveAction(); 62 void updateSaveAction();
63
64private:
65 QVariant mContact;
62}; 66};