From ccab280b21f53505c1a9dccf183b651619f7065a Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Thu, 25 Nov 2010 12:54:58 +0100 Subject: [PATCH] QmlProject: Support arbitrary file suffixes Add new "Files {}" element that supports showing files with arbitrary endings in the project tree. This new element is only available in new "QmlProject 1.1" namespace. Task-number: QTCREATORBUG-3197 Reviewed-by: Thomas Hartmann --- .../qml-type-descriptions/qmlproject-types.xml | 11 +++++++++++ .../fileformat/filefilteritems.cpp | 11 +++++++++++ .../qmlprojectmanager/fileformat/filefilteritems.h | 14 ++++++++++++++ .../fileformat/qmlprojectfileformat.cpp | 6 ++++++ 4 files changed, 42 insertions(+) diff --git a/share/qtcreator/qml-type-descriptions/qmlproject-types.xml b/share/qtcreator/qml-type-descriptions/qmlproject-types.xml index f8ae4aa1bcc..0a7a68e0348 100644 --- a/share/qtcreator/qml-type-descriptions/qmlproject-types.xml +++ b/share/qtcreator/qml-type-descriptions/qmlproject-types.xml @@ -3,6 +3,7 @@ + @@ -19,24 +20,34 @@ + + + + + + + + + + diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp index 3c2ab7c8d9c..f5e9c78afd4 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.cpp @@ -296,5 +296,16 @@ void CssFileFilterItem::setFilter(const QString &filter) emit filterChanged(); } +OtherFileFilterItem::OtherFileFilterItem(QObject *parent) + : FileFilterBaseItem(parent) +{ +} + +void OtherFileFilterItem::setFilter(const QString &filter) +{ + FileFilterBaseItem::setFilter(filter); + emit filterChanged(); +} + } // namespace QmlProjectManager diff --git a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h index 9c69c31bc28..ac007d1f380 100644 --- a/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h +++ b/src/plugins/qmlprojectmanager/fileformat/filefilteritems.h @@ -131,11 +131,25 @@ public: CssFileFilterItem(QObject *parent = 0); }; +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 = 0); +}; + } // namespace QmlProjectManager QML_DECLARE_TYPE(QmlProjectManager::QmlFileFilterItem) QML_DECLARE_TYPE(QmlProjectManager::JsFileFilterItem) QML_DECLARE_TYPE(QmlProjectManager::ImageFileFilterItem) QML_DECLARE_TYPE(QmlProjectManager::CssFileFilterItem) +QML_DECLARE_TYPE(QmlProjectManager::OtherFileFilterItem) #endif // FILEFILTERITEMS_HPROJECTITEM_H diff --git a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp index 46b624fec48..220deb62c31 100644 --- a/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp +++ b/src/plugins/qmlprojectmanager/fileformat/qmlprojectfileformat.cpp @@ -10,11 +10,17 @@ void QmlProjectFileFormat::registerDeclarativeTypes() { qmlRegisterType(); qmlRegisterType("QmlProject",1,0,"Project"); + qmlRegisterType("QmlProject",1,1,"Project"); qmlRegisterType("QmlProject",1,0,"QmlFiles"); + qmlRegisterType("QmlProject",1,1,"QmlFiles"); qmlRegisterType("QmlProject",1,0,"JavaScriptFiles"); + qmlRegisterType("QmlProject",1,1,"JavaScriptFiles"); qmlRegisterType("QmlProject",1,0,"ImageFiles"); + qmlRegisterType("QmlProject",1,1,"ImageFiles"); qmlRegisterType("QmlProject",1,0,"CssFiles"); + qmlRegisterType("QmlProject",1,1,"CssFiles"); + qmlRegisterType("QmlProject",1,1,"Files"); } } // namespace QmlProjectManager