diff --git a/accountmanager.cpp b/accountmanager.cpp index 696c876b6..786ea89de 100644 --- a/accountmanager.cpp +++ b/accountmanager.cpp @@ -260,6 +260,10 @@ void AccountManager::add( KMAccount *account ) { if ( account ) { mAcctList.append( account ); + + KMFolder *folder = account->folder(); // init folder's account list + if ( folder && !folder->hasAccounts() ) account->setFolder( folder, true ); + emit accountAdded( account ); account->installTimer(); } diff --git a/kmfoldertree.cpp b/kmfoldertree.cpp index 8afb27d3a..5a662919e 100644 --- a/kmfoldertree.cpp +++ b/kmfoldertree.cpp @@ -425,6 +425,9 @@ void KMFolderTree::connectSignals() connect(kmkernel->acctMgr(), SIGNAL(accountRemoved(KMAccount*)), this, SLOT(slotAccountRemoved(KMAccount*))); + connect(kmkernel->acctMgr(), SIGNAL(accountAdded(KMAccount*)), + this, SLOT(slotUnhideLocalInbox())); + connect(kmkernel->searchFolderMgr(), SIGNAL(folderRemoved(KMFolder*)), this, SLOT(slotFolderRemoved(KMFolder*)));