foreach (const auto& folderAlias, settings.childGroups()) {
FolderDefinition folderDefinition;
if (FolderDefinition::load(settings, folderAlias, &folderDefinition)) {
- Folder* f = addFolderInternal(std::move(folderDefinition), account.data());
+ Folder* f = addFolderInternal(std::move(folderDefinition), account.data(), false);
if (f) {
f->journalDb()->setMayMigrateDbLocation(mayMigrateOldDb);
scheduleFolder(f);
folderDefinition.paused = paused;
folderDefinition.ignoreHiddenFiles = ignoreHiddenFiles();
- folder = addFolderInternal(folderDefinition, accountState);
+ folder = addFolderInternal(folderDefinition, accountState, false);
if (folder) {
QStringList blackList = settings.value( QLatin1String("blackList")).toStringList();
if (!blackList.empty()) {
Folder* FolderMan::addFolder(AccountState* accountState, const FolderDefinition& folderDefinition)
{
- auto folder = addFolderInternal(folderDefinition, accountState);
+ auto folder = addFolderInternal(folderDefinition, accountState, true);
if(folder) {
folder->saveToSettings();
return folder;
}
-Folder* FolderMan::addFolderInternal(FolderDefinition folderDefinition, AccountState* accountState)
+Folder* FolderMan::addFolderInternal(FolderDefinition folderDefinition,
+ AccountState* accountState,
+ bool wipeJournal)
{
auto alias = folderDefinition.alias;
int count = 0;
auto folder = new Folder(folderDefinition, accountState, this );
- if (!ensureJournalGone(folder->journalDb()->databaseFilePath())) {
- delete folder;
- return 0;
+ if (wipeJournal) {
+ if (!ensureJournalGone(folder->journalDb()->databaseFilePath())) {
+ delete folder;
+ return 0;
+ }
}
qDebug() << "Adding folder to Folder Map " << folder << folder->alias();
/** Adds a new folder, does not add it to the account settings and
* does not set an account on the new folder.
*/
- Folder* addFolderInternal(FolderDefinition folderDefinition, AccountState* accountState);
+ Folder* addFolderInternal(FolderDefinition folderDefinition,
+ AccountState* accountState,
+ bool wipeJournal);
/* unloads a folder object, does not delete it */
void unloadFolder( Folder * );