import QtQuick 2.12 import QtQuick.Layouts 1.12 import Controls 1.0 as Controls import Screens 1.0 as Screens RowLayout { spacing: 20 property string title: stack.itemAt(stack.currentIndex).title StackLayout { id: stack Screens.TerminalScreen { id: terminalScreen property string title: qsTr("Terminal") } Screens.FirmwareUpdateScreen { id: firmwareUpdateScreen property string title: qsTr("Firmware update") } Screens.NetworkSettingsScreen { id: networkSettingsScreen property string title: qsTr("Network settings") } Screens.TimeSettingsScreen { id: timeSettingsScreen property string title: qsTr("Time settings") } // Screens.CanSettingsScreen { // id: canSettingsScreen // property string title: qsTr("CAN settings") // } Layout.fillWidth: true Layout.fillHeight: true } ColumnLayout { spacing: 20 Repeater { model: [ terminalScreen.title, firmwareUpdateScreen.title, networkSettingsScreen.title, timeSettingsScreen.title, // canSettingsScreen.title ] delegate: Controls.LinkLabel { text: modelData onClicked: stack.currentIndex = index } } Item { Layout.fillHeight: true } Layout.minimumWidth: 180 Layout.maximumWidth: 180 } }