SortFilterModel cannot sort by a numeric role
Bug #1495482 reported by
Olivier Tilloy
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-ui-toolkit (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I’d like to replace a custom model in webbrowser-app with SortFilterModel (my model does both sorting and filtering), but at the moment I can’t because SortFilterModel does its sort on string comparisons, and the role I want to compare on is an integer.
10 > 2, but "2" > "10".
Ideally, SortFilterModel would detect the type of the role, and apply the appropriate comparison, instead of casting everything to a string.
To post a comment you must log in.
This is invalid. For future reference, the situation is slightly more complex. I’m trying to do something like that:
SortFilterModel { rModel {
sort.property: "blah"
sort.order: Qt.DescendingOrder
model: CustomSortFilte
sourceModel: CustomListModel {}
}
}
where CustomListModel is a custom QAbstractListModel and CustomSortFilte rModel is a custom QSortFilterProx yModel that does sorting and filtering. When model gets set on the SortFilterModel, its sourceModel might not have been set yet, so querying the roleNames will return an empty QHash, and subsequent attempts to sort the model will fail because property "blah" couldn’t be matched to a role index.