summaryrefslogtreecommitdiffabout
path: root/kaddressbook/xxportobject.cpp
Side-by-side diff
Diffstat (limited to 'kaddressbook/xxportobject.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--kaddressbook/xxportobject.cpp85
1 files changed, 44 insertions, 41 deletions
diff --git a/kaddressbook/xxportobject.cpp b/kaddressbook/xxportobject.cpp
index 67e8406..bd9d986 100644
--- a/kaddressbook/xxportobject.cpp
+++ b/kaddressbook/xxportobject.cpp
@@ -30,4 +30,5 @@ $Id$
#include <qmap.h>
+#include <qfile.h>
#include <qsignalmapper.h>
@@ -177,48 +178,50 @@ bool XXPortResourceObject::_exportContacts( const KABC::AddresseeList &list, con
{
//create new resource
- KABC::Resource* mResource = (KABC::Resource*)(mFactory->resource( this->identifier(), 0 ));
-
- if (mResource == 0)
- return false;
-
- if (fileName != QString::null)
- mResource->setFileName( fileName );
-
-
- KABC::TmpAddressBook tmpAB;
-
- bool res = tmpAB.addResource( mResource );
- if (res == false)
- {
- delete mResource;
- return false;
- }
-
- res = tmpAB.load();
- if (res == false)
- {
- //removeResource deletes also the resource object, if the linkcount is 0
- tmpAB.removeResource( mResource );
- return false;
- }
-
-
- //Now check if the file has already entries, and ask the user if he wants to delete them first.
- if (tmpAB.begin() != tmpAB.end())
- {
- QString text( i18n( "Do you want to remove<br>all existing entries from<br>%1<br>before exporting.?" ) );
- if ( KMessageBox::questionYesNo( parentWidget(), text.arg( fileName ) ) == KMessageBox::Yes ) {
- // Clean the database..
- tmpAB.clear();
+ KABC::Resource* mResource = (KABC::Resource*)(mFactory->resource( this->identifier(), 0 ));
+
+ if (mResource == 0)
+ return false;
+
+ if (fileName != QString::null) {
+ mResource->setFileName( fileName );
+ } else
+ return false;
+
+
+ KABC::TmpAddressBook tmpAB;
+
+ bool res = tmpAB.addResource( mResource );
+ if (res == false)
+ {
+ delete mResource;
+ return false;
+ }
+ if ( QFile::exists ( fileName ) ) {
+ res = tmpAB.load();
+ if (res == false)
+ {
+ //removeResource deletes also the resource object, if the linkcount is 0
+ tmpAB.removeResource( mResource );
+ return false;
+ }
+
+
+ //Now check if the file has already entries, and ask the user if he wants to delete them first.
+ if (tmpAB.begin() != tmpAB.end())
+ {
+ QString text( i18n( "Do you want to remove<br>all existing entries from<br>%1<br>before exporting.?" ) );
+ if ( KMessageBox::questionYesNo( parentWidget(), text.arg( fileName ) ) == KMessageBox::Yes ) {
+ // Clean the database..
+ tmpAB.clear();
+ }
+ }
}
- }
+ KABC::Addressee::List::ConstIterator it;
+ for ( it = list.begin(); it != list.end(); ++it ) {
+ tmpAB.insertAddressee(*it);
+ }
- KABC::Addressee::List::ConstIterator it;
- for ( it = list.begin(); it != list.end(); ++it ) {
- tmpAB.insertAddressee(*it);
- }
-
- KABC::Ticket * ticket = tmpAB.requestSaveTicket(mResource);
+ KABC::Ticket * ticket = tmpAB.requestSaveTicket(mResource);
res = false;