Bug 401232

Summary: Launcher order gets out of sync when global layout is edited in another dock
Product: [Unmaintained] lattedock Reporter: cnelson
Component: plasmoidAssignee: Michail Vourlakos <mvourlakos>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: 0.8.2   
Target Milestone: ---   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 0.8.3
Sentry Crash Report:
Attachments: In the included screenshots I moved the file manager over one from its current position, which gets reverted on the other dock in the second screenshot
Whoops, this is the image I meant to upload

Description cnelson 2018-11-20 05:50:01 UTC
Created attachment 116419 [details]
In the included screenshots I moved the file manager over one from its current position, which gets reverted on the other dock in the second screenshot

SUMMARY
If there are two docks using global launchers and a user tries to reorganize the launchers in the first dock, the second dock will reorganize as well but immediately reverts the second dock's launcher to its previous position. This causes the icons to be out of sync between the two docks until latte dock is restarted.

STEPS TO REPRODUCE
1. Have two docks both using the global launchers
2. Pin an application to one dock (this should be reflected on the other dock)
3. Change the order of the launchers on one dock (this should be reflected on the other dock)
4. Launch the application from the dock

OBSERVED RESULT

The icon on the second dock will revert to its previous position, but the icon on the first dock will stay in its reordered place. Now the icons will be out of sync between the two docks until restart.


SOFTWARE/OS VERSIONS
Windows: 
MacOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 cnelson 2018-11-20 05:52:48 UTC
Created attachment 116420 [details]
Whoops, this is the image I meant to upload

Example of icons getting out of sync (dolphin file manager icon)
Comment 2 Michail Vourlakos 2018-11-20 08:17:43 UTC
In my system it can happen but not always, The dragging and syncing mechanism would love improvements but it is above my capabilities...

Feel free to contribute...
Comment 3 Michail Vourlakos 2018-11-21 18:58:37 UTC
Git commit 6c58115f9b26a98bc81ae4c273b0330587c9900d by Michail Vourlakos.
Committed on 21/11/2018 at 18:57.
Pushed by mvourlakos into branch 'master'.

add launchers validator for syncing launchers

--moving a task now is not synced immediately to
other docks. Syncing takes place only in the end.
The dock in which the user changed the launchers
order sends a signal to other docks to update
theirs launchers order.

M  +36   -0    app/launcherssignals.cpp
M  +2    -0    app/launcherssignals.h
M  +3    -2    plasmoid/package/contents/ui/MouseHandler.qml
M  +202  -4    plasmoid/package/contents/ui/main.qml
M  +2    -13   plasmoid/package/contents/ui/task/TaskDelegate.qml
M  +21   -1    plasmoid/package/contents/ui/task/TaskWindows.qml
M  +1    -1    plasmoid/package/contents/ui/task/animations/TaskRealRemovalAnimation.qml
M  +2    -2    plasmoid/package/contents/ui/task/animations/TaskShowWindowAnimation.qml

https://commits.kde.org/latte-dock/6c58115f9b26a98bc81ae4c273b0330587c9900d
Comment 4 Michail Vourlakos 2018-11-21 19:03:06 UTC
Git commit 7264b658bc1e56f04263b72641c9270d567403e3 by Michail Vourlakos.
Committed on 21/11/2018 at 19:02.
Pushed by mvourlakos into branch 'v0.8'.

add launchers validator for syncing launchers

--moving a task now is not synced immediately to
other docks. Syncing takes place only in the end.
The dock in which the user changed the launchers
order sends a signal to other docks to update
theirs launchers order.
FIXED-IN: 0.8.3

M  +36   -0    app/launcherssignals.cpp
M  +2    -0    app/launcherssignals.h
M  +3    -2    plasmoid/package/contents/ui/MouseHandler.qml
M  +202  -4    plasmoid/package/contents/ui/main.qml
M  +2    -13   plasmoid/package/contents/ui/task/TaskDelegate.qml
M  +21   -1    plasmoid/package/contents/ui/task/TaskWindows.qml
M  +1    -1    plasmoid/package/contents/ui/task/animations/TaskRealRemovalAnimation.qml
M  +2    -2    plasmoid/package/contents/ui/task/animations/TaskShowWindowAnimation.qml

https://commits.kde.org/latte-dock/7264b658bc1e56f04263b72641c9270d567403e3