summaryrefslogtreecommitdiffstats
path: root/kmail/kmacctfolder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kmail/kmacctfolder.cpp')
-rw-r--r--kmail/kmacctfolder.cpp46
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 );
+ }
+}