00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#include <qfile.h>
00025
00026
#include <kdebug.h>
00027
#include <kfiledialog.h>
00028
#include <kio/netaccess.h>
00029
#include <klocale.h>
00030
#include <kmessagebox.h>
00031
#include <kprocess.h>
00032
#include <kstandarddirs.h>
00033
#include <ktempfile.h>
00034
#include <kurl.h>
00035
00036
#include "xxportmanager.h"
00037
00038
#include "kde2_xxport.h"
00039
00040
class KDE2XXPortFactory :
public KAB::XXPortFactory
00041 {
00042
public:
00043 KAB::XXPort *xxportObject( KABC::AddressBook *ab,
QWidget *parent,
const char *name )
00044 {
00045
return new KDE2XXPort( ab, parent, name );
00046 }
00047 };
00048
00049
extern "C"
00050 {
00051
void *init_libkaddrbk_kde2_xxport()
00052 {
00053
return (
new KDE2XXPortFactory() );
00054 }
00055 }
00056
00057
00058 KDE2XXPort::KDE2XXPort( KABC::AddressBook *ab,
QWidget *parent,
const char *name )
00059 : KAB::XXPort( ab, parent, name )
00060 {
00061 createImportAction( i18n(
"Import KDE 2 Addressbook..." ) );
00062 }
00063
00064 KABC::AddresseeList KDE2XXPort::importContacts(
const QString& )
const
00065
{
00066
QString fileName = locateLocal(
"data",
"kabc/std.vcf" );
00067
if ( !QFile::exists( fileName ) ) {
00068 KMessageBox::sorry( parentWidget(), i18n(
"<qt>Could not find a KDE 2 address book <b>%1</b>.</qt>" ).arg( fileName ) );
00069
return KABC::AddresseeList();
00070 }
00071
00072
int result = KMessageBox::questionYesNoCancel( parentWidget(),
00073 i18n(
"Override previously imported entries?" ),
00074 i18n(
"Import KDE 2 Addressbook" ) );
00075
00076
if ( !result )
return KABC::AddresseeList();
00077
00078 KProcess proc;
00079
00080
if ( result == KMessageBox::Yes ) {
00081 proc <<
"kab2kabc";
00082 proc <<
"--override";
00083 }
else if ( result == KMessageBox::No )
00084 proc <<
"kab2kabc";
00085
else
00086 kdDebug(5720) <<
"KAddressBook::importKDE2(): Unknow return value." << endl;
00087
00088 proc.start( KProcess::Block );
00089
00090 addressBook()->load();
00091
00092
return KABC::AddresseeList();
00093 }
00094
00095
#include "kde2_xxport.moc"