64 lines
1.4 KiB
QML
64 lines
1.4 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
|
||
|
||
ApplicationWindow {
|
||
width: 640
|
||
height: 480
|
||
visible: true
|
||
title: qsTr("Beer Log")
|
||
|
||
header: ToolBar {
|
||
RowLayout {
|
||
anchors.fill: parent
|
||
ToolButton {
|
||
text: qsTr("‹")
|
||
onClicked: stack.pop()
|
||
}
|
||
ToolButton {
|
||
text: usersModel.selectedUserName
|
||
Layout.fillWidth: true
|
||
onClicked: usersMenu.open()
|
||
}
|
||
ToolButton {
|
||
text: qsTr("⋮")
|
||
onClicked: menu.open()
|
||
}
|
||
}
|
||
|
||
Menu {
|
||
id: usersMenu
|
||
|
||
Repeater {
|
||
model: usersModel.users
|
||
|
||
MenuItem {
|
||
text: modelData.name
|
||
|
||
onClicked: {
|
||
usersModel.selectedUser = modelData.id
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
UsersModel {
|
||
id: usersModel
|
||
|
||
Component.onCompleted: {
|
||
beerService.connectSrv(selectedUser)
|
||
beerService.connectListener(usersModel)
|
||
beerService.sendCommand("users", "get")
|
||
}
|
||
|
||
onSelectedUserChanged: {
|
||
beerService.connectSrv(selectedUser)
|
||
}
|
||
}
|
||
}
|