Files
beerlog/qml/main.qml

82 lines
1.8 KiB
QML

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import QtWebSockets
import ru.ded.beerlog 1.0
import "Components"
ApplicationWindow {
width: 640
height: 480
visible: true
title: qsTr("Beer Log")
header: ToolBar {
RowLayout {
anchors.fill: parent
MenuBackButton {
state: "menu"//stackView.depth > 1 ? "back" : "menu"
onClicked: mainMenu.open()
onBack: {
state = "menu"
}
}
ToolButton {
text: usersModel.selectedUserName
Layout.fillWidth: true
onClicked: usersMenu.open()
}
}
Menu {
id: usersMenu
UsersViewModel {
id: usersModel
}
Repeater {
model: usersModel.users
MenuItem {
text: modelData.name
onClicked: {
usersModel.selectedUser = modelData.id
}
}
}
}
}
MainMenu {
id: mainMenu
readonly property var actions: {
"settings": () => { stackView.openPage("SettingsForm.qml") },
"quit": () => { Qt.quit() }
}
width: parent.width * 0.66
height: parent.height
logo: "qrc:/logo.png"
appName: qsTr("BeerLog v0.1")
model: ListModel {
ListElement {
title: qsTr("Settings")
action: "settings"
}
ListElement {
title: qsTr("Quit")
action: "quit"
}
}
onActionSelected: (action) => actions[action]()
}
}