Details
-
Epic
-
Resolution: Duplicate
-
Not Evaluated
-
None
-
None
-
Standard QML Tooling for AppMan
Description
The current implementation doesn't take advantage of the standard QML tools, which makes it error-prone (see QTBUG-114355 and QTBUG-114356 for example):
- The QML-facing C++ classes don't use QML_ELEMENT/QML_UNCREATABLE()/QML_SINGLETON, but rather Q_CLASSINFO("AM-QMLType", "QtApplicationManager.ModuleName/<TypeName> [maj.min] [UNCREATABLE][SINGLETON]")
- The custom Q_CLASSINFO information is parsed by a custom implementation of qmlplugindump/qmltyperegistrar for generating qmldir files.
- This tool looks for staticMetaObjects of classes that are manually listed in a QVector: https://github.com/qt/qtapplicationmanager/blob/v6.5.1/src/tools/dumpqmltypes/dumpqmltypes.cpp#L46-L84
These should be ported to use standard QML integration techniques to simplify maintenance and avoid errors:
- Use QML_ELEMENT and friends
Attachments
Issue Links
- duplicates
-
QTBUG-103266 QtApplicationManager: Use declarative registration
- Closed
- resulted from
-
QTBUG-114355 Many qmllint warnings for Application Manager QML types
- Closed
-
QTBUG-114356 AppMan: IntentServerHandler is not registered correctly
- Closed