From 703eef169f3058945c2fe1d2c59cb99fc5ae41ba Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Mon, 24 Jun 2019 18:27:22 +0200 Subject: QmlProject: cleanup the code Change-Id: I10ce1fcba253e006b26864066510f3334893ce4c Reviewed-by: Tim Jenssen --- .../fileformat/filefilteritems.cpp | 45 +----------------- .../qmlprojectmanager/fileformat/filefilteritems.h | 54 +--------------------- .../fileformat/qmlprojectfileformat.cpp | 37 ++++----------- 3 files changed, 14 insertions(+), 122 deletions(-) (limited to 'src/plugins/qmlprojectmanager') diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp index 988c51dbfef..82190ccde64 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp @@ -293,24 +293,6 @@ QSet FileFilterBaseItem::filesInSubTree(const QDir &rootDir, const QDir return fileSet; } -QmlFileFilterItem::QmlFileFilterItem(QObject *parent) - : FileFilterBaseItem(parent) -{ - setFilter(QLatin1String("*.qml")); -} - -JsFileFilterItem::JsFileFilterItem(QObject *parent) - : FileFilterBaseItem(parent) -{ - setFilter(QLatin1String("*.js")); -} - -void JsFileFilterItem::setFilter(const QString &filter) -{ - FileFilterBaseItem::setFilter(filter); - emit filterChanged(); -} - ImageFileFilterItem::ImageFileFilterItem(QObject *parent) : FileFilterBaseItem(parent) { @@ -323,33 +305,10 @@ ImageFileFilterItem::ImageFileFilterItem(QObject *parent) setFilter(filter); } -void ImageFileFilterItem::setFilter(const QString &filter) -{ - FileFilterBaseItem::setFilter(filter); - emit filterChanged(); -} - -CssFileFilterItem::CssFileFilterItem(QObject *parent) - : FileFilterBaseItem(parent) -{ - setFilter(QLatin1String("*.css")); -} - -void CssFileFilterItem::setFilter(const QString &filter) -{ - FileFilterBaseItem::setFilter(filter); - emit filterChanged(); -} - -OtherFileFilterItem::OtherFileFilterItem(QObject *parent) +FileFilterItem::FileFilterItem(const QString &fileFilter, QObject *parent) : FileFilterBaseItem(parent) { -} - -void OtherFileFilterItem::setFilter(const QString &filter) -{ - FileFilterBaseItem::setFilter(filter); - emit filterChanged(); + setFilter(fileFilter); } } // namespace QmlProjectManager diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h index c10d7405ef1..827423e1e02 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h @@ -107,67 +107,17 @@ private: Utils::FileSystemWatcher *m_dirWatcher = nullptr; QTimer m_updateFileListTimer; - friend class ProjectItem; }; -class QmlFileFilterItem : public FileFilterBaseItem { - Q_OBJECT - -public: - QmlFileFilterItem(QObject *parent = nullptr); -}; - -class JsFileFilterItem : public FileFilterBaseItem { - Q_OBJECT - Q_PROPERTY(QString filter READ filter WRITE setFilter NOTIFY filterChanged) - - void setFilter(const QString &filter); - -signals: - void filterChanged(); - +class FileFilterItem : public FileFilterBaseItem { public: - JsFileFilterItem(QObject *parent = nullptr); + FileFilterItem(const QString &fileFilter, QObject *parent = nullptr); }; class ImageFileFilterItem : public FileFilterBaseItem { - Q_OBJECT - Q_PROPERTY(QString filter READ filter WRITE setFilter NOTIFY filterChanged) - - void setFilter(const QString &filter); - -signals: - void filterChanged(); - public: ImageFileFilterItem(QObject *parent = nullptr); }; -class CssFileFilterItem : public FileFilterBaseItem { - Q_OBJECT - Q_PROPERTY(QString filter READ filter WRITE setFilter NOTIFY filterChanged) - - void setFilter(const QString &filter); - -signals: - void filterChanged(); - -public: - CssFileFilterItem(QObject *parent = nullptr); -}; - -class OtherFileFilterItem : public FileFilterBaseItem { - Q_OBJECT - Q_PROPERTY(QString filter READ filter WRITE setFilter NOTIFY filterChanged) - - void setFilter(const QString &filter); - -signals: - void filterChanged(); - -public: - OtherFileFilterItem(QObject *parent = nullptr); -}; - } // namespace QmlProjectManager diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp index 2102147c29a..febf016785c 100644 --- a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp @@ -37,7 +37,7 @@ enum { namespace { -void setupFileFilterItem(QmlProjectManager::FileFilterBaseItem *fileFilterItem, const QmlJS::SimpleReaderNode::Ptr &node) +QmlProjectManager::FileFilterBaseItem *setupFileFilterItem(QmlProjectManager::FileFilterBaseItem *fileFilterItem, const QmlJS::SimpleReaderNode::Ptr &node) { const QVariant directoryProperty = node->property(QLatin1String("directory")); if (directoryProperty.isValid()) @@ -57,6 +57,7 @@ void setupFileFilterItem(QmlProjectManager::FileFilterBaseItem *fileFilterItem, if (debug) qDebug() << "directory:" << directoryProperty << "recursive" << recursiveProperty << "paths" << pathsProperty; + return fileFilterItem; } } //namespace @@ -100,37 +101,19 @@ QmlProjectItem *QmlProjectFileFormat::parseProjectFile(const Utils::FilePath &fi qDebug() << "importPath:" << importPathsProperty << "mainFile:" << mainFileProperty; foreach (const QmlJS::SimpleReaderNode::Ptr &childNode, rootNode->children()) { + if (debug) + qDebug() << "reading type:" << childNode->name(); + if (childNode->name() == QLatin1String("QmlFiles")) { - if (debug) - qDebug() << "QmlFiles"; - auto qmlFileFilterItem = new QmlFileFilterItem(projectItem); - setupFileFilterItem(qmlFileFilterItem, childNode); - projectItem->appendContent(qmlFileFilterItem); + projectItem->appendContent(setupFileFilterItem(new FileFilterItem("*.qml"), childNode)); } else if (childNode->name() == QLatin1String("JavaScriptFiles")) { - if (debug) - qDebug() << "JavaScriptFiles"; - auto jsFileFilterItem = new JsFileFilterItem(projectItem); - setupFileFilterItem(jsFileFilterItem, childNode); - projectItem->appendContent(jsFileFilterItem); + projectItem->appendContent(setupFileFilterItem(new FileFilterItem("*.js"), childNode)); } else if (childNode->name() == QLatin1String("ImageFiles")) { - if (debug) - qDebug() << "ImageFiles"; - auto imageFileFilterItem = new ImageFileFilterItem(projectItem); - setupFileFilterItem(imageFileFilterItem, childNode); - projectItem->appendContent(imageFileFilterItem); - + projectItem->appendContent(setupFileFilterItem(new ImageFileFilterItem(projectItem), childNode)); } else if (childNode->name() == QLatin1String("CssFiles")) { - if (debug) - qDebug() << "CssFiles"; - auto cssFileFilterItem = new CssFileFilterItem(projectItem); - setupFileFilterItem(cssFileFilterItem, childNode); - projectItem->appendContent(cssFileFilterItem); + projectItem->appendContent(setupFileFilterItem(new FileFilterItem("*.css"), childNode)); } else if (childNode->name() == QLatin1String("Files")) { - if (debug) - qDebug() << "Files"; - auto otherFileFilterItem = new OtherFileFilterItem(projectItem); - setupFileFilterItem(otherFileFilterItem, childNode); - projectItem->appendContent(otherFileFilterItem); + projectItem->appendContent(setupFileFilterItem(new FileFilterBaseItem(), childNode)); } else if (childNode->name() == "Environment") { const auto properties = childNode->properties(); auto i = properties.constBegin(); -- cgit v1.2.3