Let QmlProjectItem return always absolute paths

We're converting the path to absolute ones in QmlProject anyway ...
This commit is contained in:
Kai Koehne
2010-01-19 16:56:03 +01:00
parent 20801bee30
commit 2181a93a1b
3 changed files with 24 additions and 18 deletions

View File

@@ -93,12 +93,12 @@ void FileFilterBaseItem::updateFileList()
if (newFiles != m_files) { if (newFiles != m_files) {
// update watched files // update watched files
foreach (const QString &file, m_files - newFiles) { const QSet<QString> unwatchFiles = QSet<QString>(m_files - newFiles);
m_fsWatcher.removePath(QDir(projectDir).absoluteFilePath(file)); const QSet<QString> watchFiles = QSet<QString>(newFiles - m_files);
} if (!unwatchFiles.isEmpty())
foreach (const QString &file, newFiles - m_files) { m_fsWatcher.removePaths(unwatchFiles.toList());
m_fsWatcher.addPath(QDir(projectDir).absoluteFilePath(file)); if (!watchFiles.isEmpty())
} m_fsWatcher.addPaths(QSet<QString>(newFiles - m_files).toList());
m_files = newFiles; m_files = newFiles;
@@ -106,13 +106,13 @@ void FileFilterBaseItem::updateFileList()
} }
// update watched directories // update watched directories
QSet<QString> watchedDirectories = m_fsWatcher.directories().toSet(); const QSet<QString> watchedDirectories = m_fsWatcher.directories().toSet();
foreach (const QString &dir, watchedDirectories - dirsToBeWatched) { const QSet<QString> unwatchDirs = watchedDirectories - dirsToBeWatched;
m_fsWatcher.removePath(QDir(projectDir).absoluteFilePath(dir)); const QSet<QString> watchDirs = dirsToBeWatched - watchedDirectories;
} if (!unwatchDirs.isEmpty())
foreach (const QString &dir, dirsToBeWatched - watchedDirectories) { m_fsWatcher.removePaths(unwatchDirs.toList());
m_fsWatcher.addPath(QDir(projectDir).absoluteFilePath(dir)); if (!watchDirs.isEmpty())
} m_fsWatcher.addPaths(watchDirs.toList());
} }
QSet<QString> FileFilterBaseItem::filesInSubTree(const QDir &rootDir, const QDir &dir, QSet<QString> *parsedDirs) QSet<QString> FileFilterBaseItem::filesInSubTree(const QDir &rootDir, const QDir &dir, QSet<QString> *parsedDirs)
@@ -124,7 +124,7 @@ QSet<QString> FileFilterBaseItem::filesInSubTree(const QDir &rootDir, const QDir
foreach (const QFileInfo &file, dir.entryInfoList(QDir::Files)) { foreach (const QFileInfo &file, dir.entryInfoList(QDir::Files)) {
if (m_regex.exactMatch(file.fileName())) { if (m_regex.exactMatch(file.fileName())) {
fileSet.insert(rootDir.relativeFilePath(file.absoluteFilePath())); fileSet.insert(file.absoluteFilePath());
} }
} }

View File

@@ -78,6 +78,7 @@ void QmlProjectItem::setSourceDirectory(const QString &directoryPath)
emit sourceDirectoryChanged(); emit sourceDirectoryChanged();
} }
/* Returns list of absolute paths */
QStringList QmlProjectItem::qmlFiles() const QStringList QmlProjectItem::qmlFiles() const
{ {
const Q_D(QmlProjectItem); const Q_D(QmlProjectItem);

View File

@@ -49,7 +49,8 @@ void TestProject::testQmlFileFilter()
project->setSourceDirectory(testDataDir); project->setSourceDirectory(testDataDir);
QStringList expectedFiles(QStringList() << "file1.qml" << "file2.qml"); QStringList expectedFiles(QStringList() << testDataDir + "/file1.qml"
<< testDataDir + "/file2.qml");
QCOMPARE(project->qmlFiles().toSet(), expectedFiles.toSet()); QCOMPARE(project->qmlFiles().toSet(), expectedFiles.toSet());
} }
@@ -75,7 +76,9 @@ void TestProject::testQmlFileFilter()
project->setSourceDirectory(testDataDir); project->setSourceDirectory(testDataDir);
QStringList expectedFiles(QStringList() << "file1.qml" << "file2.qml" << "subdir/file3.qml"); QStringList expectedFiles(QStringList() << testDataDir + "/file1.qml"
<< testDataDir + "/file2.qml"
<< testDataDir + "/subdir/file3.qml");
QCOMPARE(project->qmlFiles().toSet(), expectedFiles.toSet()); QCOMPARE(project->qmlFiles().toSet(), expectedFiles.toSet());
} }
@@ -101,7 +104,7 @@ void TestProject::testQmlFileFilter()
project->setSourceDirectory(testDataDir); project->setSourceDirectory(testDataDir);
QStringList expectedFiles(QStringList() << "subdir/file3.qml"); QStringList expectedFiles(QStringList() << testDataDir + "/subdir/file3.qml");
QCOMPARE(project->qmlFiles().toSet(), expectedFiles.toSet()); QCOMPARE(project->qmlFiles().toSet(), expectedFiles.toSet());
} }
@@ -130,7 +133,9 @@ void TestProject::testQmlFileFilter()
project->setSourceDirectory(testDataDir); project->setSourceDirectory(testDataDir);
QStringList expectedFiles(QStringList() << "file1.qml" << "file2.qml" << "subdir/file3.qml"); QStringList expectedFiles(QStringList() << testDataDir + "/file1.qml"
<< testDataDir + "/file2.qml"
<< testDataDir + "/subdir/file3.qml");
QCOMPARE(project->qmlFiles().size(), 3); QCOMPARE(project->qmlFiles().size(), 3);
QCOMPARE(project->qmlFiles().toSet(), expectedFiles.toSet()); QCOMPARE(project->qmlFiles().toSet(), expectedFiles.toSet());
} }