D25326: Move Plasma's SortFilterProxyModel into KItemModel's QML plugin

Arjen Hiemstra noreply at phabricator.kde.org
Wed Jan 29 11:40:25 GMT 2020


ahiemstra added inline comments.

INLINE COMMENTS

> kmaterka wrote in ksortfilterproxymodel_qml.cpp:111
> Can you add a test for sortColumn? It might be useful for newcomers (like me) to understand how it works. I had real trouble understanding when it is needed and when not (ConfigEntries.qml <https://phabricator.kde.org/source/plasma-workspace/browse/master/applets/systemtray/package/contents/ui/ConfigEntries.qml;v5.17.90$83>)

I don't think a unit test is the right place for example code. It's probably better to either improve the documentation of the property or add an example somewhere where it makes sense.

> kmaterka wrote in ksortfilterproxymodel.cpp:165
> When using PlasmaCore.SortFilterModel sortColumn is sometimes set to -1 and sorting is not working when `sortColumn` is not set. If I remember correctly, -1 is the default in QSortFilterProxyModel. Is `std::max(sortColumn(), 0)` added to fix that? What will happen in this situation:
> 
>   KSortFilterProxyModel {
>     sourceModel: testModel
>     sortColumn: -1
>     sortRole: "user"
>   }
> 
> Maybe is should be documented in `sortRole` and `sortOrder` properties that these two set sortColumn to 0 (or -1 in case of empty role)?

In that example, you'd be sorting on the "user" role of column 0, which seems like a reasonable default to me. I would actually suggest to make sortColumn always at least 0, I don't think there really is much of a use case for -1 as default.

> kmaterka wrote in ksortfilterproxymodel.h:67
> can we have something similar for sorting? `sortColumnCallback` and use it in overridden `lessThan`?

Let's keep this a bit constrained, if we add a stub implementation of `lessThan()`, we can later on add a property to expose a JS callback for it somehow.

REPOSITORY
  R275 KItemModels

REVISION DETAIL
  https://phabricator.kde.org/D25326

To: davidedmundson
Cc: kmaterka, iasensio, ahmadsamir, broulik, ahiemstra, mart, kde-frameworks-devel, LeGast00n, GB_2, michaelh, ngraham, bruns
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20200129/c9824f75/attachment.html>


More information about the Kde-frameworks-devel mailing list