Bug 475928

Summary: "Redo" and "Undo" are ALWAYS enabled
Product: [Applications] krita Reporter: Rafael Linux User <rafael.linux.user>
Component: UsabilityAssignee: Krita Bugs <krita-bugs-null>
Status: CONFIRMED ---    
Severity: wishlist CC: dimula73, halla, rafael.linux.user
Priority: NOR    
Version First Reported In: 5.2.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Rafael Linux User 2023-10-21 15:29:12 UTC
SUMMARY
Usually, user available functions like "Redo" and "Undo" (Ctrl+Mysc+Z, Ctrl+Z) are only usable if there is a user operation to "Redo" (after undoing it) or to "Undo" after doing a operation. However, Krita show both functions enabled always, even if no user operation to undo/redo.


STEPS TO REPRODUCE
1. Open a existing or new image
2. Click on "Edit"

OBSERVED RESULT
There are a lot of other functions showed as enabled to use (as "Cut", "Copy" when there are nothing selected or even no image opened at all). I think this is a general user interface incorrect behaviour.

EXPECTED RESULT
To  not displaying as available functions that are not available under certain circumstances

MORE INFO
Maybe is related to same related but in other KDE applicatons
https://bugs.kde.org/show_bug.cgi?id=4328
https://bugs.kde.org/show_bug.cgi?id=123631


SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20231016
KDE Plasma Version: 5.27.8
KDE Frameworks Version: 5.110.0
Qt Version: 5.15.11
Kernel Version: 6.5.6-1-default (64-bit)
Graphics Platform: Wayland
Processors: 24 × AMD Ryzen 9 3900X 12-Core Processor
Memory: 31.2 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Product Name: B550M Phantom Gaming 4
Comment 1 Halla Rempt 2024-10-31 11:15:59 UTC
I can confirm the issue. This was already the case in 4.0.0, the oldest version I have access to right now, so it is not a regression.
Comment 2 Dmitry Kazakov 2024-11-08 09:56:24 UTC
Hi, Rafael!

In Krita we have a lot of asynchronous actions. And undo can interact with that. That is, when you press Ctrl+Z while the stroke is running, it will be an equivalent of pressing the Esc key and cancelling the stroke. That is why we never disable the actions. Ctrl+Z is also used inside some tools (e.g. Transform Tool), which are not a part of the global undo system.

Theoretically, we could write a system where Krita would automatically enable/disable these actions when a stroke is started. But it would be quite a huge project, which could also cause stability regression.

I will downgrade this bug to a "wishlist" and we shall look at it while planning some bigger projects

WISHGROUP: Larger Usability Fixes