diff options
Diffstat (limited to 'kmail/kmacctfolder.cpp')
-rw-r--r-- | kmail/kmacctfolder.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/kmail/kmacctfolder.cpp b/kmail/kmacctfolder.cpp new file mode 100644 index 000000000..3d363e143 --- /dev/null +++ b/kmail/kmacctfolder.cpp @@ -0,0 +1,46 @@ +// kmacctfolder.cpp + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include "kmacctfolder.h" + +//----------------------------------------------------------------------------- +KMAccount* KMAcctFolder::account() +{ + if ( acctList() ) + return acctList()->first(); + return 0; +} + +//----------------------------------------------------------------------------- +void KMAcctFolder::addAccount( KMAccount* aAcct ) +{ + if ( !aAcct ) return; + if ( !acctList() ) + setAcctList( new AccountList() ); + + acctList()->append( aAcct ); + aAcct->setFolder( this ); +} + +//----------------------------------------------------------------------------- +void KMAcctFolder::clearAccountList() +{ + if ( acctList() ) + acctList()->clear(); +} + +//----------------------------------------------------------------------------- +void KMAcctFolder::removeAccount( KMAccount* aAcct ) +{ + if ( !aAcct || !acctList() ) return; + + acctList()->remove( aAcct ); + aAcct->setFolder( 0 ); + if ( acctList()->count() <= 0 ) { + delete acctList(); + setAcctList( 0 ); + } +} |