I have a ListView with his model coming from a U1db.Query The reading and saving operations from/to U1db works, but i need to update the ListView model when a new item is inserted in the database to diplay the last content inserted (ie: i need to excute the same query). I have also tried with ListView and UbuntuListView` but i can't solve this issue. When i 'pull' the List to refresh it i get the error:
Property 'update' of object U1db::Query(0xe097e0) is not a function
I have looked at the sdk doc but i haven't found any useful examples. Thanks for any suggestions !
Here the snippet (i have omitted some detils):
import QtQuick 2.2
import Ubuntu.Components 1.3
import Ubuntu.Components.Popups 1.3
import Ubuntu.Components.ListItems 1.3 as ListItem //test
import U1db 1.0 as U1db
//the delegate component used by the ListView
Component {
id: peopleListDelegate
Item {
id: personItem
//draw a rectangle aroun the content to display
Rectangle {
//content omitted
}
// This mouse region covers the entire delegate
MouseArea {
//content omitted
}
Row {
id: topLayout
//display some content to be shown inside the Rectangle
}
}
}
//the listView that show the DB Query result
ListView {
id: listView
anchors.fill: parent
model : allPeopleQuery
delegate: peopleListDelegate
highlight: highlightComponent
focus: true
Component{
id: listHeader
Item {
width: parent.width
height: units.gu(10)
Text{
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
text: i18n.tr("<b> Total people found: </b>") + listView.count
}
}
}
header: listHeader
PullToRefresh {
refreshing: listView.model.status === ListModel.Loading
onRefresh: listView.model.update() // HERE THE PROBLEM, (also using reload() doesn't work)
}
}
U1db.Database {
id: mypeopleDb
.....
}
U1db.Index{
database: mypeopleDb
id: all_field_index
expression: .......
}
U1db.Query {
id: allPeopleQuery
index: all_field_index
query: ["*", "*"]
}