[SailfishDevel] SearchField and focus
    Bea Lam 
    bea.lam at jollamobile.com
       
    Fri Aug  9 01:12:07 UTC 2013
    
    
  
Hello,
The problem is that when the model changes, the last added delegate steals the focus, as ListView has a focus scope.
If you set "currentIndex: -1" on the ListView, then this behaviour will be disabled. (This is what's done in the SearchPage.qml example in silicacomponentgallery.)
cheers,
Bea
________________________________________
From: devel-bounces at lists.sailfishos.org [devel-bounces at lists.sailfishos.org] on behalf of Martin Grimme [martin.grimme at gmail.com]
Sent: 09 August 2013 02:06
To: Lucien XU
Cc: devel at lists.sailfishos.org
Subject: Re: [SailfishDevel] SearchField and focus
Hi,
I had exactly the same problem. My solution was to define the
SearchField _outside_ the list view, like this:
SilicaListView {
    id: listview
    ...
    header: Item {
        // This is just a placeholder for the header box. To avoid the
        // list view resetting the input box everytime the model resets,
        // the search entry is defined outside the list view.
        height: headerBox.implicitHeight
    }
}
...
Column {
    id: headerBox
    property int neutralPos: 0
    y: 0 - listview.contentY + neutralPos
    width: parent.width
    Component.onCompleted: {
        neutralPos = listview.contentY;
    }
    SearchField {
        ...
    }
}
That way, the SearchField floats on top of the list at the place
reserved by the placeholder Item.
Martin
2013/8/8, Lucien XU <sfietkonstantin at free.fr>:
> Le jeudi 8 août 2013 17:10:26 Benoît HERVIER a écrit :
>> Hi,
>>
>> I'm trying to use SearchField to have a .... suspense ... a search
>> field for my list view.
>> So i try to filter in realtime ... and i notice that SearchField lose
>> focus
>>
>> Basically, i do a reset on the ListModel and append data
>>
>> This could come from the use i made from SearchField, so here a snippet
>> of the code :
>>
>>      SilicaListView {
>>          id: notesView
>>          model: notesModel
>>          anchors.fill: parent
>>          header: Column {
>>              width: parent.width
>>              PageHeader {
>>                  title: "ownNotes"
>>              }
>>              SearchField {
>>                  id: searchField
>>                  placeholderText: "Search"
>>                  width: parent.width
>>                  onTextChanged: {
>>                      searchText = searchField.text;
>>                      notesModel.applyFilter(searchText)
>>                  }
>>
>>              }
>>          }
>>          section {
>>              property: 'category'
>>              delegate: SectionHeader {
>>                  text: section
>>              }
>>          }
>>
>> Any advices ?
>
> I have the same issue. The searchfield got unfocused each time data is added
>
> in a list view. That's not conveinent for an autocomplete field ...
>
> No advices though, I'm trying to see what's wrong.
> _______________________________________________
> SailfishOS.org Devel mailing list
>
_______________________________________________
SailfishOS.org Devel mailing list
    
    
More information about the Devel
mailing list