Merged revisions 973473 via svnmerge from

svn+ssh://tmcguire@svn.kde.org/home/kde/branches/kdepim/enterprise/kdepim

........
  r973473 | tmcguire | 2009-05-27 12:13:11 +0200 (Wed, 27 May 2009) | 3 lines
  
  Only create missing folders in case of dimap.
  Might fix kolab/issue3636
........

svn path=/branches/kdepim/enterprise4/kdepim/; revision=973507
wilder-work
Thomas McGuire 17 years ago
parent d45f56d78f
commit 026054ad1c
  1. 30
      kmfolderdir.cpp

@ -330,24 +330,26 @@ bool KMFolderDir::reload(void)
// Check if the are any dirs without an associated folder. This can happen if the user messes
// with the on-disk folder structure, see kolab issue 2972. In that case, we don't want to loose
// the subfolders as well, so we recreate the folder so the folder/dir hierachy is OK again.
foreach ( const QString &dirName, dirsWithoutFolder ) {
if ( type() == KMDImapDir ) {
foreach ( const QString &dirName, dirsWithoutFolder ) {
// .foo.directory => foo
QString folderName = dirName;
int right = folderName.indexOf( ".directory" );
int left = folderName.indexOf( "." );
Q_ASSERT( left != -1 && right != -1 );
folderName = folderName.mid( left + 1, right - 1 );
// .foo.directory => foo
QString folderName = dirName;
int right = folderName.indexOf( ".directory" );
int left = folderName.indexOf( "." );
Q_ASSERT( left != -1 && right != -1 );
folderName = folderName.mid( left + 1, right - 1 );
kWarning() << "Found dir without associated folder:" << dirName << ", recreating the folder"
<< folderName;
kWarning() << "Found dir without associated folder:" << dirName << ", recreating the folder"
<< folderName;
// Recreate the missing folder
KMFolder *folder = new KMFolder( this, folderName, KMFolderTypeCachedImap );
append( folder );
folderList.append( folder );
// Recreate the missing folder
KMFolder *folder = new KMFolder( this, folderName, KMFolderTypeCachedImap );
append( folder );
folderList.append( folder );
addDirToParent( dirName, folder );
addDirToParent( dirName, folder );
}
}
return true;
}

Loading…
Cancel
Save