summaryrefslogtreecommitdiffabout
path: root/kaddressbook
authorulf69 <ulf69>2004-07-09 08:05:25 (UTC)
committer ulf69 <ulf69>2004-07-09 08:05:25 (UTC)
commit259a7a50e4f8138cedfc2004fbde3b37cedcc49f (patch) (unidiff)
treedfd2e89f169ba65ffd250f9b52f8f4efcd62d8b3 /kaddressbook
parentd91c533ffc42d7bf48fa1326754894b2c30b6831 (diff)
downloadkdepimpi-259a7a50e4f8138cedfc2004fbde3b37cedcc49f.zip
kdepimpi-259a7a50e4f8138cedfc2004fbde3b37cedcc49f.tar.gz
kdepimpi-259a7a50e4f8138cedfc2004fbde3b37cedcc49f.tar.bz2
support for export of categories und supression of empty fields
Diffstat (limited to 'kaddressbook') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/xxport/opie/opie_xxport.cpp16
-rw-r--r--kaddressbook/xxport/opie/opie_xxportE.pro3
2 files changed, 15 insertions, 4 deletions
diff --git a/kaddressbook/xxport/opie/opie_xxport.cpp b/kaddressbook/xxport/opie/opie_xxport.cpp
index d1def18..8ee0725 100644
--- a/kaddressbook/xxport/opie/opie_xxport.cpp
+++ b/kaddressbook/xxport/opie/opie_xxport.cpp
@@ -62,109 +62,119 @@ $Id$
62class OpieXXPortFactory : public XXPortFactory 62class OpieXXPortFactory : public XXPortFactory
63{ 63{
64 public: 64 public:
65 XXPortObject *xxportObject( KABC::AddressBook *ab, QWidget *parent, const char *name ) 65 XXPortObject *xxportObject( KABC::AddressBook *ab, QWidget *parent, const char *name )
66 { 66 {
67 return new OpieXXPort( ab, parent, name ); 67 return new OpieXXPort( ab, parent, name );
68 } 68 }
69}; 69};
70 70
71 71
72extern "C" 72extern "C"
73{ 73{
74 void *init_kaddrbk_opie_xxport() 74 void *init_kaddrbk_opie_xxport()
75 { 75 {
76 return ( new OpieXXPortFactory() ); 76 return ( new OpieXXPortFactory() );
77 } 77 }
78} 78}
79 79
80 80
81OpieXXPort::OpieXXPort( KABC::AddressBook *ab, QWidget *parent, const char *name ) 81OpieXXPort::OpieXXPort( KABC::AddressBook *ab, QWidget *parent, const char *name )
82 : XXPortObject( ab, parent, name ) 82 : XXPortObject( ab, parent, name )
83{ 83{
84 createImportAction( i18n( "Import Opie..." ) ); 84 createImportAction( i18n( "Import Opie..." ) );
85 createExportAction( i18n( "Export Opie..." ) ); 85 createExportAction( i18n( "Export Opie..." ) );
86} 86}
87 87
88bool OpieXXPort::exportContacts( const KABC::AddresseeList &list, const QString &data ) 88bool OpieXXPort::exportContacts( const KABC::AddresseeList &list, const QString &data )
89{ 89{
90 QString name = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml"; 90 QString name = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
91 91
92#ifndef KAB_EMBEDDED 92#ifndef KAB_EMBEDDED
93 QString fileName = KFileDialog::getSaveFileName( name ); 93 QString fileName = KFileDialog::getSaveFileName( name );
94#else //KAB_EMBEDDED 94#else //KAB_EMBEDDED
95 QString fileName = KFileDialog::getSaveFileName( name, i18n("Save file"), parentWidget() ); 95 QString fileName = KFileDialog::getSaveFileName( name, i18n("Save file"), parentWidget() );
96#endif //KAB_EMBEDDED 96#endif //KAB_EMBEDDED
97 97
98 if ( fileName.isEmpty() ) 98 if ( fileName.isEmpty() )
99 return true; 99 return true;
100 100
101 OContactAccessBackend_XML* backend = new OContactAccessBackend_XML( "KA/Pi", fileName ); 101 OContactAccessBackend_XML* backend = new OContactAccessBackend_XML( "KA/Pi", fileName );
102 OContactAccess* access = new OContactAccess("KA/Pi", 0l, backend, false); 102 OContactAccess* access = new OContactAccess("KA/Pi", 0l, backend, false);
103 103
104 if ( !access ) { 104 if ( !access ) {
105 qDebug("Unable to access file() %s", fileName.latin1()); 105 qDebug("Unable to access file() %s", fileName.latin1());
106 addressBook()->error( i18n( "Unable to access file '%1'." ).arg( fileName ) ); 106 addressBook()->error( i18n( "Unable to access file '%1'." ).arg( fileName ) );
107 return false; 107 return false;
108 } 108 }
109 109
110 KABC::OpieConverter mConverter;
111
112 bool res = mConverter.init();
113 if (!res)
114 {
115 QString text( i18n( "Unable to initialize opie converter.<br>Most likely a problem with the category file." ) );
116 qDebug(text);
117 KMessageBox::error( parentWidget(), text );
118 delete access;
119 return false;
120 }
121
110 //Now check if the file has already entries, and ask the user if he wants to delete them first. 122 //Now check if the file has already entries, and ask the user if he wants to delete them first.
111 OContactAccess::List contactList = access->allRecords(); 123 OContactAccess::List contactList = access->allRecords();
112 if (contactList.count() > 0) 124 if (contactList.count() > 0)
113 { 125 {
114 QString text( i18n( "Do you want to remove<br>all existing entries from<br>%1<br>before exporting.?" ) ); 126 QString text( i18n( "Do you want to remove<br>all existing entries from<br>%1<br>before exporting.?" ) );
115 if ( KMessageBox::questionYesNo( parentWidget(), text.arg( fileName ) ) == KMessageBox::Yes ) { 127 if ( KMessageBox::questionYesNo( parentWidget(), text.arg( fileName ) ) == KMessageBox::Yes ) {
116 // Clean the database.. 128 // Clean the database..
117 access->clear(); 129 access->clear();
118 } 130 }
119 } 131 }
120 132
121 KABC::OpieConverter mConverter;
122 bool res;
123 133
124 KABC::Addressee::List::ConstIterator it; 134 KABC::Addressee::List::ConstIterator it;
125 for ( it = list.begin(); it != list.end(); ++it ) { 135 for ( it = list.begin(); it != list.end(); ++it ) {
126 OContact c; 136 OContact c;
127 KABC::Addressee addressee = (*it); 137 KABC::Addressee addressee = (*it);
128 138
129 res = mConverter.addresseeToOpie( *it, c ); 139 res = mConverter.addresseeToOpie( *it, c );
130 if (res == true) 140 if (res == true)
131 { 141 {
132 res = access->add(c); 142 res = access->add(c);
133 if (res == false) 143 if (res == false)
134 qDebug("Unable to append Contact %s", c.fullName().latin1()); 144 qDebug("Unable to append Contact %s", c.fullName().latin1());
135 } 145 }
136 else 146 else
137 { 147 {
138 qDebug("Unable to convert Addressee %s", addressee.formattedName().latin1()); 148 qDebug("Unable to convert Addressee %s", addressee.formattedName().latin1());
139 } 149 }
140 } 150 }
141 151
142 access->save(); 152 access->save();
143 153
144 delete access; 154 delete access;
145//US the deletion of the access object deletes the backend object as well. 155//US the deletion of the access object deletes the backend object as well.
146 156
147 return true; 157 return true;
148} 158}
149 159
150KABC::AddresseeList OpieXXPort::importContacts( const QString& ) const 160KABC::AddresseeList OpieXXPort::importContacts( const QString& ) const
151{ 161{
152 KABC::AddresseeList adrlst; 162 KABC::AddresseeList adrlst;
153 163
154 QString name = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml"; 164 QString name = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
155 165
156#ifndef KAB_EMBEDDED 166#ifndef KAB_EMBEDDED
157 QString fileName = KFileDialog::getOpenFileName( name ); 167 QString fileName = KFileDialog::getOpenFileName( name );
158#else //KAB_EMBEDDED 168#else //KAB_EMBEDDED
159 QString fileName = KFileDialog::getOpenFileName( name, i18n("Load file"), parentWidget() ); 169 QString fileName = KFileDialog::getOpenFileName( name, i18n("Load file"), parentWidget() );
160#endif //KAB_EMBEDDED 170#endif //KAB_EMBEDDED
161 171
162 if ( fileName.isEmpty() ) 172 if ( fileName.isEmpty() )
163 return KABC::AddresseeList(); 173 return KABC::AddresseeList();
164 174
165 OContactAccessBackend_XML* backend = new OContactAccessBackend_XML( "KA/Pi", fileName ); 175 OContactAccessBackend_XML* backend = new OContactAccessBackend_XML( "KA/Pi", fileName );
166 OContactAccess* access = new OContactAccess("KA/Pi", 0l, backend, false); 176 OContactAccess* access = new OContactAccess("KA/Pi", 0l, backend, false);
167 177
168 if ( !access ) { 178 if ( !access ) {
169 qDebug("Unable to access file() %s", fileName.latin1()); 179 qDebug("Unable to access file() %s", fileName.latin1());
170 addressBook()->error( i18n( "Unable to access file '%1'." ).arg( fileName ) ); 180 addressBook()->error( i18n( "Unable to access file '%1'." ).arg( fileName ) );
diff --git a/kaddressbook/xxport/opie/opie_xxportE.pro b/kaddressbook/xxport/opie/opie_xxportE.pro
index a660a48..c373e37 100644
--- a/kaddressbook/xxport/opie/opie_xxportE.pro
+++ b/kaddressbook/xxport/opie/opie_xxportE.pro
@@ -1,27 +1,28 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on 2CONFIG += qt warn_on
3TARGET = kaddrbk_opie_xxport 3TARGET = kaddrbk_opie_xxport
4 4
5OBJECTS_DIR = obj/$(PLATFORM) 5OBJECTS_DIR = obj/$(PLATFORM)
6MOC_DIR = moc/$(PLATFORM) 6MOC_DIR = moc/$(PLATFORM)
7DESTDIR = $(QPEDIR)/lib 7DESTDIR = $(QPEDIR)/lib
8 8
9DEFINES += KAB_EMBEDDED 9DEFINES += KAB_EMBEDDED
10 10
11INCLUDEPATH += ../.. ../../.. ../../../kabc ../../../kabc/converter/opie ../../../microkde ../../../microkde/kdeui ../../../microkde/kdecore ../../../microkde/kio/kfile ../../../qtcompat $(QPEDIR)/include 11INCLUDEPATH += ../.. ../../.. ../../../kabc ../../../kabc/converter/opie ../../../microkde ../../../microkde/kdeui ../../../microkde/kdecore ../../../microkde/kio/kfile ../../../qtcompat $(OPIEDIR)/include
12LIBS += -L$(QPEDIR)/lib 12LIBS += -L$(QPEDIR)/lib
13LIBS += -L$(OPIEDIR)/lib
13LIBS += -lmicrokde 14LIBS += -lmicrokde
14LIBS += -lmicrokabc 15LIBS += -lmicrokabc
15LIBS += -lopie 16LIBS += -lopie
16LIBS += -lqpe 17LIBS += -lqpe
17LIBS += -lqte 18LIBS += -lqte
18LIBS += -lmicrokabc_opieconverter 19LIBS += -lmicrokabc_opieconverter
19 20
20INTERFACES = \ 21INTERFACES = \
21 22
22HEADERS = \ 23HEADERS = \
23 opie_xxport.h \ 24 opie_xxport.h \
24 25
25SOURCES = \ 26SOURCES = \
26 opie_xxport.cpp \ 27 opie_xxport.cpp \
27 28