it was technically possible for geometries to not be integer, but
a string to int parse was done, so teoretically string.toInt() can
fail and reset position/size of the plasmoid.
It may be the cause of some of the positions lost bugs.
This was particularly evident and triggerable in plasma mobile.
on palsma mobile side was also fixed by making suire the grid size is
always int, however technically the bug is here too as well
when items are moved around due to screen resolution change,
no cell should be considered as taken, because all items will be moved,
otherwise items will be moved and resized in unexpected ways to make
room for "ghost" items.
Clear the bookkeeping before doing the move
BUG:413019
When asking for a specific layout direction, try very hard at all the
cells that are available in that given direction instead of always
start to compute at a new row and wrong column
Summary:
This QML plugin offers a reusable, C++ based framework to manage layout
of items (mainly plasmoids but other stuff too) inside Plasma Containments
This will replace the Javascript based plasmoid layout manager inside the
FolderView and Desktop containments (is planned also forPlasma mobile homescreen)
This makes folderview code simpler and layouting more reliable.
Relayouting behavior after screen resolution change improved too, making easier to
keep a similar looking layout
Test Plan:
Tested on FolderView, a minimal containment using it may be shipped on the store
if we don't feel to ship the folderview port immediately
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22034