From 481d7cd6db679e97712b9e707b526c23767de9fa Mon Sep 17 00:00:00 2001 From: Kai Koehne <kai.koehne@nokia.com> Date: Mon, 22 Feb 2010 13:45:35 +0100 Subject: [PATCH] QmlProject files: Make "paths" property an array Instead of letting the list of files being a (comma separated) string it's now a full JavaScript array. E.g. paths: ["file1", "file2"] This unifies it with e.g. the libraryPaths property --- .../qmlprojectmanager/fileformat/filefilteritems.cpp | 12 ++++-------- .../qmlprojectmanager/fileformat/filefilteritems.h | 10 +++++----- .../qmlprojectmanager/fileformat/tst_fileformat.cpp | 4 ++-- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp index a1f4ff9e285..43cb7d252d6 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp @@ -69,18 +69,14 @@ void FileFilterBaseItem::setRecursive(bool recursive) updateFileList(); } -QString FileFilterBaseItem::pathsProperty() const +QStringList FileFilterBaseItem::pathsProperty() const { - return QStringList(m_explicitFiles.toList()).join(","); + return m_explicitFiles; } -void FileFilterBaseItem::setPathsProperty(const QString &path) +void FileFilterBaseItem::setPathsProperty(const QStringList &path) { - // we support listening paths both in an array, and in one string - m_explicitFiles.clear(); - foreach (const QString &subpath, path.split(QLatin1Char(','), QString::SkipEmptyParts)) { - m_explicitFiles += subpath.trimmed(); - } + m_explicitFiles = path; updateFileList(); } diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h index 0a1e53ef5ee..24744b72426 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h @@ -16,7 +16,7 @@ class FileFilterBaseItem : public QmlProjectContentItem { Q_PROPERTY(QString directory READ directory WRITE setDirectory NOTIFY directoryChanged) Q_PROPERTY(bool recursive READ recursive WRITE setRecursive NOTIFY recursiveChanged) - Q_PROPERTY(QString paths READ pathsProperty WRITE setPathsProperty NOTIFY pathsPropertyChanged) + Q_PROPERTY(QStringList paths READ pathsProperty WRITE setPathsProperty NOTIFY pathsPropertyChanged) Q_PROPERTY(QStringList files READ files NOTIFY filesChanged DESIGNABLE false) @@ -34,8 +34,8 @@ public: bool recursive() const; void setRecursive(bool recursive); - QString pathsProperty() const; - void setPathsProperty(const QString &path); + QStringList pathsProperty() const; + void setPathsProperty(const QStringList &paths); virtual QStringList files() const; bool matchesFile(const QString &filePath) const; @@ -43,7 +43,7 @@ public: signals: void directoryChanged(); void recursiveChanged(); - void pathsPropertyChanged(); + void pathsChanged(); void filesChanged(); void filterChanged(); @@ -62,7 +62,7 @@ private: QString m_filter; QList<QRegExp> m_regExpList; bool m_recursive; - QSet<QString> m_explicitFiles; + QStringList m_explicitFiles; QFileSystemWatcher m_fsWatcher; diff --git a/tests/auto/qml/qmlprojectmanager/fileformat/tst_fileformat.cpp b/tests/auto/qml/qmlprojectmanager/fileformat/tst_fileformat.cpp index d32b731078a..385a7e696ea 100644 --- a/tests/auto/qml/qmlprojectmanager/fileformat/tst_fileformat.cpp +++ b/tests/auto/qml/qmlprojectmanager/fileformat/tst_fileformat.cpp @@ -153,8 +153,8 @@ void TestProject::testFileFilter() "import QmlProject 1.0\n" "Project {\n" " QmlFiles {\n" - " paths: \"file1.qml,\n" - "file2.qml\"\n" + " paths: [ \"file1.qml\",\n" + "\"file2.qml\" ]\n" " }\n" "}\n"); -- GitLab