API Documentation
Documentation for developing SailfishOS applicationsEnterKey QML Type
Controls the appearance and behaviour of the Enter key in the software input panel More...
| Import Statement: | import Sailfish.Silica 1.0 |
Properties
- enabled : bool
- highlighted : bool
- iconSource : url
- text : string
Signals
Detailed Description
The EnterKey attached property exposes properties to control the appearance and behavior of the Enter key in the software input panel.
In Sailfish OS, when a page displays a series of one-line text fields, pressing the Enter key when a text field has keyboard focus should move the focus from one field to the next, or close the keyboard if the field is the last (or only) text field on the page. Also, the icon for the Enter key in the on-screen keyboard should change depending on the behavior to be applied.
Here is an example with three text fields that configures the appearance and behavior of the Enter key in this manner:
import QtQuick 2.2
import Sailfish.Silica 1.0
Dialog {
Column {
width: parent.width
DialogHeader {}
TextField {
width: parent.width
placeholderText: "First name"
label: placeholderText
// Only allow Enter key to be pressed when text has been entered
EnterKey.enabled: text.length > 0
// Show 'next' icon to indicate pressing Enter will move the
// keyboard focus to the next text field in the page
EnterKey.iconSource: "image://theme/icon-m-enter-next"
// When Enter key is pressed, move the keyboard focus to the
// next field
EnterKey.onClicked: lastNameField.focus = true
}
TextField {
id: lastNameField
width: parent.width
placeholderText: "Last name"
label: placeholderText
EnterKey.enabled: text.length > 0
EnterKey.iconSource: "image://theme/icon-m-enter-next"
EnterKey.onClicked: emailField.focus = true
}
TextField {
id: emailField
width: parent.width
placeholderText: "Email"
label: placeholderText
EnterKey.enabled: text.length > 0
// Show 'next' icon to indicate pressing Enter will close the
// on-screen keyboard
EnterKey.iconSource: "image://theme/icon-m-enter-close"
// When Enter key is pressed, close the on-screen keyboard
EnterKey.onClicked: focus = false
}
}
}The app may also choose to perform some other action when the Enter key is pressed for the last field. For example, if the above page was used to create an account using the given details, pressing Enter in the last field could accept the dialog in order to create an account:
Dialog {
id: dialog
Column {
// [code for DialogHeader and two text fields]
TextField {
id: emailField
width: parent.width
placeholderText: "Email"
label: placeholderText
EnterKey.enabled: text.length > 0
EnterKey.iconSource: "image://theme/icon-m-enter-close"
// When Enter key is pressed, accept the dialog
EnterKey.onClicked: dialog.accept()
}
}
// when the dialog is accepted, create the account
onAccepted: createAccount()
}Property Documentation
The Enter key is enabled if this is true. This can be used to disable the Enter key until valid input is given.
The default value is true.
The Enter key is highlighted if this is true. This can be used to draw user attention to the Enter key when a certain condition is met and the user can move forward.
The default value is false.
Replaces the Enter key's label with an icon from the given file path.
Icons supported by the theme:
- "image://theme/icon-m-enter-close" - Enter key will close the keyboard
- "image://theme/icon-m-enter-next" - Enter key will move focus to the next text editor
- "image://theme/icon-m-enter-accept" - Enter key will trigger action, e.g. accept a dialog
For example, this uses the "next" icon from the Jolla theme.
import QtQuick 2.2
import Sailfish.Silica 1.0
TextField {
width: parent.width
placeholderText: "First Name"
EnterKey.enabled: text.length > 0
EnterKey.iconSource: "image://theme/icon-m-enter-next"
EnterKey.onClicked: lastName.focus = true
}Set this property to override the Enter key's text. Note that the Enter key size varies and the text may not fit if it is long.
Signal Documentation
This signal handler is called if the user clicks on the software input panel's Enter key or the hardware keyboard's Return or Enter key.