Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
6.5.0
-
None
Description
We have recently started using qmllint and find it very helpful. Most of its warnings where useful and helped us clean up the code.
However there is one warning that we can not understand or resolve. qmllint warns:
[build] Warning: /home/user/Src/Project/qml/FlickableScene.qml:357:75: Type "bda::ColorTransferListModel" of property "colorTransferListModel" not found. This is likely due to a missing dependency entry or a type not being exposed declaratively. [unresolved-type] [build] colorTransferListModel: mFlickableSceneController.colorTransferListModel [build] ^^^^^^^^^^^^^^^^^^^^^^
The corresponding code reads:
Item { id: mainControlsContainerItem visible: mainControlsContainer.currentIndex >= 0 Rectangle { anchors.fill: parent color: "#F3F3F3" } SingleItemView { id: mainControlsContainer currentIndex: mainControlsIconsPanel.currentIndex OpenedItemsList { id: samplesListView enabled: !mFlickableSceneController.isLoadingSamples } ColorControlsMenu { id: colorControlsMenu // Warning is from here: colorTransferListModel: mFlickableSceneController.colorTransferListModel }
The property is exported from header FlickableSceneController.hh:
Q_PROPERTY(bda::ColorTransferListModel* colorTransferListModel READ getColorTransferListModel CONSTANT FINAL)
And the underlying type comes from a C++ class bda::ColorTransferListModel that is defined in a qml module. We can see that the type is exported from the qmltypes file:
import QtQuick.tooling 1.2 // This file describes the plugin-supplied types contained in the library. // It is used for QML tooling purposes only. // // This file was auto-generated by qmltyperegistrar. Module { Component { file: "ColorTransferListModel.hh" name: "bda::ColorTransferListModel" accessSemantics: "reference" prototype: "QObject" exports: ["BDAQtQuick/ColorTransferListModel 1.0"] exportMetaObjectRevisions: [256] Property { name: "colorTransferModelList" type: "std::vector<bda::ColorTransferModel*>" read: "getColorTransferModelList" notify: "colorTransferModelListChanged" index: 0 isReadonly: true isFinal: true } Signal { name: "sigColorTransferModelChanged" Parameter { name: "aChannelName"; type: "std::string" } } Signal { name: "colorTransferModelListChanged" } } [...]
Other types are resolved correctly. Are we doing something wrong?