subsurface/qt-mobile/qml/Preferences.qml
Sebastian Kügler 6381c2eb2a improve preferences layout
- Use the component's heading for more consistency

- spacing between items: largeSpacing above, half of that below, this
  makes the title visually connect to the widgets it refers to.

Signed-off-by: Sebastian Kügler <sebas@kde.org>
2015-11-30 02:43:40 +01:00

128 lines
2.5 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
signal accept
property string username: login.text;
property string password: password.text;
property bool issave: savePassword.checked;
GridLayout {
columns: 2
anchors.fill: parent
anchors.margins: MobileComponents.Units.gridUnit
MobileComponents.Heading {
text: "Cloud credentials"
Layout.bottomMargin: MobileComponents.Units.largeSpacing / 2
Layout.columnSpan: 2
}
Label {
text: "Email"
Layout.alignment: Qt.AlignRight
}
TextField {
id: login
text: manager.cloudUserName
Layout.fillWidth: true
}
Label {
text: "Password"
Layout.alignment: Qt.AlignRight
}
TextField {
id: password
text: manager.cloudPassword
echoMode: TextInput.Password
Layout.fillWidth: true
}
Label {
text: "Show password"
Layout.alignment: Qt.AlignRight
}
CheckBox {
checked: false
id: showPassword
onCheckedChanged: {
password.echoMode = checked ? TextInput.Normal : TextInput.Password
}
}
Label {
text: "Remember"
Layout.alignment: Qt.AlignRight
}
CheckBox {
checked: manager.saveCloudPassword
id: savePassword
}
MobileComponents.Heading {
text: "Subsurface GPS data webservice"
Layout.topMargin: MobileComponents.Units.largeSpacing
Layout.bottomMargin: MobileComponents.Units.largeSpacing / 2
Layout.columnSpan: 2
}
Label {
text: "Distance threshold (meters)"
Layout.alignment: Qt.AlignRight
}
TextField {
id: distanceThreshold
text: manager.distanceThreshold
Layout.fillWidth: true
}
Label {
text: "Time threshold (minutes)"
Layout.alignment: Qt.AlignRight
}
TextField {
id: timeThreshold
text: manager.timeThreshold
Layout.fillWidth: true
}
Item { width: MobileComponents.Units.gridUnit; height: width }
Item {
height: saveButton.height
width: saveButton.width
Button {
id: saveButton
text: "Save"
anchors.centerIn: parent
onClicked: {
manager.cloudUserName = login.text
manager.cloudPassword = password.text
manager.saveCloudPassword = savePassword.checked
manager.distanceThreshold = distanceThreshold.text
manager.timeThreshold = timeThreshold.text
manager.savePreferences()
stackView.pop()
}
}
}
Item {
Layout.fillHeight: true
}
}
}