mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 21:20:19 +00:00
7434e4213b
If the user goes to the credentials screen, they likely want to edit something. So put the focus on the first entry field and show the keyboard. We also need to hide the keyboard when the credential screen becomes invisble so that the keyboard doesn't stay around when the dive list is shown. Suggested-by: Henrik Brautaset Aronsen <subsurface@henrik.synth.no> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
83 lines
1.8 KiB
QML
83 lines
1.8 KiB
QML
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
|
|
height: outerLayout.height + 2 * MobileComponents.Units.gridUnit
|
|
|
|
property string username: login.text;
|
|
property string password: password.text;
|
|
property bool issave: savePassword.checked;
|
|
|
|
function saveCredentials() {
|
|
manager.cloudUserName = login.text
|
|
manager.cloudPassword = password.text
|
|
manager.saveCloudCredentials()
|
|
}
|
|
|
|
ColumnLayout {
|
|
id: outerLayout
|
|
width: subsurfaceTheme.columnWidth - 2 * MobileComponents.Units.gridUnit
|
|
|
|
onVisibleChanged: {
|
|
if (visible) {
|
|
Qt.inputMethod.show()
|
|
login.forceActiveFocus()
|
|
} else {
|
|
Qt.inputMethod.hide()
|
|
}
|
|
}
|
|
|
|
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"
|
|
}
|
|
}
|
|
Item { width: MobileComponents.Units.gridUnit; height: width }
|
|
}
|
|
}
|