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)))];