-rw-r--r-- | kabc/stdaddressbook.cpp | 25 | ||||
-rw-r--r-- | kabc/stdaddressbook.h | 2 |
2 files changed, 25 insertions, 2 deletions
diff --git a/kabc/stdaddressbook.cpp b/kabc/stdaddressbook.cpp index a14ae20..43d9fde 100644 --- a/kabc/stdaddressbook.cpp +++ b/kabc/stdaddressbook.cpp @@ -51,16 +51,33 @@ QString StdAddressBook::directoryName() { return locateLocal( "data", "kabc/stdvcf" ); } 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 ) { QString appdir = StdAddressBook::setTempAppDir(); // US im am not sure why I have to use the other format here?? @@ -103,29 +120,33 @@ StdAddressBook *StdAddressBook::self( bool onlyFastResources ) mSelf = addressBookDeleter.setObject( new StdAddressBook( onlyFastResources ) ); #else //KAB_EMBEDDED 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 ) save(); } diff --git a/kabc/stdaddressbook.h b/kabc/stdaddressbook.h index cf130b3..3cd6363 100644 --- a/kabc/stdaddressbook.h +++ b/kabc/stdaddressbook.h @@ -65,16 +65,17 @@ class StdAddressBook : public AddressBook */ ~StdAddressBook(); /** 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 */ // FIXME for KDE4 return StdAddressBook and merge with the metod above -zecke @@ -133,16 +134,17 @@ class StdAddressBook : public AddressBook @param uid The uid of the users contact. */ void setWhoAmI( const Addressee &addr ); void init( bool onlyFastResources ); protected: StdAddressBook(); + StdAddressBook( QString ); StdAddressBook( bool onlyFastResources ); private: static QString setTempAppDir(); static StdAddressBook *mSelf; static bool mAutomaticSave; }; |