main.qml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import QtQuick 2.15
  2. import QtQuick.Window 2.15
  3. import QtQuick.Controls 2.15
  4. import QtQuick.Layouts 1.15
  5. import QtWebSockets
  6. import ru.ded.beerlog 1.0
  7. ApplicationWindow {
  8. width: 640
  9. height: 480
  10. visible: true
  11. title: qsTr("Beer Log")
  12. header: ToolBar {
  13. RowLayout {
  14. anchors.fill: parent
  15. ToolButton {
  16. text: qsTr("‹")
  17. onClicked: stack.pop()
  18. }
  19. ToolButton {
  20. text: usersModel.selectedUserName
  21. Layout.fillWidth: true
  22. onClicked: usersMenu.open()
  23. }
  24. ToolButton {
  25. text: qsTr("⋮")
  26. onClicked: menu.open()
  27. }
  28. }
  29. Menu {
  30. id: usersMenu
  31. Repeater {
  32. model: usersModel.users
  33. MenuItem {
  34. text: modelData.name
  35. onClicked: {
  36. usersModel.selectedUser = modelData.id
  37. }
  38. }
  39. }
  40. }
  41. }
  42. UsersModel {
  43. id: usersModel
  44. Component.onCompleted: {
  45. beerService.connectSrv(selectedUser)
  46. beerService.connectListener(usersModel)
  47. beerService.sendCommand("users", "get")
  48. }
  49. onSelectedUserChanged: {
  50. beerService.connectSrv(selectedUser)
  51. }
  52. }
  53. }