Bug 392257 - Edit -> Undo/Redo items not correctly presented
Summary: Edit -> Undo/Redo items not correctly presented
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Usability (show other bugs)
Version: 4.0
Platform: Debian stable Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-24 09:30 UTC by Ahab Greybeard
Modified: 2018-04-07 13:44 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ahab Greybeard 2018-03-24 09:30:11 UTC
This minor 'cosmetic' problem exists in Krita 4.0.0 appimage but was also in 3.3.3.
It has no effect on functionality.

The Edit -> Undo menu statement (and Redo) have problems with stating what they will do.
This can be demonstrated as follows:

Start krita and make a New image. Paint two brushstrokes.

Edit menu shows the 'Undo' option, click this to undo the last brushstroke.
Edit menu will now show the 'Undo Freehand Brushstroke' option for the first brushstroke.
Click this to undo the first brushstroke.

The Undo option should have shown as 'Undo Freehand Brushstroke' on first use.

Do Edit -> Redo to redraw the first bushstroke, it just says 'Redo'.
Edit -> Redo option now shows as 'Redo Freehand Brushstroke'.
Click this to redo the second brushstroke.

The Redo option should have shown as 'Redo Freehand Brushstroke' after the first use of Undo.

Now Add a paint layer and draw two brush strokes on it. Undo is back to saying just 'Undo'.

Undo both brushstrokes and add another paint layer, then do two brushstrokes on it.

Undo now says 'Undo Add Layer' when it should say 'Undo Freehand Brushstroke".
However, clicking Undo will correctly undo the last brushstroke.

The Undo History docker is always accurate throughout this process and the Undo action is always to undo the last action performed.

It seems that the Undo menu option has problems keeping track of the required menu statement.
Redo also has problems with its menu statement but always performs the correct redo action.

The mitigation is to ignore what the Undo/Redo items say and just press them and rely on them working as they should.
Comment 1 Quiralta 2018-03-24 14:19:37 UTC
I can reproduce this on a git-master build.


Archlinux/Plasma system here.

Reference thread on the forums: https://forum.kde.org/viewtopic.php?f=139&t=151599&p=396488#p396488
Comment 2 wolthera 2018-03-25 13:48:09 UTC
This has been an issue for quite a long time(at the least since last year), but because noone else mentioned it I thought it was a problem with my build.

KDE Neon 16.04
Comment 3 Dmitry Kazakov 2018-04-03 12:30:09 UTC
Git commit 3fe8b33d693d918b6167cd006d2cbfd1afb7a237 by Dmitry Kazakov.
Committed on 03/04/2018 at 12:29.
Pushed by dkazakov into branch 'master'.

Fix updates of undo/redo actions

The patch just connect the correctly

M  +1    -1    libs/ui/CMakeLists.txt
M  +14   -7    libs/ui/KisMainWindow.cpp
A  +66   -0    libs/ui/KisUndoActionsUpdateManager.cpp     [License: GPL (v2+)]
A  +47   -0    libs/ui/KisUndoActionsUpdateManager.h     [License: GPL (v2+)]
D  +0    -56   libs/ui/KisUndoStackAction.cpp
D  +0    -45   libs/ui/KisUndoStackAction.h
M  +0    -17   libs/ui/KisView.cpp
M  +0    -3    libs/ui/KisView.h

https://commits.kde.org/krita/3fe8b33d693d918b6167cd006d2cbfd1afb7a237
Comment 4 Dmitry Kazakov 2018-04-07 13:44:50 UTC
Git commit e87e57f47440a8dc866f943d994c1f1fe6cc763a by Dmitry Kazakov.
Committed on 07/04/2018 at 13:28.
Pushed by dkazakov into branch 'krita/4.0'.

Fix updates of undo/redo actions

The patch just connect the correctly

M  +1    -1    libs/ui/CMakeLists.txt
M  +14   -7    libs/ui/KisMainWindow.cpp
A  +66   -0    libs/ui/KisUndoActionsUpdateManager.cpp     [License: GPL (v2+)]
A  +47   -0    libs/ui/KisUndoActionsUpdateManager.h     [License: GPL (v2+)]
D  +0    -56   libs/ui/KisUndoStackAction.cpp
D  +0    -45   libs/ui/KisUndoStackAction.h
M  +0    -17   libs/ui/KisView.cpp
M  +0    -3    libs/ui/KisView.h

https://commits.kde.org/krita/e87e57f47440a8dc866f943d994c1f1fe6cc763a