← Back to team overview

ubuntu-touch-coreapps-reviewers team mailing list archive

[Merge] lp:~renatofilho/ubuntu-calendar-app/fix-add-guest-search-field into lp:ubuntu-calendar-app

 

Renato Araujo Oliveira Filho has proposed merging lp:~renatofilho/ubuntu-calendar-app/fix-add-guest-search-field into lp:ubuntu-calendar-app with lp:~renatofilho/ubuntu-calendar-app/sdk-1-3 as a prerequisite.

Requested reviews:
  Jenkins Bot (ubuntu-core-apps-jenkins-bot): continuous-integration
  Ubuntu Calendar Developers (ubuntu-calendar-dev)

For more details, see:
https://code.launchpad.net/~renatofilho/ubuntu-calendar-app/fix-add-guest-search-field/+merge/284121
-- 
Your team Ubuntu Calendar Developers is requested to review the proposed merge of lp:~renatofilho/ubuntu-calendar-app/fix-add-guest-search-field into lp:ubuntu-calendar-app.
=== modified file 'ContactChoicePopup.qml'
--- ContactChoicePopup.qml	2016-01-27 13:52:03 +0000
+++ ContactChoicePopup.qml	2016-01-27 13:52:03 +0000
@@ -40,24 +40,27 @@
 
     UnionFilter {
         id: filter
+
+        property string searchString: ""
+
         filters: [
             DetailFilter{
                 detail: ContactDetail.Name
                 field: Name.FirstName
                 matchFlags: Filter.MatchContains
-                value: searchBox.text
+                value: filter.searchString
             },
             DetailFilter{
                 detail: ContactDetail.Name
                 field: Name.LastName
                 matchFlags: Filter.MatchContains
-                value: searchBox.text
+                value: filter.searchString
             },
             DetailFilter{
                 detail: ContactDetail.DisplayLabel
                 field: DisplayLabel.Label
                 matchFlags: Filter.MatchContains
-                value: searchBox.text
+                value: filter.searchString
             }
         ]
     }
@@ -69,6 +72,16 @@
         autoUpdate: true
     }
 
+    Timer {
+        id: idleSearch
+
+        interval: 500
+        repeat: false
+        onTriggered: {
+            filter.searchString = searchBox.text
+        }
+    }
+
     Column {
         anchors.top: parent.top
         anchors.left: parent.left
@@ -81,12 +94,16 @@
             focus: true
             width: parent.width
             placeholderText: i18n.tr("Search contact")
+            inputMethodHints: Qt.ImhNoPredictiveText
             primaryItem: Icon {
                  height: parent.height*0.5
                  width: parent.height*0.5
                  anchors.verticalCenter: parent.verticalCenter
                  name:"find"
-             }
+            }
+            onTextChanged: {
+                idleSearch.restart()
+            }
         }
 
         ListView {
@@ -109,4 +126,6 @@
             }
         }
     }
+
+    Component.onCompleted: searchBox.forceActiveFocus()
 }

=== modified file 'KeyboardRectangle.qml'
--- KeyboardRectangle.qml	2016-01-27 13:52:03 +0000
+++ KeyboardRectangle.qml	2016-01-27 13:52:03 +0000
@@ -20,10 +20,13 @@
 
 Item {
     id: keyboardRect
+
+    property bool forceVisible: false
+
     anchors.left: parent.left
     anchors.right: parent.right
     anchors.bottom: parent.bottom
-    height: Qt.inputMethod.visible ? Qt.inputMethod.keyboardRectangle.height : 0
+    height: Qt.inputMethod.visible || forceVisible ? Qt.inputMethod.keyboardRectangle.height : 0
 
     Behavior on height {
         NumberAnimation {

=== modified file 'NewEvent.qml'
--- NewEvent.qml	2016-01-27 13:52:03 +0000
+++ NewEvent.qml	2016-01-27 13:52:03 +0000
@@ -539,6 +539,7 @@
                 }
 
                 Button{
+                    id: addGuestButton
                     text: i18n.tr("Add Guest")
                     objectName: "addGuestButton"
 
@@ -548,15 +549,22 @@
                         margins: units.gu(2)
                     }
 
+                    enabled: !showContactPopup.running
                     onClicked: {
-                        var popup = PopupUtils.open(Qt.resolvedUrl("ContactChoicePopup.qml"), contactList);
+                        keyboard.forceVisible = true
+                        flickable.makeMeVisible(addGuestButton)
+                        var popup = PopupUtils.open(Qt.resolvedUrl("ContactChoicePopup.qml"), addGuestButton);
                         popup.contactSelected.connect( function(contact) {
                             var t = internal.contactToAttendee(contact);
                             if( !internal.isContactAlreadyAdded(contact) ) {
                                 contactModel.append(t);
                                 contactList.array.push(t);
                             }
+
                         });
+                        popup.Component.onDestruction.connect( function() {
+                            keyboard.forceVisible = false
+                        })
                     }
                 }