Fixed QTCREATORBUG-1397.

When adding a new file, refreshing semantic errors in the open editor should
have worked. It now also works for removing existing files.

Done-with: Christian Kamm
This commit is contained in:
Erik Verbruggen
2010-05-18 13:40:35 +02:00
parent 62141475e3
commit ef66bc98e2
13 changed files with 45 additions and 32 deletions

View File

@@ -169,8 +169,15 @@ void FileFilterBaseItem::updateFileList()
newFiles += filesInSubTree(QDir(m_defaultDir), QDir(projectDir), &dirsToBeWatched);
if (newFiles != m_files) {
QSet<QString> addedFiles = newFiles;
QSet<QString> removedFiles = m_files;
QSet<QString> unchanged = newFiles;
unchanged.intersect(m_files);
addedFiles.subtract(unchanged);
removedFiles.subtract(unchanged);
m_files = newFiles;
emit filesChanged();
emit filesChanged(addedFiles, removedFiles);
}
// update watched directories

View File

@@ -45,7 +45,7 @@ signals:
void directoryChanged();
void recursiveChanged();
void pathsChanged();
void filesChanged();
void filesChanged(const QSet<QString> &added, const QSet<QString> &removed);
void filterChanged();
private slots:

View File

@@ -72,7 +72,8 @@ void QmlProjectItem::setSourceDirectory(const QString &directoryPath)
FileFilterBaseItem *fileFilter = qobject_cast<FileFilterBaseItem*>(contentElement);
if (fileFilter) {
fileFilter->setDefaultDirectory(directoryPath);
connect(fileFilter, SIGNAL(filesChanged()), this, SIGNAL(qmlFilesChanged()));
connect(fileFilter, SIGNAL(filesChanged(QSet<QString>, QSet<QString>)),
this, SIGNAL(qmlFilesChanged(QSet<QString>, QSet<QString>)));
}
}

View File

@@ -44,7 +44,7 @@ public:
bool matchesFile(const QString &filePath) const;
signals:
void qmlFilesChanged();
void qmlFilesChanged(const QSet<QString> &, const QSet<QString> &);
void sourceDirectoryChanged();
void importPathsChanged();