summaryrefslogtreecommitdiffstats
path: root/framework/src/domain/contactcontroller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/domain/contactcontroller.cpp')
-rw-r--r--framework/src/domain/contactcontroller.cpp14
1 files changed, 11 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}