This computation is close enough, and removes the need for private headers.
Also CatalogListModel stubs
This avoids passing a QmainWindow into the QML engines, which don’t seem to handle that very well.