Review Request #122861 - Created March 8, 2015 and submitted
|Kai Uwe Broulik|
This micro-optimizes the LayoutManager by:
- using Array and Object literals rather than new Object/Array, and also creating the whole structure at once if applicable
- Store end values in for loops rather than calculating them on each iteration
- Adjust coding style here and there
Moving applets (especially using Eike's press-and-hold when using it on a touchscreen :P) feels snappier, doesn't print any new warnings on console and seems to work as before. However, I can no longer cause plasmashell to go berserk when moving a small applet ontop of a huge one (eg. small sticky note on wide fuzzy clock) where it desperately tries to find a place and fails.
I think the grid size should be based on units somehow, having a 24x24 grid on a high dpi screen also benefits the aforementioned behavior.
One surprising discovery I made is that using Qt.point instead of a handcrafted JS Object is one order of magnitude(!) slower.
Looks good to me. It would be good if Eike could also have a look since he's refactoring this code right now, and his refactoring might benefit from the same changes, if not avoid conflicts.
One stylistic remark (spread over three lines) inline.
Looks good. I agree with making the cell size DPI-derived, and I was also planning to drop using "iconSize" as the name for it because it's rather confusing in the now-combined Desktop/FolderView codebase.