From 87eabef2f561c01e9a5adc9e719593f71079d669 Mon Sep 17 00:00:00 2001 From: Anatasof Wirapraja Date: Thu, 19 Sep 2019 17:59:08 +0700 Subject: `emailTextLabel.text` uses `User.name` --- features/LoginPassword.qml | 15 +++- features/LoginPasswordForm.ui.qml | 179 +++++++++++++++++++++++++++++++++++++- 2 files changed, 189 insertions(+), 5 deletions(-) (limited to 'features') diff --git a/features/LoginPassword.qml b/features/LoginPassword.qml index d12eaf1..0e73845 100644 --- a/features/LoginPassword.qml +++ b/features/LoginPassword.qml @@ -1,4 +1,17 @@ -import QtQuick 2.4 +import QtQuick 2.12 +import QtQuick.Controls 2.12 +import QtQuick.Controls.Material 2.12 +import QtQuick.Layouts 1.12 LoginPasswordForm { + emailTextLabel.text: User.name + passwordTextField.onTextChanged: { + if (!passwordTextField.text || !continueButton.enabled) + continueButton.enabled = !continueButton.enabled + } } +/*##^## +Designer { + D{i:0;autoSize:true;height:480;width:640} +} +##^##*/ diff --git a/features/LoginPasswordForm.ui.qml b/features/LoginPasswordForm.ui.qml index 96a8ae4..7dc7a92 100644 --- a/features/LoginPasswordForm.ui.qml +++ b/features/LoginPasswordForm.ui.qml @@ -1,6 +1,177 @@ -import QtQuick 2.4 +import QtQuick 2.12 +import QtQuick.Layouts 1.12 +import QtQuick.Controls 2.12 +import QtQuick.Controls.Material 2.12 -Item { - width: 400 - height: 400 +Page { + id: page + title: qsTr("Log in") + + property alias continueButton: continueButton + property alias emailTextLabel: emailTextLabel + property alias passwordTextField: passwordTextField + + Text { + id: pageTitle + text: contentView.currentItem.title + verticalAlignment: Text.AlignVCenter + wrapMode: Text.WordWrap + anchors.right: parent.right + anchors.rightMargin: 88 + anchors.bottom: pageInstruction.top + anchors.bottomMargin: 8 + anchors.left: parent.left + anchors.leftMargin: 16 + font.pointSize: 14 + font.family: "Work Sans" + font.weight: Font.Medium + } + Text { + id: pageInstruction + color: "#000000" + text: qsTr("Enter password.") + verticalAlignment: Text.AlignVCenter + wrapMode: Text.WordWrap + anchors.right: parent.right + anchors.rightMargin: 88 + font.family: "Work Sans" + + font.pointSize: 24 + font.weight: Font.Bold + anchors.left: parent.left + anchors.leftMargin: 16 + anchors.bottom: emailLayout.top + anchors.bottomMargin: 0 + } + RowLayout { + id: emailLayout + anchors.right: parent.right + anchors.rightMargin: 0 + anchors.left: parent.left + anchors.leftMargin: 0 + anchors.bottom: passwordLayout.top + anchors.bottomMargin: 16 + spacing: 8 + height: 56 + + Image { + width: 24 + height: 24 + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + opacity: 0.54 + sourceSize.height: 24 + sourceSize.width: 24 + Layout.leftMargin: 16 + fillMode: Image.PreserveAspectFit + source: "../components/icons/email-24px.svg" + antialiasing: true + } + + Label { + id: emailTextLabel + Layout.rightMargin: 16 + Layout.leftMargin: 8 + Layout.fillWidth: true + text: qsTr("your@email.com") + verticalAlignment: Text.AlignVCenter + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + font.pointSize: 16 + font.family: "Work Sans" + color: "#8A000000" + } + } + RowLayout { + id: passwordLayout + anchors.right: parent.right + anchors.rightMargin: 0 + anchors.left: parent.left + anchors.leftMargin: 0 + anchors.bottom: continueLayout.top + anchors.bottomMargin: 16 + spacing: 8 + height: 56 + + Image { + width: 24 + height: 24 + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + opacity: 0.54 + sourceSize.height: 24 + sourceSize.width: 24 + Layout.leftMargin: 16 + fillMode: Image.PreserveAspectFit + source: "../components/icons/lock-24px.svg" + antialiasing: true + } + + TextField { + id: passwordTextField + Layout.rightMargin: 16 + Layout.leftMargin: 8 + Layout.fillWidth: true + placeholderText: qsTr("Enter password") + verticalAlignment: Text.AlignVCenter + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + font.pointSize: 16 + font.family: "Work Sans" + color: "#8A000000" + echoMode: TextInput.Password + } + } + RowLayout { + id: continueLayout + height: 80 + anchors.bottom: parent.bottom + anchors.bottomMargin: 0 + anchors.right: parent.right + anchors.rightMargin: 0 + anchors.left: parent.left + anchors.leftMargin: 0 + + Text { + id: disclaimer + text: qsTr("By continuing, you are agree to our Terms of Use and Privacy Policy.") + Layout.rightMargin: 16 + Layout.leftMargin: 16 + font.family: "Roboto" + font.pointSize: 12 + color: "#FA000000" + wrapMode: Text.WordWrap + verticalAlignment: Text.AlignVCenter + rightPadding: 0 + leftPadding: 0 + Layout.alignment: Qt.AlignVCenter + Layout.fillWidth: true + } + + RoundButton { + id: continueButton + width: 72 + height: 72 + Layout.preferredHeight: 64 + Layout.preferredWidth: 64 + Layout.minimumHeight: 64 + Layout.minimumWidth: 64 + Layout.rightMargin: 16 + Layout.leftMargin: 16 + flat: false + rightPadding: 0 + leftPadding: 0 + bottomPadding: 0 + topPadding: 0 + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + Material.background: Material.primary + display: AbstractButton.IconOnly + icon.name: "arrow-forward-icon" + icon.source: "../components/icons/arrow-forward-24px.svg" + highlighted: true + enabled: false + } + } } +/*##^## +Designer { + D{i:0;autoSize:true;height:480;width:640} +} +##^##*/ + -- cgit v1.2.3