From d84143bf2ad9072ba799a77db10d48cddff0e0d4 Mon Sep 17 00:00:00 2001
From: Stepan Salenikovich <stepan.salenikovich@savoirfairelinux.com>
Date: Tue, 6 Oct 2015 10:33:30 -0400
Subject: [PATCH] roles: handle ObjectType data role in models

Issue: #81198
Change-Id: Iea548e1440f2c5c0699a1944adc57ab8b2307e7c
---
 src/call.cpp          | 2 ++
 src/contactmethod.cpp | 3 +++
 src/person.cpp        | 2 ++
 3 files changed, 7 insertions(+)

diff --git a/src/call.cpp b/src/call.cpp
index 6d8a969f..c8cca0c4 100644
--- a/src/call.cpp
+++ b/src/call.cpp
@@ -2077,6 +2077,8 @@ QVariant Call::roleData(int role) const
       case static_cast<int>(Ring::Role::Object):
       case static_cast<int>(Call::Role::Object):
          return QVariant::fromValue(const_cast<Call*>(this));
+      case static_cast<int>(Ring::Role::ObjectType):
+         return QVariant::fromValue(Ring::ObjectType::Call);
       case static_cast<int>(Call::Role::ContactMethod):
          return QVariant::fromValue(peerContactMethod());
       case static_cast<int>(Call::Role::Photo):
diff --git a/src/contactmethod.cpp b/src/contactmethod.cpp
index 09025e0c..2af2812a 100644
--- a/src/contactmethod.cpp
+++ b/src/contactmethod.cpp
@@ -505,6 +505,9 @@ QVariant ContactMethod::roleData(int role) const
       case static_cast<int>(Role::Object):
          cat = QVariant::fromValue(const_cast<ContactMethod*>(this));
          break;
+      case static_cast<int>(Ring::Role::ObjectType):
+         cat = QVariant::fromValue(Ring::ObjectType::ContactMethod);
+         break;
       case static_cast<int>(Call::Role::IsBookmark):
          cat = false;
          break;
diff --git a/src/person.cpp b/src/person.cpp
index bb5cf9a3..73a70277 100644
--- a/src/person.cpp
+++ b/src/person.cpp
@@ -539,6 +539,8 @@ QVariant Person::roleData(int role) const
       case static_cast<int>(Ring::Role::Object):
       case static_cast<int>(Person::Role::Object):
          return QVariant::fromValue(const_cast<Person*>(this));
+      case static_cast<int>(Ring::Role::ObjectType):
+         return QVariant::fromValue(Ring::ObjectType::Person);
       case static_cast<int>(Ring::Role::LastUsed):
       case static_cast<int>(Person::Role::DatedLastUsed):
          return QVariant(QDateTime::fromTime_t( lastUsedTime()));
-- 
GitLab