summaryrefslogtreecommitdiffabout
path: root/kaddressbook/xxport/qtopia
Unidiff
Diffstat (limited to 'kaddressbook/xxport/qtopia') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/xxport/qtopia/qtopia_xxport.cpp200
-rw-r--r--kaddressbook/xxport/qtopia/qtopia_xxport.h51
2 files changed, 0 insertions, 251 deletions
diff --git a/kaddressbook/xxport/qtopia/qtopia_xxport.cpp b/kaddressbook/xxport/qtopia/qtopia_xxport.cpp
deleted file mode 100644
index c1ed03e..0000000
--- a/kaddressbook/xxport/qtopia/qtopia_xxport.cpp
+++ b/dev/null
@@ -1,200 +0,0 @@
1/*
2 This file is part of KAddressbook.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution.
22*/
23
24/*
25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk
27
28$Id$
29*/
30
31#include <qdir.h>
32
33#include <kfiledialog.h>
34#include <kmessagebox.h>
35
36#include <qpe/pim/addressbookaccess.h>
37
38#include "stdaddressbook.h"
39
40/*US
41#include <qfile.h>
42#include <qtextstream.h>
43
44#include <kabc/vcardconverter.h>
45#ifndef KAB_EMBEDDED
46#include <kio/netaccess.h>
47#endif //KAB_EMBEDDED
48
49#include <klocale.h>
50#include <kmessagebox.h>
51#include <ktempfile.h>
52#include <kurl.h>
53*/
54
55#include "xxportmanager.h"
56#include "qtopiaconverter.h"
57
58#include "qtopia_xxport.h"
59
60
61class QtopiaXXPortFactory : public XXPortFactory
62{
63 public:
64 XXPortObject *xxportObject( KABC::AddressBook *ab, QWidget *parent, const char *name )
65 {
66 return new QtopiaXXPort( ab, parent, name );
67 }
68};
69
70
71extern "C"
72{
73 void *init_microkaddrbk_qtopia_xxport()
74 {
75 return ( new QtopiaXXPortFactory() );
76 }
77}
78
79
80QtopiaXXPort::QtopiaXXPort( KABC::AddressBook *ab, QWidget *parent, const char *name )
81 : XXPortObject( ab, parent, name )
82{
83 createImportAction( i18n( "Import Qtopia..." ) );
84 createExportAction( i18n( "Export Qtopia..." ) );
85}
86
87bool QtopiaXXPort::exportContacts( const KABC::AddresseeList &list, const QString &data )
88{
89 // we can not choose the filename. Therefore use the default to display
90 QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
91
92 AddressBookAccess* access = new AddressBookAccess();
93
94 if ( !access ) {
95 QString text( i18n( "Unable to access file '%1'." ).arg( fileName ) );
96 qDebug(text.latin1());
97 KMessageBox::error( parentWidget(), text );
98 addressBook()->error( text );
99 return false;
100 }
101
102 KABC::QtopiaConverter mConverter;
103
104 bool res = mConverter.init();
105 if (!res)
106 {
107 QString text( i18n( "Unable to initialize qtopia converter.<br>Most likely a problem with the category file." ) );
108 qDebug(text);
109 KMessageBox::error( parentWidget(), text );
110 delete access;
111 return false;
112 }
113
114 //Now check if the file has already entries, and ask the user if he wants to delete them first.
115 { //create a new scope
116 AddressBookIterator it(*access);
117 const PimContact* firstcontact = it.toFirst();
118 if (firstcontact)
119 {
120 QString text( i18n( "Do you want to remove<br>all existing entries from<br>%1<br>before exporting.?" ) );
121 if ( KMessageBox::questionYesNo( parentWidget(), text.arg( fileName ) ) == KMessageBox::Yes ) {
122 // Clean the database..
123
124 AddressBookIterator it2(*access);
125 for (it2.toFirst(); it2.current(); ++it2) {
126 access->removeContact(*it2.current());
127 }
128 }
129 }
130 }
131
132 KABC::Addressee::List::ConstIterator it;
133 for ( it = list.begin(); it != list.end(); ++it ) {
134 PimContact c;
135
136 res = mConverter.addresseeToQtopia( *it, c );
137 if (res == true)
138 {
139 access->addContact(c);
140 }
141 }
142
143 delete access;
144
145 return true;
146}
147
148KABC::AddresseeList QtopiaXXPort::importContacts( const QString& ) const
149{
150 KABC::AddresseeList adrlst;
151
152 QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml";
153
154 AddressBookAccess* access = new AddressBookAccess();
155
156 if ( !access ) {
157 QString text( i18n( "Unable to access file '%1'." ).arg( fileName ) );
158 qDebug(text.latin1());
159 addressBook()->error( text );
160 KMessageBox::error( parentWidget(), text );
161 return KABC::AddresseeList();
162 }
163
164 KABC::QtopiaConverter mConverter;
165
166 bool res = mConverter.init();
167 if (!res)
168 {
169 QString text( i18n( "Unable to initialize qtopia converter.<br>Most likely a problem with the category file." ) );
170 qDebug(text);
171 KMessageBox::error( parentWidget(), text );
172 delete access;
173 return KABC::AddresseeList();
174 }
175
176
177
178 { //create a new scope
179 AddressBookIterator it(*access);
180
181 for (it.toFirst(); it.current(); ++it) {
182 const PimContact*contact = it.current();
183
184 KABC::Addressee addressee;
185
186 res = mConverter.qtopiaToAddressee( (*contact), addressee );
187
188 if ( !addressee.isEmpty() && res )
189 {
190 adrlst.append( addressee );
191 }
192 }
193 }
194
195 delete access;
196//US the deletion of the access object deletes the backend object as well.
197
198 return adrlst;
199
200}
diff --git a/kaddressbook/xxport/qtopia/qtopia_xxport.h b/kaddressbook/xxport/qtopia/qtopia_xxport.h
deleted file mode 100644
index 689afd2..0000000
--- a/kaddressbook/xxport/qtopia/qtopia_xxport.h
+++ b/dev/null
@@ -1,51 +0,0 @@
1/*
2 This file is part of KAddressbook.
3 Copyright (c) 2003 Tobias Koenig <tokoe@kde.org>
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution.
22*/
23
24/*
25Enhanced Version of the file for platform independent KDE tools.
26Copyright (c) 2004 Ulf Schenk
27
28$Id$
29*/
30
31#ifndef QTOPIA_XXPORT_H
32#define QTOPIA_XXPORT_H
33
34#include <xxportobject.h>
35
36class QtopiaXXPort : public XXPortObject
37{
38 Q_OBJECT
39
40 public:
41 QtopiaXXPort( KABC::AddressBook *ab, QWidget *parent, const char *name = 0 );
42
43 QString identifier() const { return "qtopia"; }
44
45 public slots:
46 bool exportContacts( const KABC::AddresseeList &list, const QString &data );
47 KABC::AddresseeList importContacts( const QString &data ) const;
48
49};
50
51#endif