Bug 441761

Summary: Dockers can not be attached when onion skin docker is enabled as part of the animation timeline docker.
Product: [Applications] krita Reporter: Edward Mowah <edwardmowah>
Component: DockersAssignee: sh_zam <shzam>
Status: RESOLVED UPSTREAM    
Severity: normal CC: eoinoneill1991, halla, shzam
Priority: NOR    
Version First Reported In: 5.0.0-beta1   
Target Milestone: ---   
Platform: Android   
OS: Android 11.x   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Screen recording of the issue described.

Description Edward Mowah 2021-08-30 13:12:27 UTC
Created attachment 141153 [details]
Screen recording of the issue described.

SUMMARY
When the onion skin docker is enabled by clicking the onion skin icon on the animation timeline docker, other dockers including the toolbars can not be attached.

If the onion skin docker is pulled from the animation timeline docker, other dockers can be attached.

If the onion skin docker is attached to the animation timeline docker the same way other dockers would, other dockers can be attached.

Onion skin docker can not be reattached back in to its original position without reloading the workspace.

STEPS TO REPRODUCE
1. Enable Onion skin by clicking the onion skin icon on the animation timeline.
2. Attempt to attach any docker to another docker. It won't attach
3. Pull the onion skin docker from the animation timeline.
4. Other dockers can now be attached.
5. Attach the onion skin docker to the animation timeline the way another docker would be attached - other dockers can be attached.

Onion skin docker can not be attached back to its original position as it was when the icon was used to enable it.

OBSERVED RESULT
When onion skin docker is enabled as part of the animation timeline, other dockers can not be attached.

EXPECTED RESULT
Other dockers should be able to be attached while onion skin is enabled.

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

ADDITIONAL INFORMATION

Attached a screen recording demonstrating the issue.
Comment 1 Halla Rempt 2021-08-30 13:15:35 UTC
Works here, so that might be android specifc...
Comment 2 Bug Janitor Service 2021-09-08 10:55:51 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1042
Comment 3 Halla Rempt 2021-09-09 09:43:17 UTC
Git commit a6d750785207aacc5bbe493c9351e6ab50b66339 by Halla Rempt, on behalf of Sharaf Zaman.
Committed on 09/09/2021 at 09:42.
Pushed by rempt into branch 'master'.

Bugfix: Dockers cannot be attached when mainwindow is small

This is a workaround for the bug with docking system. When the onion
skins docker is enabled, the curves docker is shrunk below its minimum
size making it impossible for other dockers to attach. This seems to be
caused by the title bar of the docker not shrinking beyond the
minimumSizeHint().

M  +5    -0    libs/ui/widgets/kis_utility_title_bar.cpp
M  +2    -1    libs/ui/widgets/kis_utility_title_bar.h

https://invent.kde.org/graphics/krita/commit/a6d750785207aacc5bbe493c9351e6ab50b66339
Comment 4 sh_zam 2021-09-21 12:50:11 UTC
Git commit 3388a06fecd6d8e4084cb62c7cb274da5b52da15 by Sharaf Zaman.
Committed on 21/09/2021 at 12:16.
Pushed by szaman into branch 'master'.

Revert "Bugfix: Dockers cannot be attached when mainwindow is small"

This reverts commit a6d750785207aacc5bbe493c9351e6ab50b66339.
Related: bug 442397

M  +0    -5    libs/ui/widgets/kis_utility_title_bar.cpp
M  +1    -2    libs/ui/widgets/kis_utility_title_bar.h

https://invent.kde.org/graphics/krita/commit/3388a06fecd6d8e4084cb62c7cb274da5b52da15
Comment 5 Eoin O'Neill 2021-09-21 20:20:38 UTC
Discussion of this bug continued on bug 442397 that was opened due to a regression. Basically, to be brief, we might need to solve this a different way in the future.
Comment 6 sh_zam 2021-09-22 15:53:49 UTC
(In reply to Eoin O'Neill from comment #7 from Bug
>
> Lastly, if it's really the width, I could try to look into making the
> animation dockers slightly more flexible in future versions for the limited
> width of android screens. What type of resolution / dpi scaling seems common
> with android devices? 

The resolution after DPI scaling is done, seems to be around 1280x800 on my tablet and around something similar on my Chromebook.

But, the problem isn't unique to Android. I am able to reproduce this on Linux too, if the size of the MainWindow is minimized to fit Animation Curves docker first and then Onion Skins docker is enabled.

> Worst case scenario, we could always try to resolve the problem
> upstream with QT.

Unfortunately, I did spend sometime in the QDockWidget et al., the experience wasn't exactly what you'd call "pleasant". And because we may move to KDockWidgets, this may be redundant, I think.
Comment 7 Halla Rempt 2022-09-20 10:01:50 UTC
Let's definitely not hack on QDockWidget.