Bug 405409

Summary: Layout guides
Product: [Applications] umbrello Reporter: Alexander Wilms <f.alexander.wilms>
Component: generalAssignee: Umbrello Development Group <umbrello-devel>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: 2.27.2 (KDE Applications 18.12.2)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 25.11.90
Sentry Crash Report:
Attachments: Guides in the UML tool Gaphor

Description Alexander Wilms 2019-03-12 22:06:45 UTC
Created attachment 118760 [details]
Guides in the UML tool Gaphor

SUMMARY
It would be nice to have guides, that show whether elements are aligned and to which dragged elements 'snap', i.e. the dragged element stays perfectly aligned when it gets dragged to a position which roughly aligns with another element. Another open source UML tool which implements this is Gaphor: https://flathub.org/apps/details/org.gaphor.Gaphor

STEPS TO REPRODUCE
1. Draw a diagram with many elements
2. Try to perfectly align all elements

OBSERVED RESULT
This is quite hard

EXPECTED RESULT
It should be easy

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

ADDITIONAL INFORMATION
Comment 1 Bug Janitor Service 2025-11-17 22:19:40 UTC
A possibly relevant merge request was started @ https://invent.kde.org/sdk/umbrello/-/merge_requests/79
Comment 2 Alexander Wilms 2025-11-18 21:34:19 UTC
Git commit 9d31825ca2bdcd047a5bffbbbcb44ded69cb6b9f by Alexander Wilms.
Committed on 18/11/2025 at 19:27.
Pushed by habacker into branch 'master'.

Add alignment guides with zoom-independent snapping
Signed-off-by: Alexander Wilms <f.alexander.wilms@gmail.com>

M  +1    -0    umbrello/CMakeLists.txt
M  +6    -0    umbrello/dialogs/pages/uioptionspage.cpp
M  +1    -0    umbrello/dialogs/pages/uioptionspage.h
M  +6    -0    umbrello/optionstate.cpp
M  +3    -1    umbrello/optionstate.h
M  +5    -1    umbrello/umbrello.kcfg
M  +52   -0    umbrello/umlscene.cpp
M  +5    -0    umbrello/umlscene.h
A  +417  -0    umbrello/umlwidgets/alignmentguide.cpp     [License: GPL(v2.0+)]
A  +167  -0    umbrello/umlwidgets/alignmentguide.h     [License: GPL(v2.0+)]
M  +28   -1    umbrello/umlwidgets/umlwidget.cpp

https://invent.kde.org/sdk/umbrello/-/commit/9d31825ca2bdcd047a5bffbbbcb44ded69cb6b9f
Comment 3 Ralf Habacker 2025-11-18 22:24:20 UTC
Git commit d151fd4ca5f09ff82b168fd1a4f91a488f2ccff2 by Ralf Habacker, on behalf of Alexander Wilms.
Committed on 18/11/2025 at 22:23.
Pushed by habacker into branch 'release/25.12'.

Add alignment guides with zoom-independent snapping
FIXED-IN:25.11.90
Signed-off-by: Alexander Wilms <f.alexander.wilms@gmail.com>
(cherry picked from commit 9d31825ca2bdcd047a5bffbbbcb44ded69cb6b9f)

M  +1    -0    umbrello/CMakeLists.txt
M  +6    -0    umbrello/dialogs/pages/uioptionspage.cpp
M  +1    -0    umbrello/dialogs/pages/uioptionspage.h
M  +6    -0    umbrello/optionstate.cpp
M  +3    -1    umbrello/optionstate.h
M  +5    -1    umbrello/umbrello.kcfg
M  +52   -0    umbrello/umlscene.cpp
M  +5    -0    umbrello/umlscene.h
A  +417  -0    umbrello/umlwidgets/alignmentguide.cpp     [License: GPL(v2.0+)]
A  +167  -0    umbrello/umlwidgets/alignmentguide.h     [License: GPL(v2.0+)]
M  +28   -1    umbrello/umlwidgets/umlwidget.cpp

https://invent.kde.org/sdk/umbrello/-/commit/d151fd4ca5f09ff82b168fd1a4f91a488f2ccff2