Merge remote branch 'origin/2.1'

This commit is contained in:
Friedemann Kleint
2010-10-27 11:05:31 +02:00
40 changed files with 26000 additions and 7598 deletions

View File

@@ -588,6 +588,9 @@ void Qt4PriFileNode::update(ProFile *includeFileExact, ProFileReader *readerExac
m_recursiveEnumerateFiles += recursiveEnumerate(folder);
}
QMap<FileType, QSet<QString> > foundFiles;
// update files
for (int i = 0; i < fileTypes.size(); ++i) {
FileType type = fileTypes.at(i).type;
@@ -604,6 +607,13 @@ void Qt4PriFileNode::update(ProFile *includeFileExact, ProFileReader *readerExac
}
foundFiles[type] = newFilePaths;
m_recursiveEnumerateFiles.subtract(newFilePaths);
}
for (int i = 0; i < fileTypes.size(); ++i) {
FileType type = fileTypes.at(i).type;
QSet<QString> newFilePaths = foundFiles[type];
newFilePaths += filterFiles(type, m_recursiveEnumerateFiles);
// We only need to save this information if
@@ -644,15 +654,22 @@ void Qt4PriFileNode::watchFolders(const QSet<QString> &folders)
m_watchedFolders = folders;
}
void Qt4PriFileNode::folderChanged(const QString &)
void Qt4PriFileNode::folderChanged(const QString &folder)
{
//qDebug()<<"########## Qt4PriFileNode::folderChanged";
// So, we need to figure out which files changed.
QString changedFolder = folder;
if (!changedFolder.endsWith(QLatin1Char('/')))
changedFolder.append(QLatin1Char('/'));
// Collect all the files
QSet<QString> newFiles;
foreach (const QString &folder, m_watchedFolders) {
newFiles += recursiveEnumerate(folder);
newFiles += recursiveEnumerate(changedFolder);
foreach (const QString &file, m_recursiveEnumerateFiles) {
if (!file.startsWith(changedFolder))
newFiles.insert(file);
}
QSet<QString> addedFiles = newFiles;