https://bugs.kde.org/show_bug.cgi?id=500868

Akseli Lahtinen <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/plasma-desktop/-/commit/
                   |                            |17cbe05c2d488ff4b8f1d759eed
                   |                            |1037f4b97fcd9
             Status|CONFIRMED                   |RESOLVED
         Resolution|---                         |FIXED

--- Comment #6 from Akseli Lahtinen <[email protected]> ---
Git commit 17cbe05c2d488ff4b8f1d759eed1037f4b97fcd9 by Akseli Lahtinen, on
behalf of Błażej Szczygieł.
Committed on 06/11/2025 at 08:17.
Pushed by akselmo into branch 'master'.

Folder: Fix icon positioning on screen/available geometry changes

- revert "FolderView: Update perStripe on relativeScreenRect changes":
"availableRelativeScreenRectChanged" signal is emitted too early, we're
updating "perStripe" with old GridView geometry. It causes often wrong
icon positioning on panel resize and monitor disconnection (including PC
suspend/resume). GridView automatically updates "perStripe" when it
changes its geometry, so it's not needed.

- don't update "perStripe" when moving item - it breaks property binding

- remove on Positioner completed - we'll handle it in C++ code from
other property bindings.

- fix icon positioning - geometry changes are handled automatically by
GridView reisze event. It calls "setPerStripe()" automatically by QML
property binding. Let's handle everything in "setPerStripe()" method:
update resolution and update "m_perStripe" only there, otherwise we'll
be out of sync.

- preserve existing icon positions on resolution change. Do it only if
we have a non-existent resolution - divide by previous "perStripe" value
calculating grid positions.

- restore positions from last used resolution - restore positions from
last used resolution if we start plasmashell with non-existent
resolution. It preserves icon positions when we start with e.g.
a different monitor.
Related: bug 508408

M  +0    -20   containments/desktop/package/contents/ui/FolderView.qml
M  +9    -8    containments/desktop/plugins/folder/autotests/positionertest.cpp
M  +1    -1    containments/desktop/plugins/folder/autotests/positionertest.h
M  +12   -2    containments/desktop/plugins/folder/foldermodel.cpp
M  +7    -2    containments/desktop/plugins/folder/foldermodel.h
M  +62   -55   containments/desktop/plugins/folder/positioner.cpp
M  +3    -9    containments/desktop/plugins/folder/positioner.h

https://invent.kde.org/plasma/plasma-desktop/-/commit/17cbe05c2d488ff4b8f1d759eed1037f4b97fcd9

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to