Hi folks,
Here's a quick status update on the listview.
Currently, the listview goes through a major cleanup. It is required -- the file is huge (over 10000 lines when I started, now it's 9200 with more features!), and has accumulated a lot of cruft over the last few years. This is very normal for such a complex control as listview, and we need to prep the code to add more features.
At the same time, I go over the code, review it for correctness, fix bugs, and implement the missing functionality. While it may look I do mostly code reorganizations, this is not the case: a lot of corner bugs have been fixed, functionality has been enhanced, code has been cleaned up, and simplified. Due to the cleaner code base, we are in a better position to fix problem, and add features.
The downside of all this is that (1) old bugs, and missing functionality is exposed, (2) new bugs are introduced. On top of it all, two major efforts were happening simultaneously: Guy's ICON mode work, and mine. Guy did a wonderful job at fixing some of the issues in ICON mode, unfortunately my changes interacted with his in a nasty way.
So we have some problems. I am aware of some of them, and I'm working to fix them. But it will take some time, as I trying to fix a problem, I see some cleanup that needs doing _before_ I work on the bug itself.
Currently, I am aware of the following problems: -- selection (clicking on items sometimes does not select them) -- drawing (focus, background, etc.) -- calculating item rectangles
If you are experience problems with the listview, I'd like to hear from you. If you want to help, some test cases will help quite a bit.