[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: PATCH: Port klprfax to kabc
From: Cornelius Schumacher <schumacher () kde ! org>
Date: 2002-02-26 12:37:27
[Download RAW message or body]
This patch ports klprfax to the new addressbook API. Ok to commit?
--
Cornelius Schumacher <schumacher@kde.org>
["usekabc.patch" (text/x-diff)]
? usekabc.patch
Index: klprfax/Makefile.am
===================================================================
RCS file: /home/kde/kdeutils/klprfax/klprfax/Makefile.am,v
retrieving revision 1.11
diff -u -p -r1.11 Makefile.am
--- klprfax/Makefile.am 2001/11/11 06:34:09 1.11
+++ klprfax/Makefile.am 2002/02/26 12:33:33
@@ -2,7 +2,7 @@ bin_PROGRAMS = klprfax
bin_SCRIPTS = klprfax_filter klprfax_lpd
klprfax_SOURCES = klprfax_config.cpp klprfax.cpp main.cpp klprfax_widget.cpp
noinst_HEADERS = klprfax_config.h klprfax.h klprfax_widget.h
-klprfax_LDADD = $(LIB_KAB) $(LIB_KIO)
+klprfax_LDADD = -lkabc $(LIB_KIO)
klprfax_LDFLAGS = $(all_libraries) $(KDE_RPATH)
KDE_ICON=AUTO
Index: klprfax/klprfax.cpp
===================================================================
RCS file: /home/kde/kdeutils/klprfax/klprfax/klprfax.cpp,v
retrieving revision 1.14
diff -u -p -r1.14 klprfax.cpp
--- klprfax/klprfax.cpp 2002/01/21 06:31:43 1.14
+++ klprfax/klprfax.cpp 2002/02/26 12:33:33
@@ -22,6 +22,8 @@
#include <klocale.h>
#include <kio/netaccess.h>
#include <kstandarddirs.h>
+#include <kabc/stdaddressbook.h>
+#include <kdebug.h>
#include <qfile.h>
@@ -37,10 +39,6 @@
Klprfax::Klprfax(KApplication *_app,KConfigBase *cnf,QCString faxF,QWidget *parent, \
const char *_name) : QWidget(parent, _name) {
-AddressBook::ErrorCode err;
-AddressBook *bk;
-int n,i;
-QString name,fax0,fax1,fax2,fax3;
QString nil="";
app=_app;
@@ -67,18 +65,14 @@ QString nil="";
// Search all entries with fax numbers
- kab=new KabAPI;
- err=kab->init();
- bk=kab->addressbook();
- n=bk->noOfEntries();
-
+ KABC::AddressBook *ab = KABC::StdAddressBook::self();
+
+ KABC::AddressBook::Iterator it;
+
int rows=-1,col0=0,col1=0;
- for(i=0;i<n;i++) {
- KabKey k;
- AddressBook::Entry e;
- err=bk->getKey(i,k);
- err=bk->getEntry(k,e);
- if (NameFax(e,name,fax0,fax1,fax2,fax3)) {
+ for( it = ab->begin(); it != ab->end(); ++it ) {
+ QString name,fax0,fax1,fax2,fax3;
+ if (NameFax(*it,name,fax0,fax1,fax2,fax3)) {
klprfax_widget *tmp;
rows+=1;if (rows>=names->numRows()) { names->setNumRows(rows+1); }
@@ -207,60 +201,40 @@ Klprfax::~Klprfax()
}
/** No descriptions */
-bool Klprfax::NameFax(AddressBook::Entry & e,QString & name, QString & fax0,QString \
& fax1, QString & fax2, QString & fax3) +bool Klprfax::NameFax(KABC::Addressee & \
a,QString & name, QString & fax0,QString & fax1, QString & fax2, QString & fax3) {
- bool isFax=false;
- AddressBook::Telephone faxEnum=AddressBook::Fax;
- int fn=0;
- QString fax;
-
- fax0=QString::null;
- fax1=QString::null;
- fax2=QString::null;
- fax3=QString::null;
-
- int phone_nrs=e.telephone.count();
-qWarning("Phone nrs: %d", phone_nrs);
- for(int i=0;i<phone_nrs;i+=2) {
- QString type=e.telephone[i];
- bool ok;
- int _type=type.toInt(&ok,10);
- if (ok) {
- if (_type==faxEnum) {
- fax=e.telephone[i+1].stripWhiteSpace();
- if (!fax.isEmpty()) {
- isFax=true;
- switch (fn++) {
- case 0 : fax0=fax;
- break;
- case 1 : fax1=fax;
- break;
- case 2 : fax2=fax;
- break;
- case 3 : fax3=fax;
- break;
- }
+ KABC::PhoneNumber::List numbers = a.phoneNumbers();
- }
- }
+ bool isFax=false;
+ int fn=0;
+
+ KABC::PhoneNumber::List::Iterator it;
+ for( it = numbers.begin(); it != numbers.end(); ++it ) {
+ if ( (*it).type() & KABC::PhoneNumber::Fax ) {
+ QString fax = (*it).number();
+ kdDebug() << "Found " << a.realName() << ": " << fax << endl;
+ isFax = true;
+ switch (fn++) {
+ case 0 : fax0=fax;
+ break;
+ case 1 : fax1=fax;
+ break;
+ case 2 : fax2=fax;
+ break;
+ case 3 : fax3=fax;
+ break;
+ default : kdDebug() << "Too many fax numbers." << endl;
}
- }
+ }
+ }
if (isFax) {
- name=e.fn.stripWhiteSpace();
- if (name.isEmpty()) {
- QString fn=e.firstname.stripWhiteSpace();
- QString mn=e.middlename.stripWhiteSpace();
- QString ln=e.lastname.stripWhiteSpace();
- if (mn.isEmpty())
- name=fn+" "+ln;
- else
- name=fn+" "+mn+" "+ln;
- }
+ name=a.realName();
}
return isFax;
}
+
/** No descriptions */
void Klprfax::noFaxing()
{
Index: klprfax/klprfax.h
===================================================================
RCS file: /home/kde/kdeutils/klprfax/klprfax/klprfax.h,v
retrieving revision 1.7
diff -u -p -r1.7 klprfax.h
--- klprfax/klprfax.h 2002/01/09 11:34:50 1.7
+++ klprfax/klprfax.h 2002/02/26 12:33:33
@@ -26,12 +26,11 @@
#include <qwidget.h>
#include <kconfig.h>
+#include <kabc/addressee.h>
#include <qlistview.h>
#include <qlistbox.h>
#include <qpushbutton.h>
-#include <addressbook.h>
-#include <kabapi.h>
#include <qlineedit.h>
#include <qprogressbar.h>
#include <qlabel.h>
@@ -93,8 +92,6 @@ private: // Private attributes
bool canCancel;
bool canceled;
- KabAPI * kab;
-
KShellProcess efax_helper;
QString efax_diagnostic;
@@ -108,7 +105,7 @@ public: // Public attributes
private: // Private methods
void doLog(QString s);
- bool NameFax(AddressBook::Entry & e,QString & name, QString & fax0,QString & \
fax1,QString & fax2,QString & fax3); + bool NameFax(KABC::Addressee & e,QString & \
name, QString & fax0,QString & fax1,QString & fax2,QString & fax3); void findEFax();
void enableAll(bool yes=true);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic