Review Request 122227: KRecursiveFilterProxyModel: many many more unittests, and fixing what they found.

David Faure faure at kde.org
Mon Jan 26 08:16:22 GMT 2015


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

(Updated Jan. 26, 2015, 8:16 a.m.)


Status
------

This change has been marked as submitted.


Review request for kdelibs and Christian Mollekopf.


Repository: kdelibs


Description
-------

1) setData(false), i.e. a dataChanged that removes and item from the filter,
didn't actually lead to removal. The code was only looking at changing to
get in, not changing to get out.

2) On insertion, we can avoid emitting dataChanged up the chain, by
finding out before the insertion which exact ancestor will be changed
(lastHiddenAscendantForInsert).

3) On removal, well simplify the code (completeRemove was always true, unless
ignoreRemove was set, so we only need to keep ignoreRemove), and avoid
emitting dataChanged up the chain, by finding out which the last parent
before one that should still be visible, and hide just that one.

4) While at it, an obvious optimization that could have been done
since day one: filterAcceptsRow can return true as soon as a child wants
to be shown.


Diffs
-----

  kdeui/itemviews/krecursivefilterproxymodel.cpp efa286ad87ded962b20c8a581b659d1b154ebf3a 
  kdeui/tests/krecursivefilterproxymodeltest.cpp 3bcb72980730cb22f887ae8fa5fbd91b5609aeb6 

Diff: https://git.reviewboard.kde.org/r/122227/diff/


Testing
-------

Unittest, obviously.
+ KMail smoke testing.


Thanks,

David Faure

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


More information about the kde-core-devel mailing list