Add keyboard support to comboBox, HistoryList. Fix some issues with keyboard support.
[mdictionary] / src / mdictionary / qml / ComboBox.qml
index b20aa0f..56a0a40 100644 (file)
@@ -27,6 +27,11 @@ Rectangle {
 
     signal valueSelected(string selected);
 
+   Keys.onPressed: {
+        if (event.key == Qt.Key_Space)
+            rectangle1.expanded=true;
+    }
+
     Text {
         id: text1
         width: rectangle1.width-15
@@ -35,6 +40,7 @@ Rectangle {
         anchors.centerIn: parent
         font.pixelSize: rectangle1.height * .5;
         onTextChanged: { rectangle1.valueSelected(text) }
+        z: expanded?0:1;
     }
 
     Rectangle {
@@ -82,6 +88,17 @@ Rectangle {
         visible: false
         property string selected: rectangle1.startValue
 
+        Keys.onPressed: {
+
+            if ((event.key == Qt.Key_Return || event.key == Qt.Key_Enter) && currentIndex >= 0){
+                selectedValue(currentIndex, model.valueOnPosition(currentIndex))
+            }
+            if (event.key == Qt.Key_Escape){
+                rectangle1.show(!rectangle1.expanded)
+                event.accepted = true
+            }
+        }
+
         function selectedValue(nr, value) {
             currentIndex = nr
             selected = value