diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.cpp b/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.cpp index a0670ea7c51..0d8d4e15506 100644 --- a/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.cpp @@ -26,71 +26,20 @@ #include "qmlprojectitem.h" #include "filefilteritems.h" -#include #include namespace QmlProjectManager { -class QmlProjectItemPrivate : public QObject { - Q_OBJECT - -public: - QString sourceDirectory; - QStringList importPaths; - QStringList absoluteImportPaths; - QString mainFile; - - QList qmlFileFilters() const; - - // content property - QList content; -}; - -QList QmlProjectItemPrivate::qmlFileFilters() const -{ - QList qmlFilters; - for (int i = 0; i < content.size(); ++i) { - QmlProjectContentItem *contentElement = content.at(i); - QmlFileFilterItem *qmlFileFilter = qobject_cast(contentElement); - if (qmlFileFilter) - qmlFilters << qmlFileFilter; - } - return qmlFilters; -} - -QmlProjectItem::QmlProjectItem(QObject *parent) : - QObject(parent), - d_ptr(new QmlProjectItemPrivate) -{ -// Q_D(QmlProjectItem); -// -// QmlFileFilter *defaultQmlFilter = new QmlFileFilter(this); -// d->content.append(defaultQmlFilter); -} - -QmlProjectItem::~QmlProjectItem() -{ - delete d_ptr; -} - -QString QmlProjectItem::sourceDirectory() const -{ - Q_D(const QmlProjectItem); - return d->sourceDirectory; -} - // kind of initialization void QmlProjectItem::setSourceDirectory(const QString &directoryPath) { - Q_D(QmlProjectItem); - - if (d->sourceDirectory == directoryPath) + if (m_sourceDirectory == directoryPath) return; - d->sourceDirectory = directoryPath; + m_sourceDirectory = directoryPath; - for (int i = 0; i < d->content.size(); ++i) { - QmlProjectContentItem *contentElement = d->content.at(i); + for (int i = 0; i < m_content.size(); ++i) { + QmlProjectContentItem *contentElement = m_content.at(i); FileFilterBaseItem *fileFilter = qobject_cast(contentElement); if (fileFilter) { fileFilter->setDefaultDirectory(directoryPath); @@ -99,23 +48,13 @@ void QmlProjectItem::setSourceDirectory(const QString &directoryPath) } } - setImportPaths(d->importPaths); - - emit sourceDirectoryChanged(); -} - -QStringList QmlProjectItem::importPaths() const -{ - Q_D(const QmlProjectItem); - return d->absoluteImportPaths; + setImportPaths(m_importPaths); } void QmlProjectItem::setImportPaths(const QStringList &importPaths) { - Q_D(QmlProjectItem); - - if (d->importPaths != importPaths) - d->importPaths = importPaths; + if (m_importPaths != importPaths) + m_importPaths = importPaths; // convert to absolute paths QStringList absoluteImportPaths; @@ -123,23 +62,19 @@ void QmlProjectItem::setImportPaths(const QStringList &importPaths) foreach (const QString &importPath, importPaths) absoluteImportPaths += QDir::cleanPath(sourceDir.absoluteFilePath(importPath)); - if (d->absoluteImportPaths == absoluteImportPaths) + if (m_absoluteImportPaths == absoluteImportPaths) return; - d->absoluteImportPaths = absoluteImportPaths; - emit importPathsChanged(); + m_absoluteImportPaths = absoluteImportPaths; } /* Returns list of absolute paths */ QStringList QmlProjectItem::files() const { - Q_D(const QmlProjectItem); QStringList files; - for (int i = 0; i < d->content.size(); ++i) { - QmlProjectContentItem *contentElement = d->content.at(i); - FileFilterBaseItem *fileFilter = qobject_cast(contentElement); - if (fileFilter) { + for (QmlProjectContentItem *contentElement : m_content) { + if (auto fileFilter = qobject_cast(contentElement)) { foreach (const QString &file, fileFilter->files()) { if (!files.contains(file)) files << file; @@ -157,11 +92,8 @@ QStringList QmlProjectItem::files() const */ bool QmlProjectItem::matchesFile(const QString &filePath) const { - Q_D(const QmlProjectItem); - for (int i = 0; i < d->content.size(); ++i) { - QmlProjectContentItem *contentElement = d->content.at(i); - FileFilterBaseItem *fileFilter = qobject_cast(contentElement); - if (fileFilter) { + for (QmlProjectContentItem *contentElement : m_content) { + if (auto fileFilter = qobject_cast(contentElement)) { if (fileFilter->matchesFile(filePath)) return true; } @@ -169,27 +101,4 @@ bool QmlProjectItem::matchesFile(const QString &filePath) const return false; } -QString QmlProjectItem::mainFile() const -{ - Q_D(const QmlProjectItem); - return d->mainFile; -} - -void QmlProjectItem::setMainFile(const QString &mainFilePath) -{ - Q_D(QmlProjectItem); - if (mainFilePath == d->mainFile) - return; - d->mainFile = mainFilePath; - emit mainFileChanged(); -} - -void QmlProjectItem::appendContent(QmlProjectContentItem *contentItem) -{ - Q_D(QmlProjectItem); - d->content.append(contentItem); -} - } // namespace QmlProjectManager - -#include "qmlprojectitem.moc" diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.h b/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.h index 673f4ced489..09298174a7d 100644 --- a/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.h +++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectitem.h @@ -39,43 +39,34 @@ public: QmlProjectContentItem(QObject *parent = 0) : QObject(parent) {} }; -class QmlProjectItemPrivate; - class QmlProjectItem : public QObject { Q_OBJECT - Q_DECLARE_PRIVATE(QmlProjectItem) - - Q_PROPERTY(QString sourceDirectory READ sourceDirectory NOTIFY sourceDirectoryChanged) - Q_PROPERTY(QStringList importPaths READ importPaths WRITE setImportPaths NOTIFY importPathsChanged) - Q_PROPERTY(QString mainFile READ mainFile WRITE setMainFile NOTIFY mainFileChanged) public: - QmlProjectItem(QObject *parent = 0); - ~QmlProjectItem(); - - QString sourceDirectory() const; + QString sourceDirectory() const { return m_sourceDirectory; } void setSourceDirectory(const QString &directoryPath); - QStringList importPaths() const; + QStringList importPaths() const { return m_absoluteImportPaths; } void setImportPaths(const QStringList &paths); QStringList files() const; bool matchesFile(const QString &filePath) const; - QString mainFile() const; - void setMainFile(const QString &mainFilePath); + QString mainFile() const { return m_mainFile; } + void setMainFile(const QString &mainFilePath) { m_mainFile = mainFilePath; } - void appendContent(QmlProjectContentItem* contentItem); + void appendContent(QmlProjectContentItem *item) { m_content.append(item); } signals: void qmlFilesChanged(const QSet &, const QSet &); - void sourceDirectoryChanged(); - void importPathsChanged(); - void mainFileChanged(); protected: - QmlProjectItemPrivate *d_ptr; + QString m_sourceDirectory; + QStringList m_importPaths; + QStringList m_absoluteImportPaths; + QString m_mainFile; + QList m_content; // content property }; } // namespace QmlProjectManager