summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--kabc/stdaddressbook.cpp25
-rw-r--r--kabc/stdaddressbook.h2
-rw-r--r--kaddressbook/kabcore.cpp2
3 files changed, 26 insertions, 3 deletions
diff --git a/kabc/stdaddressbook.cpp b/kabc/stdaddressbook.cpp
index a14ae20..43d9fde 100644
--- a/kabc/stdaddressbook.cpp
+++ b/kabc/stdaddressbook.cpp
@@ -53,12 +53,29 @@ QString StdAddressBook::directoryName()
}
void StdAddressBook::handleCrash()
{
StdAddressBook::self()->cleanUp();
}
+StdAddressBook *StdAddressBook::selfNoLoad()
+{
+
+ if ( !mSelf )
+ {
+ QString appdir = StdAddressBook::setTempAppDir();
+// US im am not sure why I have to use the other format here??
+#ifdef KAB_EMBEDDED
+ mSelf = addressBookDeleter.setObject( new StdAddressBook ( QString() ) );
+#else //KAB_EMBEDDED
+ addressBookDeleter.setObject( mSelf, new StdAddressBook( QString() ) );
+#endif //KAB_EMBEDDED
+ KStandardDirs::setAppDir( appdir );
+ }
+
+ return mSelf;
+}
StdAddressBook *StdAddressBook::self()
{
if ( !mSelf )
{
@@ -105,25 +122,29 @@ StdAddressBook *StdAddressBook::self( bool onlyFastResources )
addressBookDeleter.setObject( mSelf, new StdAddressBook( onlyFastResources ) );
#endif //KAB_EMBEDDED
KStandardDirs::setAppDir( appdir );
}
return mSelf;
}
+StdAddressBook::StdAddressBook( QString )
+ : AddressBook( "kabcrc" )
+{
+
+}
StdAddressBook::StdAddressBook()
: AddressBook( "kabcrc" )
{
- //init( false );
+ init( false );
}
StdAddressBook::StdAddressBook( bool onlyFastResources )
: AddressBook( "kabcrc" )
{
- if ( onlyFastResources )
init( onlyFastResources );
}
StdAddressBook::~StdAddressBook()
{
if ( mAutomaticSave )
diff --git a/kabc/stdaddressbook.h b/kabc/stdaddressbook.h
index cf130b3..3cd6363 100644
--- a/kabc/stdaddressbook.h
+++ b/kabc/stdaddressbook.h
@@ -67,12 +67,13 @@ class StdAddressBook : public AddressBook
/**
Return the standard addressbook object. It also loads slow resources.
It is the same as self(false); .
*/
static StdAddressBook *self();
+ static StdAddressBook *selfNoLoad();
/**
This is the same as above, but with specified
behaviour of resource loading.
@param onlyFastResource Only resources marked as 'fast' should be loaded
@@ -135,12 +136,13 @@ class StdAddressBook : public AddressBook
*/
void setWhoAmI( const Addressee &addr );
void init( bool onlyFastResources );
protected:
StdAddressBook();
+ StdAddressBook( QString );
StdAddressBook( bool onlyFastResources );
private:
static QString setTempAppDir();
static StdAddressBook *mSelf;
diff --git a/kaddressbook/kabcore.cpp b/kaddressbook/kabcore.cpp
index c670b1f..77321aa 100644
--- a/kaddressbook/kabcore.cpp
+++ b/kaddressbook/kabcore.cpp
@@ -300,13 +300,13 @@ KABCore::KABCore( KXMLGUIClient *client, bool readWrite, QWidget *parent, const
// syncManager = new KSyncManager((QWidget*)this, (KSyncInterface*)this, KSyncManager::KAPI, KABPrefs::instance(), syncMenu);
// syncManager->setBlockSave(false);
mIncSearchWidget = 0;
mMiniSplitter = 0;
mExtensionBarSplitter = 0;
mIsPart = !parent->inherits( "KAddressBookMain" );
- mAddressBook = KABC::StdAddressBook::self();
+ mAddressBook = KABC::StdAddressBook::selfNoLoad();
KABC::StdAddressBook::setAutomaticSave( false );
#ifndef KAB_EMBEDDED
mAddressBook->setErrorHandler( new KABC::GUIErrorHandler );
#endif //KAB_EMBEDDED