[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/kdeprint/kdeprintfax
From:       Tobias Koenig <tokoe () kde ! org>
Date:       2003-09-04 14:52:38
[Download RAW message or body]

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<KABC::PhoneNumber>::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);
 }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic