diff --git a/kde/src/AkonadiBackend.cpp b/kde/src/AkonadiBackend.cpp index cbf270c44c535bffcd09b9458b2d123658b5a68a..c0a216eac246ae8e22a06333f18d41391bb67e1d 100644 --- a/kde/src/AkonadiBackend.cpp +++ b/kde/src/AkonadiBackend.cpp @@ -145,6 +145,27 @@ void AkonadiBackend::addNewContact(Contact* contact) newContact.setOrganization ( contact->getOrganization() ); //newContact.setPreferredEmail ( contact->getPreferredEmail() );//TODO + foreach (Contact::PhoneNumber* nb, contact->getPhoneNumbers()) { + KABC::PhoneNumber pn; + if (nb->getType() == "Home" ) pn.setType(KABC::PhoneNumber::Home ); + else if (nb->getType() == "Work" ) pn.setType(KABC::PhoneNumber::Work ); + else if (nb->getType() == "Msg" ) pn.setType(KABC::PhoneNumber::Msg ); + else if (nb->getType() == "Pref" ) pn.setType(KABC::PhoneNumber::Pref ); + else if (nb->getType() == "Voice" ) pn.setType(KABC::PhoneNumber::Voice ); + else if (nb->getType() == "Fax" ) pn.setType(KABC::PhoneNumber::Fax ); + else if (nb->getType() == "Cell" ) pn.setType(KABC::PhoneNumber::Cell ); + else if (nb->getType() == "Video" ) pn.setType(KABC::PhoneNumber::Video ); + else if (nb->getType() == "Bbs" ) pn.setType(KABC::PhoneNumber::Bbs ); + else if (nb->getType() == "Modem" ) pn.setType(KABC::PhoneNumber::Modem ); + else if (nb->getType() == "Car" ) pn.setType(KABC::PhoneNumber::Car ); + else if (nb->getType() == "Isdn" ) pn.setType(KABC::PhoneNumber::Isdn ); + else if (nb->getType() == "Pcs" ) pn.setType(KABC::PhoneNumber::Pcs ); + else if (nb->getType() == "Pager" ) pn.setType(KABC::PhoneNumber::Pager ); + + pn.setNumber(nb->getNumber()); + newContact.insertPhoneNumber(pn); + } + //aContact->setPhoneNumbers (newNumbers );//TODO diff --git a/kde/src/lib/Contact.cpp b/kde/src/lib/Contact.cpp index 768da13b001f49c85b8bbc869442ef3ed88de6c9..4a8f718ffc81ff6bb4b5fae9dad25698bd5a47ec 100644 --- a/kde/src/lib/Contact.cpp +++ b/kde/src/lib/Contact.cpp @@ -25,7 +25,7 @@ #include "sflphone_const.h" -Contact::Contact() +Contact::Contact():m_pPhoto(0) { initItem(); } diff --git a/kde/src/widgets/HistoryTreeItem.cpp b/kde/src/widgets/HistoryTreeItem.cpp index ec0b77906757832ec4ae41b2f175804b0f213ed1..856c7c87a7d4d03984e3eb39a14dd01668750865 100644 --- a/kde/src/widgets/HistoryTreeItem.cpp +++ b/kde/src/widgets/HistoryTreeItem.cpp @@ -147,7 +147,8 @@ bool HistoryTreeItem::getContactInfo(QString phoneNumber) { Contact* contact = AkonadiBackend::getInstance()->getContactByPhone(phoneNumber); if (contact) { - labelIcon->setPixmap(*contact->getPhoto()); + if (contact->getPhoto() != NULL) + labelIcon->setPixmap(*contact->getPhoto()); labelPeerName->setText("<b>"+contact->getFormattedName()+"</b>"); } else {