summaryrefslogtreecommitdiffabout
path: root/kaddressbook/xxport/sharpdtm/sharpdtm_xxport.cpp
Unidiff
Diffstat (limited to 'kaddressbook/xxport/sharpdtm/sharpdtm_xxport.cpp') (more/less context) (show whitespace changes)
-rw-r--r--kaddressbook/xxport/sharpdtm/sharpdtm_xxport.cpp199
1 files changed, 0 insertions, 199 deletions
diff --git a/kaddressbook/xxport/sharpdtm/sharpdtm_xxport.cpp b/kaddressbook/xxport/sharpdtm/sharpdtm_xxport.cpp
deleted file mode 100644
index 8593814..0000000
--- a/kaddressbook/xxport/sharpdtm/sharpdtm_xxport.cpp
+++ b/dev/null
@@ -1,199 +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 <sl/slzdb.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 "sharpdtmconverter.h"
57
58#include "sharpdtm_xxport.h"
59
60
61class SharpDTMXXPortFactory : public XXPortFactory
62{
63 public:
64 XXPortObject *xxportObject( KABC::AddressBook *ab, QWidget *parent, const char *name )
65 {
66 return new SharpDTMXXPort( ab, parent, name );
67 }
68};
69
70
71extern "C"
72{
73 void *init_microkaddrbk_sharpdtm_xxport()
74 {
75 return ( new SharpDTMXXPortFactory() );
76 }
77}
78
79
80SharpDTMXXPort::SharpDTMXXPort( KABC::AddressBook *ab, QWidget *parent, const char *name )
81 : XXPortObject( ab, parent, name )
82{
83 createImportAction( i18n( "Import Sharp..." ) );
84 createExportAction( i18n( "Export Sharp..." ) );
85}
86
87bool SharpDTMXXPort::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 = SlZDataBase::addressbookFileName();
91
92 SlZDataBase* access = new SlZDataBase(fileName,
93 SlZDataBase::addressbookItems());
94
95 if ( !access ) {
96 QString text( i18n( "Unable to access file '%1'." ).arg( fileName ) );
97 qDebug(text.latin1());
98 KMessageBox::error( parentWidget(), text );
99 addressBook()->error( text );
100 return false;
101 }
102
103 KABC::SharpDTMConverter mConverter;
104
105 bool res = mConverter.init();
106 if (!res)
107 {
108 QString text( i18n( "Unable to initialize sharpdtm converter.<br>Most likely a problem with the category file." ) );
109 qDebug(text);
110 KMessageBox::error( parentWidget(), text );
111 delete access;
112 return false;
113 }
114
115 //Now check if the file has already entries, and ask the user if he wants to delete them first.
116 if (access->count() > 0)
117 {
118 QString text( i18n( "Do you want to remove<br>all existing entries from<br>%1<br>before exporting.?" ) );
119 if ( KMessageBox::questionYesNo( parentWidget(), text.arg( fileName ) ) == KMessageBox::Yes ) {
120 // Clean the database..
121 access->deleteCard(0, SlZDataBase::AllCard );
122 }
123 }
124
125 KABC::Addressee::List::ConstIterator it;
126 for ( it = list.begin(); it != list.end(); ++it ) {
127 CardId c;
128 res = access->editNewCard();
129
130 if (res == true)
131 {
132 res = mConverter.addresseeToSharp( *it, access, c );
133
134 if (res == true)
135 access->finishEditCard(&c);
136 else
137 access->cancelEditCard();
138 }
139 }
140
141 delete access;
142
143 return true;
144}
145
146KABC::AddresseeList SharpDTMXXPort::importContacts( const QString& ) const
147{
148 KABC::AddresseeList adrlst;
149
150 QString fileName = SlZDataBase::addressbookFileName();
151
152 // the last parameter in the SlZDataBase constructor means "readonly"
153 SlZDataBase* access = new SlZDataBase(fileName,
154 SlZDataBase::addressbookItems(), NULL, true);
155
156
157 if ( !access ) {
158 QString text( i18n( "Unable to access file '%1'." ).arg( fileName ) );
159 qDebug(text.latin1());
160 addressBook()->error( text );
161 KMessageBox::error( parentWidget(), text );
162 return KABC::AddresseeList();
163 }
164
165 KABC::SharpDTMConverter mConverter;
166
167 bool res = mConverter.init();
168 if (!res)
169 {
170 QString text( i18n( "Unable to initialize sharp converter.<br>Most likely a problem with the category file." ) );
171 qDebug(text);
172 KMessageBox::error( parentWidget(), text );
173 delete access;
174 return KABC::AddresseeList();
175 }
176
177
178 { //create a new scope
179 CardId id;
180
181 for (bool res=access->first(); res == true; res=access->next()) {
182 id = access->cardId();
183
184 KABC::Addressee addressee;
185
186 res = mConverter.sharpToAddressee( id, access, addressee );
187
188 if ( !addressee.isEmpty() && res )
189 {
190 adrlst.append( addressee );
191 }
192 }
193 }
194
195 delete access;
196
197 return adrlst;
198
199}