aboutsummaryrefslogtreecommitdiffstats
path: root/qt-mobile/qml/CloudCredentials.qml
blob: f9459b0c68c2ea83d224b4dc03b63ab9bcad93ff (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
import org.kde.plasma.mobilecomponents 0.2 as MobileComponents
import org.subsurfacedivelog.mobile 1.0

Item {
	id: loginWindow

	signal accept

	property string username: login.text;
	property string password: password.text;
	property bool issave: savePassword.checked;

	ColumnLayout {
		width: subsurfaceTheme.columnWidth - 2 * MobileComponents.Units.gridUnit
		MobileComponents.Heading {
			text: "Cloud credentials"
			level: headingLevel
			Layout.bottomMargin: MobileComponents.Units.largeSpacing / 2
		}

		MobileComponents.Label {
			text: "Email"
		}

		TextField {
			id: login
			text: manager.cloudUserName
			Layout.fillWidth: true
			inputMethodHints: Qt.ImhEmailCharactersOnly |
					  Qt.ImhNoAutoUppercase
		}

		MobileComponents.Label {
			text: "Password"
		}

		TextField {
			id: password
			text: manager.cloudPassword
			echoMode: TextInput.Password
			inputMethodHints: Qt.ImhSensitiveData |
					  Qt.ImhHiddenText |
					  Qt.ImhNoAutoUppercase
			Layout.fillWidth: true
		}
		GridLayout {
			columns: 2

			CheckBox {
				checked: false
				id: showPassword
				onCheckedChanged: {
					password.echoMode = checked ? TextInput.Normal : TextInput.Password
				}
			}
			MobileComponents.Label {
				text: "Show password"
			}

			CheckBox {
				checked: manager.saveCloudPassword
				id: savePassword
			}
			MobileComponents.Label {
				text: "Remember"
			}
		}
		Item { width: MobileComponents.Units.gridUnit; height: width }
		RowLayout {
			Item {
				height: saveButton.height
				width: saveButton.width
				SubsurfaceButton {
					id: saveButton
					text: "Save"
					onClicked: {
						manager.cloudUserName = login.text
						manager.cloudPassword = password.text
						manager.saveCloudPassword = savePassword.checked
						manager.saveCloudCredentials()
					}
				}
			}
			Item {
				height: backButton.height
				width: backButton.width
				visible: diveListView.count > 0 && manager.credentialStatus != QMLManager.INVALID
				SubsurfaceButton {
					id: backButton
					text: "Back to dive list"
					onClicked: {
						manager.credentialStatus = oldStatus
					}
				}
			}
		}

		Item {
			Layout.fillHeight: true
		}
	}
}