[SailfishDevel] SearchField and focus
Lucien XU
sfietkonstantin at free.fr
Fri Aug 9 10:29:11 UTC 2013
Hello !
It works here on Weatherfish. Thanks ! However, it might worth it to mention
it in official docs, since it might happen often.
Cheers,
Lucien
Le vendredi 9 août 2013 12:11:35 Benoît HERVIER a écrit :
> Hello,
>
> Indeed.
>
> Thanks a lot for the explanation.
>
> Regards,
>
> Le 2013-08-09 03:12, Bea Lam a écrit :
> > 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
> > _______________________________________________
> > SailfishOS.org Devel mailing list
More information about the Devel
mailing list