Review Request 122252: KRecursiveFilterProxyModel: fix emitting superfluous dataChanged signals

David Faure faure at kde.org
Sun Feb 26 13:56:41 GMT 2017



> On Feb. 26, 2017, 12:05 a.m., Albert Astals Cid wrote:
> > No progress here in 2 years and kdelibs is in very-life-support, should it be discarded?

The same patch would apply to KF5, the problem isn't kdelibs specific.

The new plan is to have this as part of Qt (https://codereview.qt-project.org/151000) then port kdepim to it, and then we'll have to retest the regression that Christian reported here. If you want we can close the RR, we just need to keep in mind to retest this scenario with the new code...


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/122252/#review102624
-----------------------------------------------------------


On Jan. 25, 2015, 6:51 p.m., David Faure wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/122252/
> -----------------------------------------------------------
> 
> (Updated Jan. 25, 2015, 6:51 p.m.)
> 
> 
> Review request for kdelibs and Christian Mollekopf.
> 
> 
> Repository: kdelibs
> 
> 
> Description
> -------
> 
> by using an internal cache of the filtering state.
> 
> The tricky part is that filterAcceptsRow() must not use the cache
> (too bad, it would be faster), because of the setFilterFixedString()
> feature which can change the filtering status of indexes without
> KRFPM even being informed (QSFPM has no virtual method, no event...)
> So it only ever writes to the cache, but when dataChanged()
> or row insertion/removal comes in, we can look into the cache
> to find the old state and compare.
> 
> 
> Diffs
> -----
> 
>   kdeui/itemviews/krecursivefilterproxymodel.h c16b62186fb9203ff297bd9fd28d9c13a1c8bdc4 
>   kdeui/itemviews/krecursivefilterproxymodel.cpp efa286ad87ded962b20c8a581b659d1b154ebf3a 
>   kdeui/tests/krecursivefilterproxymodeltest.cpp 3bcb72980730cb22f887ae8fa5fbd91b5609aeb6 
> 
> Diff: https://git.reviewboard.kde.org/r/122252/diff/
> 
> 
> Testing
> -------
> 
> Unit tests.
> 
> Using kmail (and especially testing the substring filtering in the "move dialog", which an earlier version of this patch broke).
> Looking at the number of calls to Akonadi::FavoriteCollectionsModel::Private::reload() for a single dataChanged() signal from the ETM, which went from 10 to 4 (still too many, but the remaining problem is elsewhere).
> 
> 
> Thanks,
> 
> David Faure
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20170226/d3ad9637/attachment.htm>


More information about the kde-core-devel mailing list