import QtQuick import Nebula.UI import Nebula.Windows Item { id: root readonly property bool maximized: WindowService.focusedWindowMaximized readonly property bool hovered: closeButton.hovered || minimizeButton.hovered || zoomButton.hovered implicitWidth: row.implicitWidth implicitHeight: row.implicitHeight Accessible.role: Accessible.Grouping Accessible.name: qsTr("Window controls") Row { id: row anchors.centerIn: parent spacing: Theme.trafficLightGap TrafficLightButton { id: closeButton fill: Theme.trafficClose glyph: "close" label: qsTr("Close") showGlyph: root.hovered onClicked: WindowService.closeFocusedWindow() } TrafficLightButton { id: minimizeButton fill: Theme.trafficMinimise glyph: "minimize" label: qsTr("Minimise") showGlyph: root.hovered onClicked: WindowService.minimizeFocusedWindow() } TrafficLightButton { id: zoomButton fill: Theme.trafficZoom glyph: root.maximized ? "restore" : "zoom" label: root.maximized ? qsTr("Restore") : qsTr("Maximise") showGlyph: root.hovered onClicked: WindowService.toggleMaximizeFocusedWindow() } } }