kde2_xxport.cpp
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>Couldn't 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"
This file is part of the documentation for kaddressbook Library Version 3.2.2.