pragma ComponentBehavior: Bound import QtQuick import TNCat // Root is not a window: which windows exist depends on the platform. QtObject { id: app required property CatController cat required property AppSettings settings function openSettings() { settingsWindow.show() settingsWindow.raise() settingsWindow.requestActivate() } readonly property CatWindow catWindow: CatWindow { cat: app.cat settings: app.settings visible: !Platform.overlayMode onSettingsRequested: app.openSettings() } readonly property ChipWindow chipWindow: ChipWindow { cat: app.cat settings: app.settings visible: !Platform.overlayMode && app.cat.chipVisible } readonly property OverlayWindow overlayWindow: OverlayWindow { cat: app.cat settings: app.settings active: Platform.overlayMode onSettingsRequested: app.openSettings() } readonly property SettingsWindow settingsWindow: SettingsWindow { cat: app.cat settings: app.settings } }