main.qml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. import "Components"
  8. ApplicationWindow {
  9. width: 640
  10. height: 480
  11. visible: true
  12. title: qsTr("Beer Log")
  13. header: ToolBar {
  14. RowLayout {
  15. anchors.fill: parent
  16. MenuBackButton {
  17. state: "menu"//stackView.depth > 1 ? "back" : "menu"
  18. onClicked: drawer.open()
  19. onBack: {
  20. state = "menu"
  21. }
  22. }
  23. ToolButton {
  24. text: usersModel.selectedUserName
  25. Layout.fillWidth: true
  26. onClicked: usersMenu.open()
  27. }
  28. }
  29. Menu {
  30. id: usersMenu
  31. UsersViewModel {
  32. id: usersModel
  33. }
  34. Repeater {
  35. model: usersModel.users
  36. MenuItem {
  37. text: modelData.name
  38. onClicked: {
  39. usersModel.selectedUser = modelData.id
  40. }
  41. }
  42. }
  43. }
  44. }
  45. Drawer {
  46. id: drawer
  47. width: parent.width * 0.66
  48. height: parent.height
  49. Column {
  50. anchors.fill: parent
  51. Row {
  52. width: parent.width
  53. height: 100
  54. Image {
  55. anchors.top: parent.top
  56. anchors.bottom: parent.bottom
  57. anchors.margins: 10
  58. source: "logo.png"
  59. }
  60. Label {
  61. anchors.verticalCenter: parent.verticalCenter
  62. font.pointSize: 20
  63. text: qsTr("BeerLog v0.1")
  64. }
  65. }
  66. ItemDelegate {
  67. text: qsTr("Settings")
  68. width: parent.width
  69. onClicked: stackView.openPage("SettingsForm.qml")
  70. }
  71. ItemDelegate {
  72. text: qsTr("Quit")
  73. width: parent.width
  74. onClicked: Qt.quit()
  75. }
  76. }
  77. }
  78. }