From kde-commits Thu Sep 04 14:52:38 2003 From: Tobias Koenig Date: Thu, 04 Sep 2003 14:52:38 +0000 To: kde-commits Subject: kdebase/kdeprint/kdeprintfax X-MARC-Message: https://marc.info/?l=kde-commits&m=106268719124741 CVS commit by tokoe: Search for matching contact in setPhone(), that should increase the integration with KAddressBook a bit. M +31 -1 faxab.cpp 1.9 M +1 -0 faxab.h 1.6 M +7 -1 kdeprintfax.cpp 1.23 --- kdebase/kdeprint/kdeprintfax/faxab.cpp #1.8:1.9 @@ -172,5 +172,35 @@ bool FaxAB::getEntry(QString& number, QS return true; } -return false; + + return false; +} + +bool FaxAB::getEntryByNumber(const QString& number, QString& name, QString& enterprise) +{ + KABC::AddressBook *bk = KABC::StdAddressBook::self(); + for (KABC::AddressBook::Iterator it=bk->begin(); it!=bk->end(); ++it) + { + KABC::PhoneNumber::List numbers = (*it).phoneNumbers(); + QStringList filteredNumbers; + for (QValueList::Iterator nit=numbers.begin(); nit!=numbers.end(); ++nit) + { + if (((*nit).type() & KABC::PhoneNumber::Fax) ) + { + QString strippedNumber; + for (uint i = 0; i < (*nit).number().length(); ++i) + if ((*nit).number()[i].isDigit()) + strippedNumber.append((*nit).number()[i]); + + if ( strippedNumber == number) + { + enterprise = (*it).organization(); + name = (*it).formattedName(); + return true; + } + } + } + } + + return false; } --- kdebase/kdeprint/kdeprintfax/faxab.h #1.5:1.6 @@ -39,4 +39,5 @@ public: static bool getEntry(QString& number, QString& name, QString& enterprise, QWidget *parent = 0); + static bool getEntryByNumber(const QString& number, QString& name, QString& enterprise); protected slots: --- kdebase/kdeprint/kdeprintfax/kdeprintfax.cpp #1.22:1.23 @@ -271,5 +271,11 @@ void KdeprintFax::addURL(KURL url) void KdeprintFax::setPhone(QString phone) { - m_number->setText( phone ); + QString name, enterprise; + if (FaxAB::getEntryByNumber(phone, name, enterprise)) + { + m_name->setText(name); + m_enterprise->setText(enterprise); + } + m_number->setText(phone); }