aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarkko Koivikko <jarkko.koivikko@code-q.fi>2014-04-30 15:41:02 +0300
committerJarkko Koivikko <jarkko.koivikko@code-q.fi>2014-05-06 15:43:14 +0300
commit945669c989c8204745b30c1ee6d3a10513ff2a70 (patch)
tree2a4d42518e27a9623fe4cdc91e833b6da9ec5c8f
parent41e47a682ea558e3500155d683c389158c79b367 (diff)
Add predefined ids for EnterKeyAction
A predefined action id replaces the label in the enter key with an icon. Balanced all icons to use the same aspect ratio. Removed all custom margins used for icon positioning and sizing. Task-number: QTRD-2900 Change-Id: I159bcb4d53e8ceb8f51f4a8be24504e20262f37a Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Rainer Keller <rainer.keller@digia.com>
-rw-r--r--examples/quick/enterprise/virtualkeyboard/virtualkeyboard/VirtualKeyboard.qml7
-rw-r--r--examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextArea.qml1
-rw-r--r--examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextBase.qml4
-rw-r--r--examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextField.qml1
-rw-r--r--src/virtualkeyboard/content/components/EnterKey.qml5
-rwxr-xr-xsrc/virtualkeyboard/content/styles/default/images/backspace.pngbin1844 -> 1810 bytes
-rw-r--r--src/virtualkeyboard/content/styles/default/images/check.pngbin0 -> 1473 bytes
-rwxr-xr-xsrc/virtualkeyboard/content/styles/default/images/enter.pngbin1873 -> 1360 bytes
-rwxr-xr-xsrc/virtualkeyboard/content/styles/default/images/globe.pngbin5697 -> 6117 bytes
-rwxr-xr-xsrc/virtualkeyboard/content/styles/default/images/hidekeyboard.pngbin1870 -> 2051 bytes
-rw-r--r--src/virtualkeyboard/content/styles/default/images/search.pngbin0 -> 3784 bytes
-rwxr-xr-xsrc/virtualkeyboard/content/styles/default/images/shift.pngbin2483 -> 2667 bytes
-rw-r--r--src/virtualkeyboard/content/styles/default/style.qml42
-rw-r--r--src/virtualkeyboard/content/styles/default/style.qrc2
-rwxr-xr-xsrc/virtualkeyboard/content/styles/retro/images/backspace.pngbin1844 -> 1810 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/check.pngbin0 -> 1473 bytes
-rwxr-xr-xsrc/virtualkeyboard/content/styles/retro/images/enter.pngbin1873 -> 1360 bytes
-rwxr-xr-xsrc/virtualkeyboard/content/styles/retro/images/globe.pngbin5697 -> 6117 bytes
-rwxr-xr-xsrc/virtualkeyboard/content/styles/retro/images/hidekeyboard.pngbin1870 -> 2051 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/images/search.pngbin0 -> 3784 bytes
-rwxr-xr-xsrc/virtualkeyboard/content/styles/retro/images/shift.pngbin2483 -> 2667 bytes
-rw-r--r--src/virtualkeyboard/content/styles/retro/style.qml44
-rw-r--r--src/virtualkeyboard/content/styles/retro/style.qrc2
-rw-r--r--src/virtualkeyboard/enterkeyaction.cpp25
-rw-r--r--src/virtualkeyboard/enterkeyaction.h13
-rw-r--r--src/virtualkeyboard/enterkeyactionattachedtype.cpp14
-rw-r--r--src/virtualkeyboard/enterkeyactionattachedtype.h6
27 files changed, 132 insertions, 34 deletions
diff --git a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/VirtualKeyboard.qml b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/VirtualKeyboard.qml
index 5c557a0e..a6eb4701 100644
--- a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/VirtualKeyboard.qml
+++ b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/VirtualKeyboard.qml
@@ -17,6 +17,7 @@
****************************************************************************/
import QtQuick 2.0
+import QtQuick.Enterprise.VirtualKeyboard 1.0
import "content"
Rectangle {
@@ -59,7 +60,7 @@ Rectangle {
TextField {
width: parent.width
previewText: "One line field"
- enterKeyText: "Next"
+ enterKeyAction: EnterKeyAction.Next
onEnterKeyClicked: passwordField.focus = true
}
TextField {
@@ -69,7 +70,7 @@ Rectangle {
echoMode: TextInput.Password
previewText: "Password field"
inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhPreferLowercase | Qt.ImhSensitiveData | Qt.ImhNoPredictiveText
- enterKeyText: "Next"
+ enterKeyAction: EnterKeyAction.Next
onEnterKeyClicked: numberField.focus = true
}
TextField {
@@ -79,7 +80,7 @@ Rectangle {
width: parent.width
previewText: "Phone number field"
inputMethodHints: Qt.ImhDialableCharactersOnly
- enterKeyText: "Next"
+ enterKeyAction: EnterKeyAction.Next
onEnterKeyClicked: textArea.focus = true
}
TextArea {
diff --git a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextArea.qml b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextArea.qml
index 9729997f..7fc744b2 100644
--- a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextArea.qml
+++ b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextArea.qml
@@ -42,6 +42,7 @@ TextBase {
TextEdit {
id: textEdit
+ EnterKeyAction.actionId: textArea.enterKeyAction
EnterKeyAction.label: textArea.enterKeyText
EnterKeyAction.enabled: textArea.enterKeyEnabled
diff --git a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextBase.qml b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextBase.qml
index 46172d2f..41b62aca 100644
--- a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextBase.qml
+++ b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextBase.qml
@@ -17,6 +17,7 @@
****************************************************************************/
import QtQuick 2.0
+import QtQuick.Enterprise.VirtualKeyboard 1.0
FocusScope {
id: textBase
@@ -25,8 +26,9 @@ FocusScope {
property bool previewTextActive: !editor.activeFocus && text.length === 0
property int fontPixelSize: 32
property string previewText
+ property int enterKeyAction: EnterKeyAction.None
property string enterKeyText
- property bool enterKeyEnabled: enterKeyText.length === 0 || editor.text.length > 0 || editor.inputMethodComposing
+ property bool enterKeyEnabled: enterKeyAction === EnterKeyAction.None || editor.text.length > 0 || editor.inputMethodComposing
property alias mouseParent: mouseArea.parent
implicitHeight: editor.height + 12
diff --git a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextField.qml b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextField.qml
index 5ce6c7db..08245431 100644
--- a/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextField.qml
+++ b/examples/quick/enterprise/virtualkeyboard/virtualkeyboard/content/TextField.qml
@@ -49,6 +49,7 @@ TextBase {
TextInput {
id: textInput
+ EnterKeyAction.actionId: textField.enterKeyAction
EnterKeyAction.label: textField.enterKeyText
EnterKeyAction.enabled: textField.enterKeyEnabled
diff --git a/src/virtualkeyboard/content/components/EnterKey.qml b/src/virtualkeyboard/content/components/EnterKey.qml
index 4c4f94ef..8c1ebfb7 100644
--- a/src/virtualkeyboard/content/components/EnterKey.qml
+++ b/src/virtualkeyboard/content/components/EnterKey.qml
@@ -31,6 +31,11 @@ import QtQuick.Enterprise.VirtualKeyboard 1.0
*/
BaseKey {
+ /*! This property holds the action id for the enter key.
+
+ */
+ readonly property int actionId: InputContext.hasEnterKeyAction(InputContext.inputItem) ? InputContext.inputItem.EnterKeyAction.actionId : EnterKeyAction.None
+
text: "\n"
displayText: InputContext.hasEnterKeyAction(InputContext.inputItem) ? InputContext.inputItem.EnterKeyAction.label : ""
key: Qt.Key_Return
diff --git a/src/virtualkeyboard/content/styles/default/images/backspace.png b/src/virtualkeyboard/content/styles/default/images/backspace.png
index 0a33e95f..eb6d668f 100755
--- a/src/virtualkeyboard/content/styles/default/images/backspace.png
+++ b/src/virtualkeyboard/content/styles/default/images/backspace.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/default/images/check.png b/src/virtualkeyboard/content/styles/default/images/check.png
new file mode 100644
index 00000000..4a5a92c4
--- /dev/null
+++ b/src/virtualkeyboard/content/styles/default/images/check.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/default/images/enter.png b/src/virtualkeyboard/content/styles/default/images/enter.png
index 03335a0f..0b739382 100755
--- a/src/virtualkeyboard/content/styles/default/images/enter.png
+++ b/src/virtualkeyboard/content/styles/default/images/enter.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/default/images/globe.png b/src/virtualkeyboard/content/styles/default/images/globe.png
index 93da92f4..4dff8ccc 100755
--- a/src/virtualkeyboard/content/styles/default/images/globe.png
+++ b/src/virtualkeyboard/content/styles/default/images/globe.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/default/images/hidekeyboard.png b/src/virtualkeyboard/content/styles/default/images/hidekeyboard.png
index ca515036..a625cc4f 100755
--- a/src/virtualkeyboard/content/styles/default/images/hidekeyboard.png
+++ b/src/virtualkeyboard/content/styles/default/images/hidekeyboard.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/default/images/search.png b/src/virtualkeyboard/content/styles/default/images/search.png
new file mode 100644
index 00000000..740830d5
--- /dev/null
+++ b/src/virtualkeyboard/content/styles/default/images/search.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/default/images/shift.png b/src/virtualkeyboard/content/styles/default/images/shift.png
index ae5ad0b7..54e9472b 100755
--- a/src/virtualkeyboard/content/styles/default/images/shift.png
+++ b/src/virtualkeyboard/content/styles/default/images/shift.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/default/style.qml b/src/virtualkeyboard/content/styles/default/style.qml
index 6d144575..5e341f8c 100644
--- a/src/virtualkeyboard/content/styles/default/style.qml
+++ b/src/virtualkeyboard/content/styles/default/style.qml
@@ -17,12 +17,14 @@
****************************************************************************/
import QtQuick 2.0
+import QtQuick.Enterprise.VirtualKeyboard 1.0
import QtQuick.Enterprise.VirtualKeyboard.Styles 1.0
KeyboardStyle {
readonly property string fontFamily: dejaVuSans.name
readonly property real keyBackgroundMargin: Math.round(13 * scaleHint)
readonly property real keyContentMargin: Math.round(45 * scaleHint)
+ readonly property real keyIconMargin: Math.round(35 * scaleHint)
property var dejaVuSans: FontLoader {
source: "qrc:/fonts/DejaVuSans.ttf"
@@ -102,8 +104,8 @@ KeyboardStyle {
source: "qrc:/images/backspace.png"
color: "#868482"
anchors.fill: parent
- anchors.topMargin: keyContentMargin
- anchors.bottomMargin: keyContentMargin
+ anchors.topMargin: keyIconMargin
+ anchors.bottomMargin: keyIconMargin
}
}
states: [
@@ -146,8 +148,8 @@ KeyboardStyle {
source: "qrc:/images/globe.png"
color: "#868482"
anchors.fill: parent
- anchors.topMargin: keyContentMargin
- anchors.bottomMargin: keyContentMargin
+ anchors.topMargin: keyIconMargin
+ anchors.bottomMargin: keyIconMargin
}
}
states: [
@@ -187,17 +189,29 @@ KeyboardStyle {
anchors.margins: keyBackgroundMargin
KeyIcon {
id: enterKeyIcon
- visible: control.displayText.length === 0
- source: "qrc:/images/enter.png"
+ visible: enterKeyText.text.length === 0
+ source: {
+ switch (control.actionId) {
+ case EnterKeyAction.Go:
+ case EnterKeyAction.Send:
+ case EnterKeyAction.Next:
+ case EnterKeyAction.Done:
+ return "qrc:/images/check.png"
+ case EnterKeyAction.Search:
+ return "qrc:/images/search.png"
+ default:
+ return "qrc:/images/enter.png"
+ }
+ }
color: "#868482"
anchors.fill: parent
- anchors.margins: keyContentMargin
- anchors.leftMargin: enterKeyBackground.width > enterKeyBackground.height * 1.5 ? Math.round(150 * scaleHint) : keyContentMargin
+ anchors.topMargin: keyIconMargin
+ anchors.bottomMargin: keyIconMargin
}
Text {
id: enterKeyText
- visible: control.displayText.length !== 0
- text: control.displayText
+ visible: text.length !== 0
+ text: control.actionId !== EnterKeyAction.None ? "" : control.displayText
clip: true
fontSizeMode: Text.HorizontalFit
horizontalAlignment: Text.AlignHCenter
@@ -261,8 +275,8 @@ KeyboardStyle {
source: "qrc:/images/hidekeyboard.png"
color: "#868482"
anchors.fill: parent
- anchors.topMargin: keyContentMargin
- anchors.bottomMargin: keyContentMargin
+ anchors.topMargin: keyIconMargin
+ anchors.bottomMargin: keyIconMargin
}
}
states: [
@@ -305,8 +319,8 @@ KeyboardStyle {
source: "qrc:/images/shift.png"
color: "#868482"
anchors.fill: parent
- anchors.topMargin: keyContentMargin
- anchors.bottomMargin: keyContentMargin
+ anchors.topMargin: keyIconMargin
+ anchors.bottomMargin: keyIconMargin
}
states: [
State {
diff --git a/src/virtualkeyboard/content/styles/default/style.qrc b/src/virtualkeyboard/content/styles/default/style.qrc
index c931cfb7..8a73e4a7 100644
--- a/src/virtualkeyboard/content/styles/default/style.qrc
+++ b/src/virtualkeyboard/content/styles/default/style.qrc
@@ -7,5 +7,7 @@
<file>images/hidekeyboard.png</file>
<file>images/shift.png</file>
<file>images/globe.png</file>
+ <file>images/search.png</file>
+ <file>images/check.png</file>
</qresource>
</RCC>
diff --git a/src/virtualkeyboard/content/styles/retro/images/backspace.png b/src/virtualkeyboard/content/styles/retro/images/backspace.png
index 0a33e95f..eb6d668f 100755
--- a/src/virtualkeyboard/content/styles/retro/images/backspace.png
+++ b/src/virtualkeyboard/content/styles/retro/images/backspace.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/check.png b/src/virtualkeyboard/content/styles/retro/images/check.png
new file mode 100644
index 00000000..4a5a92c4
--- /dev/null
+++ b/src/virtualkeyboard/content/styles/retro/images/check.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/enter.png b/src/virtualkeyboard/content/styles/retro/images/enter.png
index 03335a0f..0b739382 100755
--- a/src/virtualkeyboard/content/styles/retro/images/enter.png
+++ b/src/virtualkeyboard/content/styles/retro/images/enter.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/globe.png b/src/virtualkeyboard/content/styles/retro/images/globe.png
index 93da92f4..4dff8ccc 100755
--- a/src/virtualkeyboard/content/styles/retro/images/globe.png
+++ b/src/virtualkeyboard/content/styles/retro/images/globe.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/hidekeyboard.png b/src/virtualkeyboard/content/styles/retro/images/hidekeyboard.png
index ca515036..a625cc4f 100755
--- a/src/virtualkeyboard/content/styles/retro/images/hidekeyboard.png
+++ b/src/virtualkeyboard/content/styles/retro/images/hidekeyboard.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/search.png b/src/virtualkeyboard/content/styles/retro/images/search.png
new file mode 100644
index 00000000..740830d5
--- /dev/null
+++ b/src/virtualkeyboard/content/styles/retro/images/search.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/images/shift.png b/src/virtualkeyboard/content/styles/retro/images/shift.png
index ae5ad0b7..54e9472b 100755
--- a/src/virtualkeyboard/content/styles/retro/images/shift.png
+++ b/src/virtualkeyboard/content/styles/retro/images/shift.png
Binary files differ
diff --git a/src/virtualkeyboard/content/styles/retro/style.qml b/src/virtualkeyboard/content/styles/retro/style.qml
index e65ef8f7..3799964d 100644
--- a/src/virtualkeyboard/content/styles/retro/style.qml
+++ b/src/virtualkeyboard/content/styles/retro/style.qml
@@ -17,12 +17,14 @@
****************************************************************************/
import QtQuick 2.0
+import QtQuick.Enterprise.VirtualKeyboard 1.0
import QtQuick.Enterprise.VirtualKeyboard.Styles 1.0
KeyboardStyle {
readonly property string fontFamily: courierPrimeRegular.name
readonly property real keyBackgroundMargin: Math.round(9 * scaleHint)
readonly property real keyContentMargin: Math.round(50 * scaleHint)
+ readonly property real keyIconMargin: Math.round(40 * scaleHint)
property var courierPrimeRegular: FontLoader {
source: "qrc:/fonts/Courier Prime.ttf"
@@ -145,10 +147,8 @@ KeyboardStyle {
source: "qrc:/images/backspace.png"
color: "#c5a96f"
anchors.fill: parent
- anchors.topMargin: keyContentMargin
- anchors.bottomMargin: keyContentMargin
- anchors.leftMargin: Math.round(29 * scaleHint)
- anchors.rightMargin: Math.round(29 * scaleHint)
+ anchors.topMargin: keyIconMargin
+ anchors.bottomMargin: keyIconMargin
}
states: [
State {
@@ -191,8 +191,8 @@ KeyboardStyle {
source: "qrc:/images/globe.png"
color: "#110b05"
anchors.fill: parent
- anchors.topMargin: keyContentMargin
- anchors.bottomMargin: keyContentMargin
+ anchors.topMargin: keyIconMargin
+ anchors.bottomMargin: keyIconMargin
}
states: [
State {
@@ -238,17 +238,29 @@ KeyboardStyle {
}
KeyIcon {
id: enterKeyIcon
- visible: control.displayText.length === 0
- source: "qrc:/images/enter.png"
+ visible: enterKeyText.text.length === 0
+ source: {
+ switch (control.actionId) {
+ case EnterKeyAction.Go:
+ case EnterKeyAction.Send:
+ case EnterKeyAction.Next:
+ case EnterKeyAction.Done:
+ return "qrc:/images/check.png"
+ case EnterKeyAction.Search:
+ return "qrc:/images/search.png"
+ default:
+ return "qrc:/images/enter.png"
+ }
+ }
color: "#c5a96f"
anchors.fill: parent
- anchors.margins: keyContentMargin
- anchors.leftMargin: enterKeyBackground.width > enterKeyBackground.height * 1.5 ? Math.round(142 * scaleHint) : anchors.margins
+ anchors.topMargin: keyIconMargin
+ anchors.bottomMargin: keyIconMargin
}
Text {
id: enterKeyText
- visible: control.displayText.length !== 0
- text: control.displayText
+ visible: text.length !== 0
+ text: control.actionId !== EnterKeyAction.None ? "" : control.displayText
clip: true
fontSizeMode: Text.HorizontalFit
horizontalAlignment: Text.AlignHCenter
@@ -321,8 +333,8 @@ KeyboardStyle {
source: "qrc:/images/hidekeyboard.png"
color: "#c5a96f"
anchors.fill: parent
- anchors.topMargin: keyContentMargin
- anchors.bottomMargin: keyContentMargin
+ anchors.topMargin: keyIconMargin
+ anchors.bottomMargin: keyIconMargin
}
states: [
State {
@@ -397,8 +409,8 @@ KeyboardStyle {
source: "qrc:/images/shift.png"
color: "#c5a96f"
anchors.fill: parent
- anchors.topMargin: keyContentMargin
- anchors.bottomMargin: keyContentMargin
+ anchors.topMargin: keyIconMargin
+ anchors.bottomMargin: keyIconMargin
}
states: [
State {
diff --git a/src/virtualkeyboard/content/styles/retro/style.qrc b/src/virtualkeyboard/content/styles/retro/style.qrc
index 4d4c41c8..a2c861e5 100644
--- a/src/virtualkeyboard/content/styles/retro/style.qrc
+++ b/src/virtualkeyboard/content/styles/retro/style.qrc
@@ -27,5 +27,7 @@
<file>images/hidekeyboard.png</file>
<file>images/shift.png</file>
<file>images/globe.png</file>
+ <file>images/search.png</file>
+ <file>images/check.png</file>
</qresource>
</RCC>
diff --git a/src/virtualkeyboard/enterkeyaction.cpp b/src/virtualkeyboard/enterkeyaction.cpp
index ea42866a..bff34445 100644
--- a/src/virtualkeyboard/enterkeyaction.cpp
+++ b/src/virtualkeyboard/enterkeyaction.cpp
@@ -47,6 +47,11 @@
*/
/*!
+ \class EnterKeyAction
+ \internal
+*/
+
+/*!
\internal
*/
EnterKeyActionAttachedType *EnterKeyAction::qmlAttachedProperties(QObject *object)
@@ -55,6 +60,26 @@ EnterKeyActionAttachedType *EnterKeyAction::qmlAttachedProperties(QObject *objec
}
/*!
+ \qmlattachedproperty int EnterKeyAction::actionId
+
+ Sets the action id for the enter key in virtual keyboard.
+ When the action id is set, it takes preference over the label
+ and sets the icon for the enter key.
+
+ \list
+ \li \c EnterKeyAction.None No action defined.
+ \li \c EnterKeyAction.Go Action performs go operation.
+ For example taking user to the entered url.
+ \li \c EnterKeyAction.Search Action performs search operation.
+ \li \c EnterKeyAction.Send Action sends the entered text.
+ \li \c EnterKeyAction.Next Action moves the input focus to
+ the next field accepting text input.
+ \li \c EnterKeyAction.Done Same as \c EnterKeyAction.Next,
+ except all the text input is done.
+ \endlist
+*/
+
+/*!
\qmlattachedproperty string EnterKeyAction::label
Sets the label for the enter key in virtual keyboard.
diff --git a/src/virtualkeyboard/enterkeyaction.h b/src/virtualkeyboard/enterkeyaction.h
index aea64362..7f0c8619 100644
--- a/src/virtualkeyboard/enterkeyaction.h
+++ b/src/virtualkeyboard/enterkeyaction.h
@@ -26,10 +26,23 @@ class EnterKeyActionAttachedType;
class EnterKeyAction : public QObject
{
Q_OBJECT
+ Q_ENUMS(Id)
+
+public:
+ enum Id {
+ None,
+ Go,
+ Search,
+ Send,
+ Next,
+ Done
+ };
+
public:
static EnterKeyActionAttachedType *qmlAttachedProperties(QObject *object);
};
+Q_DECLARE_METATYPE(EnterKeyAction::Id)
QML_DECLARE_TYPEINFO(EnterKeyAction, QML_HAS_ATTACHED_PROPERTIES)
#endif
diff --git a/src/virtualkeyboard/enterkeyactionattachedtype.cpp b/src/virtualkeyboard/enterkeyactionattachedtype.cpp
index 8a7ddc8e..23829eb1 100644
--- a/src/virtualkeyboard/enterkeyactionattachedtype.cpp
+++ b/src/virtualkeyboard/enterkeyactionattachedtype.cpp
@@ -20,11 +20,25 @@
EnterKeyActionAttachedType::EnterKeyActionAttachedType(QObject *parent) :
QObject(parent),
+ m_actionId(EnterKeyAction::None),
m_label(),
m_enabled(true)
{
}
+EnterKeyAction::Id EnterKeyActionAttachedType::actionId() const
+{
+ return m_actionId;
+}
+
+void EnterKeyActionAttachedType::setActionId(EnterKeyAction::Id actionId)
+{
+ if (m_actionId != actionId) {
+ m_actionId = actionId;
+ emit actionIdChanged();
+ }
+}
+
QString EnterKeyActionAttachedType::label() const
{
return m_label;
diff --git a/src/virtualkeyboard/enterkeyactionattachedtype.h b/src/virtualkeyboard/enterkeyactionattachedtype.h
index ee9f32ef..d04b240c 100644
--- a/src/virtualkeyboard/enterkeyactionattachedtype.h
+++ b/src/virtualkeyboard/enterkeyactionattachedtype.h
@@ -20,26 +20,32 @@
#define ENTERKEYACTIONATTACHEDTYPE_H
#include <QObject>
+#include "enterkeyaction.h"
class EnterKeyActionAttachedType : public QObject
{
Q_OBJECT
+ Q_PROPERTY(EnterKeyAction::Id actionId READ actionId WRITE setActionId NOTIFY actionIdChanged)
Q_PROPERTY(QString label READ label WRITE setLabel NOTIFY labelChanged)
Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged)
public:
explicit EnterKeyActionAttachedType(QObject *parent);
+ EnterKeyAction::Id actionId() const;
+ void setActionId(EnterKeyAction::Id actionId);
QString label() const;
void setLabel(const QString& label);
bool enabled() const;
void setEnabled(bool enabled);
signals:
+ void actionIdChanged();
void labelChanged();
void enabledChanged();
private:
+ EnterKeyAction::Id m_actionId;
QString m_label;
bool m_enabled;
};