remove double Ids

If an id was displayed in double (if bestName == bestId)
the bestId is now hidden.

Change-Id: I562d7b1812cda1594fca01cb5bf0d413f4cb478f
Reviewed-by: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com>
diff --git a/callwidget.cpp b/callwidget.cpp
index 0043798..c5373e4 100644
--- a/callwidget.cpp
+++ b/callwidget.cpp
@@ -759,10 +759,20 @@
 CallWidget::showIMOutOfCall(const QModelIndex& nodeIdx)
 {
     ui->contactMethodComboBox->clear();
+    QString name = nodeIdx.data(static_cast<int>(Ring::Role::Name)).toString();
+    QString number = nodeIdx.data(static_cast<int>(Ring::Role::Number)).toString();
+
     ui->imNameLabel->setText(QString(tr("%1", "%1 is the contact username"))
-                                     .arg(nodeIdx.data(static_cast<int>(Ring::Role::Name)).toString()));
-    ui->imIdLabel->setText(QString(tr("%1", "%1 is the contact unique identifier"))
-                                   .arg(nodeIdx.data(static_cast<int>(Ring::Role::Number)).toString()));
+                                     .arg(name));
+
+    if (name != number){
+        ui->imIdLabel->show();
+        ui->imIdLabel->setText(QString(tr("%1", "%1 is the contact unique identifier"))
+                                   .arg(number));
+    } else {
+        ui->imIdLabel->hide();
+    }
+
     auto cmVector = RecentModel::instance().getContactMethods(nodeIdx);
     ui->contactMethodComboBox->setVisible(cmVector.size() > 1);
     foreach (const ContactMethod* cm, cmVector) {
diff --git a/callwidget.ui b/callwidget.ui
index 88a07fb..bc828c4 100644
--- a/callwidget.ui
+++ b/callwidget.ui
@@ -1082,6 +1082,9 @@
                     <property name="leftMargin">
                      <number>0</number>
                     </property>
+                    <property name="bottomMargin">
+                     <number>4</number>
+                    </property>
                     <item>
                      <widget class="QLabel" name="imNameLabel">
                       <property name="sizePolicy">
diff --git a/smartlistdelegate.cpp b/smartlistdelegate.cpp
index ac38147..4c164e0 100644
--- a/smartlistdelegate.cpp
+++ b/smartlistdelegate.cpp
@@ -149,22 +149,24 @@
 
         // Display the ID under the name
         QString idStr = index.data(static_cast<int>(Ring::Role::Number)).value<QString>();
-        pen.setColor(RingTheme::grey_);
-        painter->setPen(pen);
-        font.setItalic(true);
-        font.setBold(false);
-        painter->setFont(font);
-        QFontMetrics fontMetrics(font);
-        if (!idStr.isNull()){
-            idStr = fontMetrics.elidedText(idStr, Qt::ElideRight, rectTexts.width()- sizeImage_ - effectiveComBarSize_ - dx_);
-            painter->drawText(QRect(16 + rect.left() + dx_ + sizeImage_,
-                                    rect.top() + rect.height()/7,
-                                    rect.width(),
-                                    rect.height()/2),
-                              Qt::AlignBottom | Qt::AlignLeft, idStr);
+        if (idStr != name.toString()){
+            pen.setColor(RingTheme::grey_);
+            painter->setPen(pen);
+            font.setItalic(true);
+            font.setBold(false);
+            painter->setFont(font);
+            QFontMetrics fontMetrics(font);
+            if (!idStr.isNull()){
+                idStr = fontMetrics.elidedText(idStr, Qt::ElideRight, rectTexts.width()- sizeImage_ - effectiveComBarSize_ - dx_);
+                painter->drawText(QRect(16 + rect.left() + dx_ + sizeImage_,
+                                        rect.top() + rect.height()/7,
+                                        rect.width(),
+                                        rect.height()/2),
+                                  Qt::AlignBottom | Qt::AlignLeft, idStr);
 
-        } else {
-            qDebug() << "This is not a Person";
+            } else {
+                qDebug() << "This is not a Person";
+            }
         }
 
         // Finally, either last interaction date or call state is displayed