From 481f623cf8772e9c990ee3a3eb322238ffa62d6e Mon Sep 17 00:00:00 2001 From: Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com> Date: Thu, 18 Sep 2014 20:11:12 +0200 Subject: [PATCH] Keep alternative URI in memory --- src/phonenumber.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/phonenumber.cpp b/src/phonenumber.cpp index 0b47ef5c..59a141c5 100644 --- a/src/phonenumber.cpp +++ b/src/phonenumber.cpp @@ -53,6 +53,7 @@ public: QString m_PrimaryName_cache; URI m_Uri ; PhoneNumber::Type m_Type ; + QList<URI> m_lOtherURIs ; //Parents QList<PhoneNumber*> m_lParents; @@ -517,6 +518,16 @@ bool PhoneNumber::merge(PhoneNumber* other) //Replace the D-Pointer this->d = other->d; d->m_lParents << this; + + //In case the URI is different, take the longest and most precise + //TODO keep a log of all URI used + if (currentD->m_Uri.size() > other->d->m_Uri.size()) { + other->d->m_lOtherURIs << other->d->m_Uri; + other->d->m_Uri = currentD->m_Uri; + } + else + other->d->m_lOtherURIs << currentD->m_Uri; + emit changed(); emit rebased(other); -- GitLab