diff --git a/mozilla/mailnews/addrbook/public/nsIAddrDatabase.idl b/mozilla/mailnews/addrbook/public/nsIAddrDatabase.idl
index 7ba33ea562d..b6c68ecc867 100644
--- a/mozilla/mailnews/addrbook/public/nsIAddrDatabase.idl
+++ b/mozilla/mailnews/addrbook/public/nsIAddrDatabase.idl
@@ -52,6 +52,7 @@ interface nsIAddrDatabase : nsIAddrDBAnnouncer {
void forceClosed();
void createNewCardAndAddToDB(in nsIAbCard newCard, in boolean beNotify);
+ void createNewCardAndAddToDBWithKey(in nsIAbCard newCard, in boolean beNotify, out unsigned long key);
void createNewListCardAndAddToDB(in unsigned long listRowID, in nsIAbCard newCard, in boolean beNotify);
void createMailListAndAddToDB(in nsIAbDirectory newList, in boolean beNotify);
nsIEnumerator enumerateCards(in nsIAbDirectory directory);
diff --git a/mozilla/mailnews/addrbook/resources/content/addressbook.xul b/mozilla/mailnews/addrbook/resources/content/addressbook.xul
index f594cf78e58..3b6ca25f2c5 100644
--- a/mozilla/mailnews/addrbook/resources/content/addressbook.xul
+++ b/mozilla/mailnews/addrbook/resources/content/addressbook.xul
@@ -270,12 +270,9 @@ Rights Reserved.
-
-
-
-
-
-
+
+
+
diff --git a/mozilla/mailnews/addrbook/resources/locale/en-US/abMainWindow.dtd b/mozilla/mailnews/addrbook/resources/locale/en-US/abMainWindow.dtd
index fbfdc7fb719..16c9fc3a1eb 100644
--- a/mozilla/mailnews/addrbook/resources/locale/en-US/abMainWindow.dtd
+++ b/mozilla/mailnews/addrbook/resources/locale/en-US/abMainWindow.dtd
@@ -96,3 +96,5 @@ Rights Reserved.
+
+
diff --git a/mozilla/mailnews/addrbook/src/nsAddrDatabase.cpp b/mozilla/mailnews/addrbook/src/nsAddrDatabase.cpp
index 880a2ee70ee..0a17324ac3a 100644
--- a/mozilla/mailnews/addrbook/src/nsAddrDatabase.cpp
+++ b/mozilla/mailnews/addrbook/src/nsAddrDatabase.cpp
@@ -1576,6 +1576,18 @@ NS_IMETHODIMP nsAddrDatabase::CreateNewCardAndAddToDB(nsIAbCard *newCard, PRBool
return err;
}
+NS_IMETHODIMP nsAddrDatabase::CreateNewCardAndAddToDBWithKey(nsIAbCard *newCard, PRBool notify /* = FALSE */, PRUint32 *key)
+{
+ nsresult err = NS_OK;
+ *key = 0;
+
+ err = CreateNewCardAndAddToDB(newCard, notify);
+ if (NS_SUCCEEDED(err))
+ *key = m_LastRecordKey;
+
+ return err;
+}
+
NS_IMETHODIMP nsAddrDatabase::CreateNewListCardAndAddToDB(PRUint32 listRowID, nsIAbCard *newCard, PRBool notify /* = FALSE */)
{
if (!newCard || !m_mdbPabTable)
diff --git a/mozilla/mailnews/addrbook/src/nsAddrDatabase.h b/mozilla/mailnews/addrbook/src/nsAddrDatabase.h
index d9d60fe6e92..7baaee29d77 100644
--- a/mozilla/mailnews/addrbook/src/nsAddrDatabase.h
+++ b/mozilla/mailnews/addrbook/src/nsAddrDatabase.h
@@ -78,6 +78,7 @@ public:
NS_IMETHOD ForceClosed();
NS_IMETHOD CreateNewCardAndAddToDB(nsIAbCard *newCard, PRBool notify);
+ NS_IMETHOD CreateNewCardAndAddToDBWithKey(nsIAbCard *newCard, PRBool notify, PRUint32 *key);
NS_IMETHOD CreateNewListCardAndAddToDB(PRUint32 listRowID, nsIAbCard *newCard, PRBool notify);
NS_IMETHOD CreateMailListAndAddToDB(nsIAbDirectory *newList, PRBool notify);
NS_IMETHOD EnumerateCards(nsIAbDirectory *directory, nsIEnumerator **result);