From 10f693c0e0a29f4081e3e84c151a49e431dbcb7b Mon Sep 17 00:00:00 2001 From: "rhp%netscape.com" Date: Mon, 14 Aug 2000 00:45:51 +0000 Subject: [PATCH] Fix for adding display name automatically on ABSync operation - Bug #: 1942 - r: xxxxx git-svn-id: svn://10.0.0.236/trunk@76255 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/mailnews/absync/src/nsAbSync.cpp | 35 ++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/mozilla/mailnews/absync/src/nsAbSync.cpp b/mozilla/mailnews/absync/src/nsAbSync.cpp index de1b76dc9a4..60ff8034a89 100644 --- a/mozilla/mailnews/absync/src/nsAbSync.cpp +++ b/mozilla/mailnews/absync/src/nsAbSync.cpp @@ -2611,6 +2611,41 @@ nsAbSync::AddNewUsers() if (mLastSyncFailed) cardAlreadyThere = CardAlreadyInAddressBook(newCard, &localID, &tempCRC); + // Ok, now, lets be extra nice and see if we should build a display name for the + // card. + // + PRUnichar *tDispName = nsnull; + if (NS_SUCCEEDED(newCard->GetCardValue(kDisplayNameColumn, &tDispName))) + { + if ( (!tDispName) || (!*tDispName) ) + { + PRUnichar *tFirstName = nsnull; + PRUnichar *tLastName = nsnull; + nsString tFullName; + + newCard->GetCardValue(kFirstNameColumn, &tFirstName); + newCard->GetCardValue(kLastNameColumn, &tLastName); + + if (tFirstName) + { + tFullName.Append(tFirstName); + if (tLastName) + tFullName.Append(NS_ConvertASCIItoUCS2(" ")); + } + + if (tLastName) + tFullName.Append(tLastName); + + PR_FREEIF(tFirstName); + PR_FREEIF(tLastName); + + // Ok, now we should add a display name... + newCard->SetDisplayName(tFullName.GetUnicode()); + } + else + PR_FREEIF(tDispName); + } + // Ok, now we need to modify or add the card! ONLY IF ITS NOT THERE ALREADY if (!cardAlreadyThere) {