UI: use IdOfLastCMUsed in SmartList and Contacts.

This commit add new field in SmartList to display IdOfLastCMUsed
for contact. If contact does not have a name we use only IdOfLastCMUsed.

Change-Id: I225a054919ca6f03eb9bb3b7eb951a4fa3be38e4
Reviewed-by: Anthony LĂ©onard <anthony.leonard@savoirfairelinux.com>
diff --git a/src/SmartViewVC.mm b/src/SmartViewVC.mm
index f6e02e3..8a5f9dd 100644
--- a/src/SmartViewVC.mm
+++ b/src/SmartViewVC.mm
@@ -73,6 +73,7 @@
 NSInteger const CALL_BUTTON_TAG     = 400;
 NSInteger const TXT_BUTTON_TAG      = 500;
 NSInteger const CANCEL_BUTTON_TAG   = 600;
+NSInteger const RING_ID_LABEL       = 700;
 
 - (void)awakeFromNib
 {
@@ -262,19 +263,16 @@
 
     NSTextField* displayName = [result viewWithTag:DISPLAYNAME_TAG];
     NSString* displayNameString = qIdx.data((int)Ring::Role::Name).toString().toNSString();
-    if(displayNameString.length == 0) {
-        QVector<ContactMethod*> contactMethods = RecentModel::instance().getContactMethods(qIdx);
-        if(contactMethods.count() > 0) {
-            ContactMethod* method = contactMethods[0];
-            for(int i = 0; i < contactMethods.count(); i++) {
-                if (contactMethods[i]->lastUsed() > method->lastUsed()) {
-                    method = contactMethods[i];
-                }
-            }
-            displayNameString = method->getBestId().toNSString();
-        }
+    NSString* displayIDString = qIdx.data((int)Person::Role::IdOfLastCMUsed).toString().toNSString();
+    if(displayNameString.length == 0 || [displayNameString isEqualToString:displayIDString]) {
+        [displayName setStringValue:displayIDString];
     }
-    [displayName setStringValue:displayNameString];
+    else {
+        NSTextField* displayRingID = [result viewWithTag:RING_ID_LABEL];
+        [displayName setStringValue:displayNameString];
+        displayIDString = [NSString stringWithFormat:@"%@%@%@",@"(", displayIDString, @")"];
+        [displayRingID setStringValue:displayIDString];
+    }
     NSImageView* photoView = [result viewWithTag:IMAGE_TAG];
 
     [photoView setImage:QtMac::toNSImage(qvariant_cast<QPixmap>(qIdx.data(Qt::DecorationRole)))];