Bug 429981 - Annotation Mode Should Have Visible Undo/Redo Buttons
Summary: Annotation Mode Should Have Visible Undo/Redo Buttons
Status: RESOLVED FIXED
Alias: None
Product: Spectacle
Classification: Applications
Component: General (show other bugs)
Version: 20.11.80
Platform: Arch Linux Linux
: NOR wishlist
Target Milestone: ---
Assignee: Antonio Prcela
URL:
Keywords: usability
Depends on:
Blocks:
 
Reported: 2020-12-03 17:25 UTC by Alberto Díaz López
Modified: 2021-12-06 03:51 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: Spectacle 22.04 with kImageAnnotator 0.6.0


Attachments
example of a possible solution (110.97 KB, image/png)
2021-11-15 22:30 UTC, Antonio Prcela
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alberto Díaz López 2020-12-03 17:25:44 UTC
SUMMARY
Spectacle 20.12 introduces an annotate mode, long desired (in my case, at least, one of the great features it has Flameshot when I tried it), but having Flameshot (again) as a reference, I really think it'd be fantastic and needed a button for undo and other for redo, because I only tested it a little, but it seemed a huge lack to me.

STEPS TO REPRODUCE
1. Launch Spectacle.
2. Change to annotate mode.
3. Do some annotations.

OBSERVED RESULT
If you mistake doing annotations, you can't undo.

EXPECTED RESULT
Spectacle should allow undo and redo. 

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 5.9.11/5.20.4
(available in About System)
KDE Plasma Version: 5.20.4
KDE Frameworks Version: 5.76
Qt Version: 5.15.2
Comment 1 Nate Graham 2020-12-03 19:36:02 UTC
The Ctrl+Z keyboard shortcut already exists and works, but I agree that a visible button would be helpful too.
Comment 2 Antonio Prcela 2021-11-15 22:30:59 UTC
Created attachment 143605 [details]
example of a possible solution

Would this be ok? Or see into kImageAnnotator to include undo and redo (another upstream change)?
Comment 3 Nate Graham 2021-11-15 22:47:00 UTC
Hmm, in retrospect this should probably be done upstream in KImageAnnotator. Ctrl+Z already works within it so clearly it already has all the logic. It just needs a button.

If that's total nonsense because KImageAnnotator was designed to expose its undo action externally so the surrounding app can implement it itself, ignore me and proceed with that design. :) But while we're at it, let's move the undo and redo buttons away from thew two existing buttons so people don't accidentally save or cancel their annotation when trying to click on an undo button. You always want to separate those kinds of buttons.
Comment 4 Antonio Prcela 2021-11-27 17:47:07 UTC
Working upstream on it:
https://github.com/ksnip/kImageAnnotator/pull/263

undo/redo, crop, scale and modify canvas :)
Comment 5 Bug Janitor Service 2021-12-01 12:46:11 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/spectacle/-/merge_requests/100
Comment 6 Antonio Prcela 2021-12-05 18:04:49 UTC
Git commit 49b48a9aba30ba0644b2709e571a185b807e38e6 by Antonio Prcela.
Committed on 03/12/2021 at 16:16.
Pushed by ngraham into branch 'master'.

Enable newly introduced controls within kImageAnnotator

Adds undo, redo, crop, scale, rotate and modify canvas buttons.

Requires kImageAnnotator 0.6.0
Related: bug 430465

M  +1    -1    CMakeLists.txt
M  +1    -0    src/Gui/KSWidget.cpp

https://invent.kde.org/graphics/spectacle/commit/49b48a9aba30ba0644b2709e571a185b807e38e6