SignupForm.ui.qml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. import QtQuick 2.12
  2. import QtQuick.Controls 2.5
  3. import QtQuick.Layouts 1.3
  4. Page {
  5. width: 400
  6. height: 400
  7. Connections {
  8. target: _qmlHandler
  9. onSignupSetStatus: {
  10. signupStatusText.text = status
  11. }
  12. onSignupEnableRegisterButton: {
  13. signupRegisterButton.enabled = true
  14. }
  15. onSignupDisableRegisterButton: {
  16. signupRegisterButton.enabled = false
  17. }
  18. onLoginSignupCheckSaveCheckbox: {
  19. signupSetDefaultCheckbox.checked = true
  20. }
  21. }
  22. ColumnLayout {
  23. anchors.fill: parent
  24. Text {
  25. Layout.alignment: Qt.AlignCenter
  26. id: signupTitle
  27. color: "#ffffff"
  28. text: qsTr("Signup")
  29. horizontalAlignment: Text.AlignHCenter
  30. verticalAlignment: Text.AlignVCenter
  31. font.pixelSize: 20
  32. }
  33. TextField {
  34. Layout.alignment: Qt.AlignCenter
  35. id: signupUsernameInput
  36. selectByMouse: true
  37. focus: true
  38. text: qsTr("")
  39. placeholderText: "Username"
  40. horizontalAlignment: Text.AlignHCenter
  41. // @disable-check M222
  42. Keys.onReturnPressed: signupRegisterButton.activate()
  43. // @disable-check M222
  44. Keys.onEnterPressed: signupRegisterButton.activate()
  45. onTextEdited: {
  46. signupStatusText.text = ""
  47. signupRegisterButton.enabled = (signupUsernameInput.text != ""
  48. && signupPasswordOneInput.text != ""
  49. && signupPasswordTwoInput.text != "")
  50. }
  51. }
  52. TextField {
  53. Layout.alignment: Qt.AlignCenter
  54. id: signupPasswordOneInput
  55. selectByMouse: true
  56. focus: true
  57. text: qsTr("")
  58. placeholderText: "Password"
  59. horizontalAlignment: Text.AlignHCenter
  60. // @disable-check M222
  61. Keys.onReturnPressed: signupRegisterButton.activate()
  62. // @disable-check M222
  63. Keys.onEnterPressed: signupRegisterButton.activate()
  64. echoMode: TextInput.Password
  65. onTextEdited: {
  66. signupStatusText.text = ""
  67. signupRegisterButton.enabled = (signupUsernameInput.text != ""
  68. && signupPasswordOneInput.text != ""
  69. && signupPasswordTwoInput.text != "")
  70. }
  71. }
  72. TextField {
  73. Layout.alignment: Qt.AlignCenter
  74. id: signupPasswordTwoInput
  75. selectByMouse: true
  76. focus: true
  77. text: qsTr("")
  78. placeholderText: "Repeat Passw."
  79. horizontalAlignment: Text.AlignHCenter
  80. // @disable-check M222
  81. Keys.onReturnPressed: signupRegisterButton.activate()
  82. // @disable-check M222
  83. Keys.onEnterPressed: signupRegisterButton.activate()
  84. echoMode: TextInput.Password
  85. onTextEdited: {
  86. signupStatusText.text = ""
  87. signupRegisterButton.enabled = (signupUsernameInput.text != ""
  88. && signupPasswordOneInput.text != ""
  89. && signupPasswordTwoInput.text != "")
  90. }
  91. }
  92. CheckBox {
  93. id: signupSetDefaultCheckbox
  94. Layout.alignment: Qt.AlignCenter
  95. checked: false
  96. text: "Save as default user"
  97. }
  98. Text {
  99. id: signupStatusText
  100. color: "#df3f3f"
  101. text: qsTr("")
  102. horizontalAlignment: Text.AlignHCenter
  103. verticalAlignment: Text.AlignVCenter
  104. Layout.alignment: Qt.AlignCenter
  105. wrapMode: Text.WordWrap
  106. Layout.preferredWidth: parent.width
  107. font.pixelSize: 20
  108. }
  109. Button {
  110. Layout.alignment: Qt.AlignCenter
  111. id: signupRegisterButton
  112. text: qsTr("Register")
  113. enabled: false
  114. font.pointSize: 16
  115. // @disable-check M223
  116. onClicked: {
  117. // @disable-check M222
  118. signupRegisterButton.activate()
  119. }
  120. // @disable-check M222
  121. function activate() {
  122. // @disable-check M223
  123. if (signupRegisterButton.enabled) {
  124. // @disable-check M222
  125. _qmlHandler.onSignupRegisterButton(
  126. signupUsernameInput.text,
  127. signupPasswordOneInput.text,
  128. signupPasswordTwoInput.text,
  129. signupSetDefaultCheckbox.checked)
  130. }
  131. }
  132. }
  133. }
  134. }