forked from qt-creator/qt-creator
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
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
<type name="QmlProject.Project">
|
<type name="QmlProject.Project">
|
||||||
<exports>
|
<exports>
|
||||||
<export module="QmlProject" version="1.0" type="Project"/>
|
<export module="QmlProject" version="1.0" type="Project"/>
|
||||||
|
<export module="QmlProject" version="1.1" type="Project"/>
|
||||||
</exports>
|
</exports>
|
||||||
<property name="sourceDirectory" type="string"/>
|
<property name="sourceDirectory" type="string"/>
|
||||||
<property name="importPaths" type="string" isList="true"/>
|
<property name="importPaths" type="string" isList="true"/>
|
||||||
@@ -19,24 +20,34 @@
|
|||||||
<type name="QmlProject.QmlFiles" extends="FileFilterBaseItem">
|
<type name="QmlProject.QmlFiles" extends="FileFilterBaseItem">
|
||||||
<exports>
|
<exports>
|
||||||
<export module="QmlProject" version="1.0" type="QmlFiles"/>
|
<export module="QmlProject" version="1.0" type="QmlFiles"/>
|
||||||
|
<export module="QmlProject" version="1.1" type="QmlFiles"/>
|
||||||
</exports>
|
</exports>
|
||||||
</type>
|
</type>
|
||||||
<type name="QmlProject.JavaScriptFiles" extends="FileFilterBaseItem">
|
<type name="QmlProject.JavaScriptFiles" extends="FileFilterBaseItem">
|
||||||
<exports>
|
<exports>
|
||||||
<export module="QmlProject" version="1.0" type="JavaScriptFiles"/>
|
<export module="QmlProject" version="1.0" type="JavaScriptFiles"/>
|
||||||
|
<export module="QmlProject" version="1.1" type="JavaScriptFiles"/>
|
||||||
</exports>
|
</exports>
|
||||||
<property name="filter" type="string"/>
|
<property name="filter" type="string"/>
|
||||||
</type>
|
</type>
|
||||||
<type name="QmlProject.ImageFiles" extends="FileFilterBaseItem">
|
<type name="QmlProject.ImageFiles" extends="FileFilterBaseItem">
|
||||||
<exports>
|
<exports>
|
||||||
<export module="QmlProject" version="1.0" type="ImageFiles"/>
|
<export module="QmlProject" version="1.0" type="ImageFiles"/>
|
||||||
|
<export module="QmlProject" version="1.1" type="ImageFiles"/>
|
||||||
</exports>
|
</exports>
|
||||||
<property name="filter" type="string"/>
|
<property name="filter" type="string"/>
|
||||||
</type>
|
</type>
|
||||||
<type name="QmlProject.CssFiles" extends="FileFilterBaseItem">
|
<type name="QmlProject.CssFiles" extends="FileFilterBaseItem">
|
||||||
<exports>
|
<exports>
|
||||||
<export module="QmlProject" version="1.0" type="CssFiles"/>
|
<export module="QmlProject" version="1.0" type="CssFiles"/>
|
||||||
|
<export module="QmlProject" version="1.1" type="CssFiles"/>
|
||||||
</exports>
|
</exports>
|
||||||
<property name="filter" type="string"/>
|
<property name="filter" type="string"/>
|
||||||
</type>
|
</type>
|
||||||
|
<type name="QmlProject.Files" extends="FileFilterBaseItem">
|
||||||
|
<exports>
|
||||||
|
<export module="QmlProject" version="1.1" type="Files"/>
|
||||||
|
</exports>
|
||||||
|
<property name="filter" type="string"/>
|
||||||
|
</type>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -296,5 +296,16 @@ void CssFileFilterItem::setFilter(const QString &filter)
|
|||||||
emit filterChanged();
|
emit filterChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
OtherFileFilterItem::OtherFileFilterItem(QObject *parent)
|
||||||
|
: FileFilterBaseItem(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void OtherFileFilterItem::setFilter(const QString &filter)
|
||||||
|
{
|
||||||
|
FileFilterBaseItem::setFilter(filter);
|
||||||
|
emit filterChanged();
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace QmlProjectManager
|
} // namespace QmlProjectManager
|
||||||
|
|
||||||
|
|||||||
@@ -131,11 +131,25 @@ public:
|
|||||||
CssFileFilterItem(QObject *parent = 0);
|
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
|
} // namespace QmlProjectManager
|
||||||
|
|
||||||
QML_DECLARE_TYPE(QmlProjectManager::QmlFileFilterItem)
|
QML_DECLARE_TYPE(QmlProjectManager::QmlFileFilterItem)
|
||||||
QML_DECLARE_TYPE(QmlProjectManager::JsFileFilterItem)
|
QML_DECLARE_TYPE(QmlProjectManager::JsFileFilterItem)
|
||||||
QML_DECLARE_TYPE(QmlProjectManager::ImageFileFilterItem)
|
QML_DECLARE_TYPE(QmlProjectManager::ImageFileFilterItem)
|
||||||
QML_DECLARE_TYPE(QmlProjectManager::CssFileFilterItem)
|
QML_DECLARE_TYPE(QmlProjectManager::CssFileFilterItem)
|
||||||
|
QML_DECLARE_TYPE(QmlProjectManager::OtherFileFilterItem)
|
||||||
|
|
||||||
#endif // FILEFILTERITEMS_HPROJECTITEM_H
|
#endif // FILEFILTERITEMS_HPROJECTITEM_H
|
||||||
|
|||||||
@@ -10,11 +10,17 @@ void QmlProjectFileFormat::registerDeclarativeTypes()
|
|||||||
{
|
{
|
||||||
qmlRegisterType<QmlProjectManager::QmlProjectContentItem>();
|
qmlRegisterType<QmlProjectManager::QmlProjectContentItem>();
|
||||||
qmlRegisterType<QmlProjectManager::QmlProjectItem>("QmlProject",1,0,"Project");
|
qmlRegisterType<QmlProjectManager::QmlProjectItem>("QmlProject",1,0,"Project");
|
||||||
|
qmlRegisterType<QmlProjectManager::QmlProjectItem>("QmlProject",1,1,"Project");
|
||||||
|
|
||||||
qmlRegisterType<QmlProjectManager::QmlFileFilterItem>("QmlProject",1,0,"QmlFiles");
|
qmlRegisterType<QmlProjectManager::QmlFileFilterItem>("QmlProject",1,0,"QmlFiles");
|
||||||
|
qmlRegisterType<QmlProjectManager::QmlFileFilterItem>("QmlProject",1,1,"QmlFiles");
|
||||||
qmlRegisterType<QmlProjectManager::JsFileFilterItem>("QmlProject",1,0,"JavaScriptFiles");
|
qmlRegisterType<QmlProjectManager::JsFileFilterItem>("QmlProject",1,0,"JavaScriptFiles");
|
||||||
|
qmlRegisterType<QmlProjectManager::JsFileFilterItem>("QmlProject",1,1,"JavaScriptFiles");
|
||||||
qmlRegisterType<QmlProjectManager::ImageFileFilterItem>("QmlProject",1,0,"ImageFiles");
|
qmlRegisterType<QmlProjectManager::ImageFileFilterItem>("QmlProject",1,0,"ImageFiles");
|
||||||
|
qmlRegisterType<QmlProjectManager::ImageFileFilterItem>("QmlProject",1,1,"ImageFiles");
|
||||||
qmlRegisterType<QmlProjectManager::CssFileFilterItem>("QmlProject",1,0,"CssFiles");
|
qmlRegisterType<QmlProjectManager::CssFileFilterItem>("QmlProject",1,0,"CssFiles");
|
||||||
|
qmlRegisterType<QmlProjectManager::CssFileFilterItem>("QmlProject",1,1,"CssFiles");
|
||||||
|
qmlRegisterType<QmlProjectManager::OtherFileFilterItem>("QmlProject",1,1,"Files");
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace QmlProjectManager
|
} // namespace QmlProjectManager
|
||||||
|
|||||||
Reference in New Issue
Block a user